When playing long simulation/strategy games like SimCity, Roller Coaster Tycoon, or Civilization, I often have “what if” questions: what if I built an airport there? what if I invaded Albania? what if I switched to solar power? what if I built extra police stations?

My usual answer is to just keep wondering. However if I'm very motivated I can save the game, try something, save it again, go back to the first save game, try the other option, and then compare the results. It's rather tedious, so I don't do it much.

It might be interesting to bring the “what if” gameplay into the game itself, instead of being outside of it, as save games. Games like Chronotron and Braid allow you to go back and try something else, and even see past paths while you're playing through again. Halo 3 heatmaps aggregate information from a huge number of games. I think these ideas apply to simulation/strategy games too.

Imagine if you could “split” the timeline into two and watch parallel worlds evolve simultaneously:

Side by side parallel universes

If it's just a matter of running parallel worlds, I could do this by running the game twice, in two side by side windows. However if it was integrated into the game there's some potential for interesting gameplay:

  1. The game could run two worlds all the time. Every 5 minutes the game could ask you which world is better, and then copy that world to both windows. You could run experiments but they're all limited to 5 minutes. You'd be able to learn by experimentation and then use that knowledge in the future.

  2. The game could run one world most of the time, but then in a world-splitting event, split into two. In one world you'd be asked to destroy; in the other, to build. You'd gain bonus points for maximizing the difference between the worlds.

  3. The game could let you play in one window and show in the other window the accumulated plays from your previous games on the same map, or perhaps from other people's games. Differences in play would be highlighted, and you'd gain points for novel play styles. In Halo, you might get a bonus for a sniper shot from a location where few people succeed making a sniper shot.

  4. In a multiplayer setting, each player could play in her own world for a few minutes, and then the game would ask everyone to vote for their favorite world other than their own, and then that world would become the baseline for the next round of play. It might be possible to integrate this into a Facebook game that you play asynchronously with your friends.

  5. If playing against a computer AI, it might be fair to let the computer player occasionally choose which world it prefers. The strategy would then be to set up a world that appears to give you a disadvantage without actually doing so. The Chess equivalent would be to intentionally sacrifice a rook in order to set up a winning move.

I'd love to see games explictly tackle parallel worlds, individually and in aggregate.

Labels: ,

5 comments:

Matthew Skala wrote at August 19, 2009 7:23 AM

I wrote about something vaguely similar here, though my thought was to make serial, irrevocable selections between different worlds rather than running them in parallel:

http://ansuz.sooke.bc.ca/software/mmorpg/time-travel.php

Bram wrote at August 19, 2009 5:56 PM

This is an excellent idea!
Personally, I would make it a quad-tree visualization. You can keep splitting scenarios into smaller and smaller windows.

zorful wrote at August 25, 2009 1:51 PM

The more worlds the more fun there is. Have you read Nine Princes In Amber?

alex dante wrote at September 07, 2009 6:53 AM

Hey Amit, it's Morpheus from LM, LTNS :)

If you haven't seen them already, the video demos for Achron are well worth checking out.

http://achrongame.com/videos.html

It's an RTS with a strong time-travel focus; you can send units back in time to past battles to modify the outcome. From what I can tell, the system tracks two states - the initial events & outcome and the revised ones - before collapsing down to the dominant one at a specific point.

I'd love to see how they're modeling it all and whether it could be easily extended to parallelizing sims. Of course, then the next stop is to stop playing the sims and instead writing fitness algorithms for the desired results :)

Anonymous wrote at January 12, 2010 6:48 AM

Hi,
I just found your programming website and it is a gold mine! It seems to have links to pretty much everything I need. I too am starting on game development. Specially the AI part. Thanks a lot for having this content on-line.

Felipe