One of my abiding interests is algorithmic means to help create content in games. There are a lot of ways of doing this, and it's a very interesting topic, but I'd like to talk about my efforts to simulate China.
More specifically, I have always liked the Dynasty Warriors games, as well as most other games that have some of the same "feel", such as Romance of the Three Kingdoms. However, what I like isn't the gameplay, it's the feel. Carving your way through an army isn't much fun unless there's a reason to care, and hopefully some mid-mission chaos that makes sense. To me, the most interesting thing about Dynasty Warriors is the (emergent or scripted) story that accompanies the assaults and defenses you make.
Details like "well, the such-and-such clan are excellent shipwrights!" or "We must be careful, so-and-so has hired exotic mercenaries" or "this fortress has never been taken, because it is on a mountain surrounded by a river".
So I built me a toy to simulate China. It builds the terrain algorithmically, simulates a few million years of weathering, places a few hundred primitive tribes, and builds a medieval-period civilization of warlords and trade routes.
The end result is just a demo, not a real game, but the data density is immense. You can clearly see the fragments of plots and interesting data points floating around. For example, I've seen a village turn into a major sea port specifically because the city that was the major sea port in the region was destroyed in a war. The population and resources of the region required a port, so the village took on that role. Before then, they were a little fishing village with a few tea farms up in the nearby mountains.
The port "remembers" being a little fishing town, and it "remembers" all the different regions and cultures that the new immigrants came from. Given another order of magnitude of development, it could easily produce detailed people from the town, each knowing his own history and having a sense of style, accent, and ethics rooted in his ethnic heritage but blurring into the city's mix.
The rapid growth without a centralized authority has specific side effects that would govern the city's layout and feel: haphazard streets, ramshackle buildings built on the lowest dollar, ports just kind of extending everywhere. Contrast this with the same situation, except a central authority carefully controlled land zoning and safety. Wider, straighter roads, better buildings, carefully expanded "fractal" docks...
These are details that have historically been up to the designer/writer to decide and implement.
As our data becomes denser and our worlds start to contain ever more detail over an ever wider scope, that becomes less and less tenable. MMORPGs and similar games would benefit greatly from being able to "paint" in broad strokes - a war happened here, this desert blocks travel, etc. From these strokes can come dozens of new cities, each populated with basic quests, able to generate new NPCs rather than continuously recycling the same twelve, each with their own unique flavor.
Obviously the writer would come in and do some real work on the details, or at least re-generate dull sections. But the point is to provide a scaffold that allows you to build these massive worlds, these super-detailed worlds, without spending ten years of development time. There are some kinds of things that already do this - a lot of the various Elder Scrolls games have generated terrain - but there's a fundamental difference between creating repetitive filler content and creating content that anyone would find interesting. Not only can these "deep data" techniques create a lot of interesting content, they can even continue to run during the game, creating a world that evolves and remembers.
Anyhow, the real reason I'm posting is because I think I've figured out how to apply it to people. Hmmmmm.
What are your thoughts?