Deterministic Civilization?

Urtica dioica

Chieftain
Joined
May 8, 2008
Messages
76
I've had an idea for a way of playing Civ 1 for a while now, where by some means or another you remove every source of randomness and unpredictability in the game. This promises some cool benefits. You can have a totally fair contest, where the results aren't affected by luck. You could (theoretically) make a complete transcript of a played game, which could be followed to the letter to get exactly the same results by yourself or another player. You can make concrete strategic statements, like "build/research this before that," and back them up with repeatable experiments.

One way to pull this off is with reloads. Play a turn over and over until luck grants the correct outcome. This technically could give most of the benefits I want from a deterministic game, but with an overwhelming time cost. It also leaves the AI in the game, which, while I don't know that it's random, is at least hard to predict. I'm still forced to use this solution in a few cases, along with limited save file editing, but it's little enough that it won't take ages to play a game.

There are several things the Civ 1 game engine uses a PRNG for, and I have different ideas for dealing with each one. I've listed everything I could think of:

  • The starting position of the world... terrain, the particular special resource/hut pattern, starting locations, which free techs you get.

The start position is shared by everyone playing a scenario, so nothing needs to be done here. Potentially, you could try playing my rules on a custom map designed for an optimum result, but that's a whole new game.

One problem is that on your first play of a map, you don't know what to expect, while the second time you do. My solution is to give the players a world map as an image, like the ones TerraForm can make. You could also unshroud the map, but the shroud plays a role beyond just not letting you see the map; it also blocks cities from using tiles outside the known world, and removing that limitation would separate these rules farther from the standard game.

  • The outcome of battles.
  • The AI being awarded a wonder.
  • The tech you get by stealing technology with a Diplomat.
  • Which buildings are destroyed when conquering a city or sabotaging.
  • AI leader traits after Alt-r.
  • The effect of popping a hut.

I prevent any of these from happening by editing the scenario's save files in two ways. First, in TerraForm, remove every AI unit/city on the map, and give each AI a NONE Settler in the poles. Second, pop every hut on map, so no one sees huts during the game. This removes most of the true randomness in the game, and also removes the unpredictability of AI behavior, unless you count endless wandering around the poles, which is irrelevant to the game.

Preventing AI cities has a side effect. These rules obviously lead to an economic game, but without a way to make foreign trade routes. An ideal performance in this game may actually be worse than under the standard rules! :confused:

  • Whether a Trireme survives after ending a turn off the coast.
  • Respawns after a civilization is destroyed.
  • Whether a revolution occurs with a revolting city in Democracy.

We can eliminate these by adding house rules. Don't end a Trireme's turn away from land, don't interact with the AI Settlers at the poles, and never allow your citizens the ability to force a revolution.

  • Whether a unit can enter a tile without enough movement points (like a chariot being sent up a mountain, and ending its turn without moving) (I don't understand exactly how this works.).
  • Disasters, including nuclear meltdown.

For these rare cases, you can reload until you get the right result. You can reload at any time in my variation, to make a different decision for instance, but it's good not to have to do it often.

  • Barbarian spawns.
  • The appearance of pollution.

The rule here is that you can make limited edits to the save file. In fact, you have to. Interacting with Barbarians, or allowing pollution to stay on the map, is forbidden.

I hoped to find a way to edit the save file from the start to block Barbarians from spawning, but all my experiments failed. If someone can come up with a way to edit the save file that prevents Barbarians from appearing, I'd appreciate knowing about it. I also wish there was a better solution to pollution. Reloading works when you have a minor pollution problem, but in a huge empire it could take a long, long time to get the right roll of the dice. Fortunately, pollution isn't a big problem in a race to land a spaceship.

Playing a contest by these rules would be a lot of fun. Or you could play collaboratively, sharing save files and advice while comparing results. You need at least something like CIV$ to play; it has a handy "Remove Barbarians" feature. I think you'd need an activated TerraForm to remove pollution... You could play with different rules, like settler cheat allowed/not, OCC, race to land a spaceship/score/something else entirely, etc.

I hope someone enjoys this.
 
I guess I didn't make it very clear, even in my own mind, why exactly I came up with this. Now that I've thought about it, the primary reason was to isolate the growth/building aspect of the game, and remove any other aspect that interferes with it.

This differs from a typical TAS, where you would take any unpredictable aspect of the game and use it to your advantage (luck abuse). For instance, a TAS would heavily abuse huts, taking money and free technology to get a fast start. In my version, I remove all the huts before the game starts, so you have to grow by yourself. I wanted a way to play the economic game, turning a settler into a spaceship, without help and without annoyances.

I wasn't aware that DOS games could be played with a save-state emulator. I guess it's not too much harder to pull off than a console. It would certainly save a lot of time compared to reloading, if you need to do it a lot. It might be a useful tool for my variation, except in this case you really don't need to reload that often. I could see it being very useful if you wanted to make a video.
 
Top Bottom