So, I bought a DS game called "Infinite Space". I bought it because it had spaceships in it. It's very hard to find non-shooter sci fi games these days, so I buy every one I see.
Playing Infinite Space, I was stunned: it's an extremely oldschool game that allows you to customize your ship and crew. I don't mean "equip cannon A instead of cannon B", like "customize" normally means today. I mean "play tetris with components to try to cram any of ten thousand highly varied things into any of a hundred different chassis". I don't mean "customize crew" as in "swap your three-person team out with any of two other options", I mean "assign any of the hundred people you can recruit into any of the hundred positions in your crew, including things like 'chef'".
I haven't seen a complex game in so long, it felt great!
Now, if pressed as to whether the game is any good, I would hesitate. The game is too oldschool in many respects: it is unforgiving, full of hidden gotchas, all but requires a walkthrough, and dying is a tremendous pain in the butt. However, it is also really one of the only complicated games on the market.
We've seen an excessive trend towards simplicity in games. Every game must be winnowed down so that it can be played by a drunk frat boy with only one hour to spare. Sometimes, this results in some amazingly interesting games - for example, Shadows of the Colossus was not a complicated game, but it was a very interesting one.
But there is something to be said for complexity. There is something to be said for letting a player have too many options, for making a game too dense to play drunk.
This kind of complexity is distinct from the complexity of, say, a Sim City game. In Sim City you are given a pretty flat environment you can fill with pieces. Sure, the terrain may limit you, but point A and point B are going to be pretty much the same if they have the same terrain.
On the other hand, the kind of structured complexity you find in complex games like Infinite Space is not flat. The details exist for a reason: it may seem pointless to have a "chef" position explicitly assignable, and it certainly doesn't add to the actual in-game situation much, but out of the fifty slots you can put people in, each is unique and has its own meaning. It's a contextual complexity, where every point in the "gameplay terrain" is explicitly defined to have some human meaning. Exploring this kind of complexity is inherently more engaging than exploring the same "size" "space" in a game with procedurally generated terrain or terrain that merely varies by statistics.
This holds true for every kind of play where "space" exists and can be interacted with. Traveling from location to location is only as interesting as the variation between those locations. So we can have ten million locations that vary only statistically, but it won't be nearly as interesting as a hundred locations that are each unique. Similarly, if we're designing the components of a ship, having the insides of the ship be unique and weird shapes to match the design ideals of the manufacturer is more interesting than having randomly varying shapes or simple shapes.
The problem with this approach is that it requires a fair amount of painstaking definitions and scripting. The amount of effort you put into making a hundred unique locations could probably make ten thousand statistically varying locations, instead. But they would feel very samey. The universe would have little texture.
So I wonder if there's a middle ground, where you can procedurally generate content that is really unique, that really has a flavor and stands out.
I think this requires three things:
The first is a giant stack of things to be unique with. This is a pretty typical approach: if every planet has two interesting details, you can just write up a thousand interesting details and pick randomly, maybe crossing them off the list when you use them.
However, that's not enough. You also need coherence. The uniqueness has to mean something. This might be able to be accomplished by having NPCs react to the uniqueness in vaguely intelligent ways, or having the complexity of the world (dungeon generation, culture, whatever is generated on the fly) react strongly to the uniquenesses that are here. It can probably also be accomplished by "smearing" uniquenesses: If this planet has an unusual quantity of gold, then the nearby colonies will be better off because of it, and the NPCs at those other colonies will talk about the gold.
Smearing is actually related to the third aspect, which is that the player has to be drawn into the unique situations. For example, in Spore, every planet can have some seriously unique life forms. However, because there's nothing interesting to do with them that depends on their uniquenesses, they blend together into a shapeless blah. So the content has to draw the player in, require that the player take an hour or so to look around and really delve into the uniquenesses. This requires a depth of content (probably created by the previous paragraph's ideas). But it also requires gateways into that content, interesting plots or details that draw the player in.
It may also be possible to use unique player-generated content, like Spore does, but you have to algorithmically generate the "smearing" and "gateways" so that the player gets drawn in. That would be an interesting thing to design.
Hm. What do you think?