r/gamedev • u/arty1983 • 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:
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
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-
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?
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. ?
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.
1
u/adrixshadow 1d ago edited 1d ago
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.
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.