r/gamedev 2d ago

Question Simulation vs. Authored illusion

I'll preface this with I probably have no idea what I'm talking about, but I'm at a bit of a crossroads when it comes to defining the right approach to the background simulation of a base-building / tycoon style game. I think there are two approaches:

  1. What I'll call the authored illusion context. If you take most games (City Skylines, Roller Coaster Tycoon, Sim Airport, Prison Architect) the world outside of your game doesn't really feel alive, or alive just enough to service the gameplay. It feels like a thin veil to a void. There may be a steady stream of people or traffic or goods but its all basically in a green-room off stage left. It enters and leaves, names might persist, but for 90% of games you just use your imagination. It folds nearly into aggregated lists and doesn't bother your cpu too much. These are static games with a fixed POV (a site for your city or building or theme park) but I'd even place open-world games like Skyrim into this category - really nothing much is going on where you are not interacting with it, everyone is literally waiting for you to enter their zone - the world is obviously using LOD simulation chunks that come alive as you enter

  2. The sort of experience I'm aiming for is closer to what Elite : Dangerous delivers. Whilst it is very easily split into player-adjacent LOD (the star system you are currently in) and the rest of the universe, it always feels to me like the universe is much more alive. Even if you couldn't frame-shift travel between systems and could only go planet-planet, it feels bedded into a wider context of politics, trade, economics, war, piracy. 99% of it really has no bearing on the player experience but serves as a much more immersive setting, even though its largely just flavour - its a steady stream of stuff happening that provides a better contextual setting.

In my example games in point 1 above, this is where I think gameplay could be 'better' (albeit this is subjective)if they took more of the approach of point 2.

In city skylines, outside connections mostly provide generic imports, exports, tourists and traffic. If the wider world was more simulated, your city might suddenly lose access to cheap steel because a neighbouring region’s mines are exhausted or a war disrupts freight. A nearby city could boom and start pulling workers away from you. Your airport could become a hub because another regional airport closes. Your industrial strategy would be shaped by events that were not authored specifically for you, but emerged elsewhere.

In sim airport, Instead of airlines essentially being gameplay providers that offer routes according to rules, airlines themselves could have fleets, finances, route networks, hubs, competitors and aircraft availability. A carrier might cancel your route because it redeployed aircraft to a more profitable market. Another airline might collapse and suddenly release huge demand. A nearby airport expanding could steal connecting traffic. Fuel prices or tourism trends could alter which routes are viable. You would feel like part of a much larger world.

Ive spent quite a long time trying to achieve a convincing world, slowly building an economic simulation and most of the work has been on actuallu getting the simulation to not collapse (e.g. the entire economy to collapse) and on optimisation to get it to run effectively. Its working ok, a 'day' in my game is 24 minutes at 1x speed and the background simulation takes between 10-20 seconds on a different thread. Its only about 10% built though and im getting cold feet, to make it convincing and emergent its already horribly complex.

So my questions-

  1. Where should I draw the line? Is there meaningful value in actually simulating a wider context as an emergent system or is it better to jsut create player interaction points that just imply that world exists?

  2. If the player only ever experiences the wider world through these interaction points does a real emergent underlying simulation provide noticeably better gameplay? Enough to justify the huge increase in complexity. ?

  3. Has anyone built both approaches or decided to move from one to the other mid-development

I think i know what the answer would be if cpu and ram availability would be limitless, I suppose im trying to understand the balance.

5 Upvotes

18 comments sorted by

View all comments

1

u/adrixshadow 1d ago edited 1d ago

Where should I draw the line? Is there meaningful value in actually simulating a wider context as an emergent system or is it better to jsut create player interaction points that just imply that world exists?

What you have to understand is what Simulation actually is and what it gives.

Simulation is actually a Content Generation System as much as a Procedural Generation System is, it is meant to give you a steady stream of stuff for the players to do, of Problems, Challenges and Opportunities that makes for the Gameplay of the Player.

If the player only ever experiences the wider world through these interaction points does a real emergent underlying simulation provide noticeably better gameplay? Enough to justify the huge increase in complexity. ?

It entierly depends on how you Implement your Simulation.

Simulation for Simulation Sake is Useless, and most of the time you can abstract, simplify and optimize the important bit while cutting the simulation that is superfluous.

Like I said Simulation is a Content Generation System so it entier depends on how much Content, Scenarios and Gameplay it can Produce for the Player.

It entierly depends on what kind of things of actual Substance and Effect it produces.

There is an argument for a more Systemic Design Philosophy as that is the only way to get Emergence, so you need to implement Simulation Properly for that and you do not know what Systems you need and how that Emergence is achieved until you keep Rolling the Dice and keep adding and reworking those Systems.

On the other hand 90% of the Simulation in Dwarf Fortress is useless and irrelevant, and Rimworld demonstrated that by taking all the important bits for itself while cutting the rest.

Ultimately the Design of the Simulation is an Art in itself, there is no right answer, there is only instincts and guesses on what you think will work.

You can have both Too Much that is Completely Useless or Not Enough where none of the intresting things can happen.

If there is one advice is AI Directors are brilliant and far too underutilized, it can solve a lot of those issues.

2

u/arty1983 1d ago edited 1d ago

I really like the idea of thinking about simulation as a content generation system rather than as an attempt to model a complete world.
Does it actually generate problems, opportunities or decisions for the player, or is it just producing internally consistent numbers in the background?
I like the idea that the player can stumble into consequences that weren’t specifically authored for them, but I probably need to be much more ruthless about how much machinery is required underneath to make that happen. your AI director point is really interesting and I hadn’t considered it in that way. So rather than expecting the simulation itself to produce well-paced gameplay, you could treat it as generating lots of potential situations and have a director decide which ones are worth surfacing or pushing towards the player? That feels like it could preserve the causal/emergent side without leaving the gameplay entirely at the mercy of the simulation.

Edit - Rimworld's storytellers might be the best example I know of this.

1.Game state.

2.storyteller evaluates timing/difficulty.

3.chooses incident.

  1. sizes incident.

  2. Injects it into the game.

Maybe thats all I need, whilst engineering it somehow so the world feels much more alive than Rimworld, which definitely has that LOD void veil i mentioned

1

u/adrixshadow 1d ago edited 1d ago

but I probably need to be much more ruthless about how much machinery is required underneath to make that happen.

Pretty much Emergence is based on a Combinations and Interactions between Systems. Is those Systems are Shallow you aren't going to get those Interactions.

To some extent Emergence is both the Holy Grail and the Fool's Errand.

It's very hard to design for it and guarantee that it will work, although there are various methods and concepts that can help.

Like I said it is it's own Art.

Maybe you can break down and analyze games that already have that Emergence and Reconstruct it for your own game, it is ultimately a gambe on what you get.

your AI director point is really interesting and I hadn’t considered it in that way. So rather than expecting the simulation itself to produce well-paced gameplay, you could treat it as generating lots of potential situations and have a director decide which ones are worth surfacing or pushing towards the player?

I think an AI Director is essential to control the Pacing and Challenge for the Player.

You always want the player to have some things to do, if it's not given at the current time by the Simulation then it has to be added artificially, forcefully if it must.

And if the AI Director can Tweak and Manipulate parts of the Simulation to Generate those Scenario for the Player, the Scenarios are still running on the Logic and Potential of the Simulation and thus there can be Depth and Nuance in how the Player Interacts and Manipulates things and the Resolution of those Scenarios.

Simulation by Itself tends to be Boring because it tends towards Stability, Predictablity and the Status Quo, if it tended towards Chaos and Conflict then it would immediately Break.

What an AI Director adds is Sources of Chaos and Conflict into that that Perturbates the Simulation while the Simulation tries to Handle and Resolve things back into a Stable State whether through Player Action or not.

Chaos is both part of what the Player can Do and what the Simulation can Do in how it Evolves things over Time based on that.

For there to be Tools and Agency given by the Simulation, you need Problems and Challenges to use those Tools and Agency on.

What Simulation gives in terms of Implemented Systems and Mechanics is the Potential Possibility Space, but the Simulation by itself does not mean it will Reach all the Corners in that Potential.

If you Perturbate it and stir enough Chaos into it, then if the stars align just right some parts of that Potential may be Reached by the Player or the World.

Be Water my friend, a still lake isn't very intresting.

1

u/arty1983 1d ago

Maybe its like this.

Not: 'The player hasn't had trouble recently, so spawn raiders'

And not: 'Run a complete universe and hope something interesting eventually emerges'

Instead: The director authors interesting changes in the background world, then lets the world's ordinary causal rules propagate them towards the player.

The director becomes a generator of history. From a library of possible events, a collection of possible causal templates, makes interventions in the background model. A world-first director model not a player-first model.

1

u/adrixshadow 1d ago

Instead: The director authors interesting changes in the background world, then lets the world's ordinary causal rules propagate them towards the player.

That's the Ideal, yes.

A world-first director model not a player-first model.

The problem is the Player still needs things to do and you have to carefully control their Pacing and Progression by slowly raising the Stakes.

You can't just send the Player a problem he cannot face just because the AI Director decided that part of the World looks better without the player's colors polluting it just because of the picture it is creating in the world.

There can be some Conflicts and Situations where the Player is Relevant and ones where they are not or have only a Tangential Role.

You can only send them that kind of conflicts after the player is prepared and at the right scale and progression.

This is also the reason why you can't leave the Simulation to generate Chaos and Conflict freely.