Simulations, Rule Designs and Games
Game programming maybe, perhaps, the most tedious yet rewarding sub-domain of programming: it involves complex graphics, conditional logic, distributed systems problems (multi-player) and much more, but in turn we get pure dopamine hits, satisfaction and lasting memories. In this piece, I'd like to focus on my favourite genre of games: simulations (the last point of one of my previous posts).
First things first: there are a lot of games which are technically simulations ... but aren't. Let's take an example, Clash of Clans. We select an army, arrange our bases in certain strategical ways, deploy troops and watch them loot other player's bases. While it* is *a simulation, we do not get to re-write the rules themselves. The player is constrained. This applies for almost all the games we generally play, since constraints limit the cognitive load the player has to endure, leaving them with pure enjoyment. (Not always though, it really depends on the goal and the constraints of the game. A good example would be Chess).
What about open-world games ? Surprisingly, they can be quite limited. Think about it: what actions do they allow us to take, and how bizarre are the consequences ? (GTA V maybe an exception here, more on that later). Some titles like Elden Ring, while pushing the boundaries of open-world games, still follow a somewhat rigid storyline. We cannot re-write the story, but simply play through it. So what exactly do I mean, when I say simulations ? The short answer is: **emergent behaviour. **When every system in a game doesn't just run, but instead *interacts and reacts *with other systems, we get emergent systems. Unexpected and unique narratives play out, not only making the game more engaging, but also personal.
Many games do manage to incorporate en ecosystem of inter-connected systems which give rise to emergent behaviours, like Far Cry 3, Legend of Zelda, GTA V (biggest title here), and a lot of modern games including Battlefield, CoD and other titles. Games being simulations is an old concept, and as we get more compute power and sophisticated algorithms and AI, we are rapidly moving towards more interactive and emergent games.
That being said, the games which inspired me to write about this topic aim to go beyond, and push the boundaries of simulations. One would feel like literal programmers while playing these games (one can even argue that there is an isomorphism between these games and programming). I am talking about titles like Eve Online, SpaceChem, RimWorld, Oxygen Not Inlcuded, Factorio, Infinifactory and finally, Dwarf Fortress. These games are literal programs we have to write and execute, and watch in anticipation how our solutions work in the "real" world. In some cases, simple rules give rise to complex behaviours (SpaceChem/Infinifactory) while in others, complex systems interact with each other, giving rise to emergent behaviours (RimWorld, Dwarf Fortress).
The games I mentioned above aren't meant for playing, they are made to be experienced. While it may not be everyone's cup of tea to sit through hours just to solve puzzles or start enjoying the game, the niche gamers who play these games can never go back.
(Forgot to mention Football Manager, which it a one-to-one excel sheet management "game". For those interested in finding more complex games like the ones I mentioned, here's a video on the same.)*