Advertisement
Guest User

Untitled

a guest
Mar 29th, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.04 KB | None | 0 0
  1. # World Simulation
  2.  
  3. One of the goals of Veloren is to have interesting and complex world simulation. We don't have any illusions of grandeur - world simulation on the same level of Dwarf Fortress is unlikely - but we do want to create a world that fulfils the following criteria:
  4.  
  5. 1. Encourages the player to ask questions when encountering new things by providing answers to those questions.
  6.  
  7. World simulation should be internally consistent and driven by cause and effect. When a player encounters a perculiar feature of the world, deciding to investigate further should warrant actual answers rather than "because it just is like this". This means placing aspects of the world in a historical context such that the ripples of past events can be explored by the player. If the player comes across ruins, they should have a name, and an event in history that led to their abandonment. What happened at this place? Why did it happen? How has this had an impact on the surrounding settlements? All of these questions should have answers that can be discovered by interacting with NPCs or observing aspects of the world.
  8.  
  9. 2. Provides unexpected and unique situations.
  10.  
  11. Existing procedural games tend to suffer from two key problems. The first, a lack of depth, I have already mentioned. When there exists no depth to features of an environment it becomes meaningless to investigate them. Players don't feel like they have a stake in the world around them and don't bother trying to satisfy their curiosity. They become conditioned to accept that things 'just are' without question. The second problem is homogeneity. Random variations in existing content to not lead to meaningful gameplay and players quickly become accustomed to the scope of the variation that the game permits. By combining elements of variation in a way that interact with one-another, it's possible to create an environment that throws up a far greater number of combinations of mechanics than would otherwise be possible.
  12.  
  13. 3. Is dynamic and reacts to decisions made by the player in a way that feels meaningful.
  14.  
  15. Many procedural games suffer from either a lack of interactivity (No Man's Sky) or a lack of interactivity that produces a meaningful effect on the world (Minecraft). Players want to explore a world where there actions have far-reaching ramifications. To do this, the game world must be complex and inter-connected such that those effects may propagate through the world and interesting and unexpected ways. Changing the world should change the behaviour of agents within the game world. Too often we see wooden-headed NPCs that blissfully ignore the player's actions.
  16.  
  17. How do we achieve this? Sadly, there is no silver bullet. Procedural systems are difficult to get right, but I've come up with a few basic principles that I've found to be useful.
  18.  
  19. - To create content, don't create more variations of existing content. Instead, create new ways in which existing may interact. Minecraft often provides good examples of this: the addition of a single extra block to the game often has a multiplactive effect where players find thousands of ways in which it may interact with existing mechanics to create new things.
  20.  
  21. - Randomisation is not good procedural generation. In fact, the very opposite: games such as No Man's Sky suffer badly from this misnomer and it created environments without depth or meaning. Instead, variation should be a product of the interaction of a small number of existing elements. Just take a look at how Conway's Game of Life produces incredible emergent behaviour from an absurdly simple set of rules. Players should be able to reason about the circumstances that led up to a particular situation and use that information to change the way they play in the future. If your game is informed by randomisation, there is no common thread that players can use to reason about the game. Instead, they become a 'back-seat driver', beholden to the disorganised chaos of the random rules you've created.
  22.  
  23. - Create 'meta' rules. Games that stick to a strict set of rules tend to be rather dull. Instead of trying to spice things up by making the rules more complex (which just leads to confusion and frustration for players) it's better instead to come up with consistent rules about when other rules might change. You can build up a heirarchy of rules that is both simple to understand but permits a vast amount of variation.
  24.  
  25. With this in mind, I've begun work on simulating civilisations in Veloren. I've not got a huge amount to show yet, but I envisage something that looks like this:
  26.  
  27. - A world full of 'sites': these are places of interest in the world that may take on particular characteristics. Examples include villages, towns, ruins, farms, hideouts, towers, caves, dungeons, or magical places. The world simulation code will be aware of these sites and will influence them throughout the course of world generation and gameplay. Sites may get invaded, develop an economy, play host to various creates, or otherwise play a part in the world's story-telling.
  28.  
  29. - A dynamic simulated economy where prices are determined by regional supply and demand. This feature will permit a lot of gameplay, allowing players to become merchants and trade goods across the world. The economy should react to various economic stimuli, with prices rising and falling according to the availability of goods. If a dragon decides to lay siege to a town, demand for weapons should spike!
  30.  
  31. - Simulation of social and material conditions: Ethnic and political groups within the world should interact with one-another. Wars, battles, uprisings, plagues, and famines should occur and inform the behaviour of groups within the world.
  32.  
  33. To facilitate these things, I've made the decision to split world generation into 4 distinct stages, each of them adding more 'colour' to the world:
  34.  
  35. 1. World generation. We already have this stage: it takes place over the course of millennia simulating erosion, river formation, ecology, etc.
  36.  
  37. 2. Antiquity. This stage will involve the founding of civilisations and the simulation of basic economic relationships between them. This stage will take place over thousands of years.
  38.  
  39. 3. History. In this stage, we'll be creating and simulating actual characters in the world. Legends and myths will be created, significant figures will live and die, wars and battles will occur between settlements and civilisation. Diplomacy will be simulated too. This stage will take place over a number of generations and probably a few hundred years.
  40.  
  41. 4. In-game world simulation. This stage will occur throughout the duration of gameplay. It will be an extension of the third stage, with small details added that players can iteract with. Characters will persist and can be interacted with by players, changing their behaviour accordingly. Diplomacy will include events triggered by players and will permit a certain level of player interaction.
  42.  
  43. These stages will be run one after the other for each world. In theory, the results of each stage should be layered on top of one-another in a manner that produces a rich, interesting world with meaningful history.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement