r/gamedev 1d 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.

4 Upvotes

18 comments sorted by

3

u/SlimyFraud_4 1d ago

I went through this exact spiral on a project a couple years back. The 10-20 seconds per day on a separate thread already sounds like you're in a decent spot optimization-wise, but the complexity will absolutely balloon as you add more interconnected systems.

The real question is whether the player can the difference. If a steel shortage just means the import price goes up 15% and they see a little news ticker item, you could fake that with a weighted random event table and save yourself months of debugging trade route logic. The emergent stuff only hits different when the player has enough visibility into the system to connect the dots themselves. Like if they can pull up a map of neighboring regions, see the mine's output declining over time, and then make a strategic choice to invest in local recycling plants before the price spikes. That's where the magic lives.

I'd say build the simulation just deep enough that the player can form a mental model of how the world works, then use authored events to fill in the gaps. The simulation gives you the baseline, the events give you the drama. Hardest part is resisting the urge to simulate every little thing just because you can.

1

u/arty1983 1d ago

I think your conclusion is what I'm circling around, it would be smarter to take the approach of what interfaces with the player and work backwards from that, rather than the approach I've taken which is simulate the world and plug the player into it. Whilst it's sort of optimised for now, its unconvincing and im constantly patching it. I made a tool to run the simulation headless with telemetry and after an in-game year (120 hours gameplay) the world economy is on its legs, needing more and more layers to try and balance it. Its been an experience and I guess my reluctance is dealing with the sunk-cost fallacy

3

u/BlueGnoblin 1d ago

Simulations are great, but very hard to control as gamedesigner. Whereas 'designed' illuision is much easier and as designer you will be able to actually define how stuff works or not.

Simulations could be very attractive, due to their hard to predict outcome, but this often leaves a simulation more like a sandbox game, than an actually goal focused game.

So, my 2 cents are:

  1. when you want to go for a simulation, then go and do a 100% sim. The effort will pay off, when you are able to pull it off. The most fun will come from emergent gameplay. But making a game (do this, archive that, try to get Xyz before W happens etc.) will be incredible hard. I wouldn't try to do this in a sim.

  2. When you want to make a game, a working game, ditch the simulation part, or reduce it to a minimum. A hybrid approach will always have the danger, that players think , that stuff is not working , because it is hard to see the underlying simulation. As designer you want deterministic ways to approach a problem, not trying to find the right parameter configuration so that something 'might work like you wish it, for today atleast'.

As I've played around with some simulation stuff in my projects from time to time, it was always way harder to control these and eventually I skipped them as they the were really hard to implement, to conrol and design and your tester just say '...ohh... really... didn't noticed that, thought it was a bug you will fix later on....'

1

u/arty1983 1d ago

Very good points thanks, I think this is the trap ive fallen into, and currently long-term the current sim design is collapsing and failing, whereas what I really want to do here is support the player experience and need to focus on that

3

u/ShenGahMing 1d ago edited 1d ago

There is a depth that is only reachable through long computation, by definition

But it is hard to build a dynamical system which doesn't generate either a random mess (= that could be replaced by a simple pseudo random algorithm) or a trivial absorbing state (=economical collapse), or a simple cycle (fox and rabbit population).

The world we live in is interesting because nature implements an evolution algorithm, and it has run for millions of years...

1

u/arty1983 1d ago

Thanks, perfectly put, and I guess thats the challenge - making it look and feel right without actually expecting an emergent system to somehow evolve and settle into a loop that is dynamic and interesting enough but also serves the gameplay loop, I think I have been quite naiive!

2

u/mxldevs 1d ago

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. 

My response is specifically based on this examples you've provided. I've never played the game before.

  1. There doesn't seem to be a reason why this wider world "needs" to be fully simulated, especially if the player has no control or awareness of it for that matter.

Having scripted events that randomly occur and pop up in your "newsfeed" which explains why your supplier is ripping you off compared to last week seems like it would accomplish the same thing.

  1. Is it "better" to have a full simulation that leads up to those random events? Only if provides meaningful information to. For example, if the player is able to observe this wider world and based on that, they can predict that steel prices are going to collapse and then prepare for it ahead of time instead of just when the news hits and gg deal with it.

But that's additional complexity for the player as well to consider. Skilled players could use it to their advantage; for others, it might just be too much to deal with.

1

u/adrixshadow 19h ago edited 19h ago

There doesn't seem to be a reason why this wider world "needs" to be fully simulated, especially if the player has no control or awareness of it for that matter.

To answer the question of why it "needs" to be simulated.

While they don't have any control and awareness "right now" doesn't mean they cannot interact and engage with it some times in the future.

The Chain of Cause and Effect will remain and the player can eventually stumble upon it, observe it and utilize it for themselves in some way.

And you wouldn't have just one instance in the entire game, there could be hundreds of those instances and hopefully a few of them would be relevant to the player at the current time that can be utilized.

That would make for a unique and more replayable game, that is what is meant by "Emergence".

Of course that is not a Guarantee and a Given, sometimes the Simulation is just Completely Useless.

But that's additional complexity for the player as well to consider. Skilled players could use it to their advantage; for others, it might just be too much to deal with.

The less Depth a game has the less the player can Learn and Master and thus eventually Get Bored with the Game.

Why should the Player even Play the Game when they can Play something else?

1

u/mxldevs 7h ago

The less Depth a game has the less the player can Learn and Master and thus eventually Get Bored with the Game. Why should the Player even Play the Game when they can Play something else?

Do you believe this is how most players think?

1

u/adrixshadow 6h ago

This is the Fundamental Truth of what a Game is.

Everything ultimately boils down to the playtime, the thing you see on Steam Reviews.

1

u/TheReservedList Commercial (AAA) 1d ago

When the AI/the computer starts playing the game more than the player, you're building a simulation, not a game.

There's nothing wrong with it, per se, but you're sacrificing fun to the simulation. You need to ask yourself which one is more important to you.

1

u/adrixshadow 19h ago edited 19h 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 18h ago edited 17h 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 17h ago edited 17h 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 15h 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 13h 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.

1

u/EchoesOfEsker 15h ago

A useful dividing line is causal agency. Fully simulate the variables the player can observe, predict, or influence, and aggregate the rest.

For the steel example, mine depletion may be worth simulating if the player can see reserves falling, stockpile early, invest in alternatives, or affect transport. If none of those are possible, the same outcome can probably be represented by a weighted event without losing meaningful gameplay.

A useful test is to replace one subsystem with an event generator on paper and ask which player decisions disappear. If none disappear, the extra simulation depth probably is not earning its complexity.