Thursday, March 10, 2011

Small Worlds

These days, games tend to be designed with the idea that bigger is better. A wider world. Vast expanses of space filled in with variations on standard content. Examples abound, especially in RPGs. For example's sake, take a look at Oblivion. Not only are there vast stretches of general terrain, but the majority of architecture (dungeon and inhabited) also reuses a lot of the same content.

While there's nothing wrong with this idea, let's briefly consider what would happen if you took those million man-hours and dedicated them all to a much smaller surface area. Say your entire RPG happened in a high school.

With the kind of content creation thrown at a game like Oblivion, every character in the high school - every student, every teacher, every janitor - they are all unique characters. You never encounter a faceless or cloned NPC. Every corner of the school is carefully designed. You never think one room is the clone of another room unless that's what the designers were going for.

The increased density changes a lot of things. The first thing it changes is the player's perception of the environment. When the player is in an environment that is (A) very dense in unique content and (B) going to be their major haunt for many hours, their awareness stretches. They will become aware of smaller details, smaller presences, smaller changes.

This is no surprise: players pay attention to what matters in a given game. In an adventure game, every pixel might matter, every word might be a clue. But in a vast open-world game, few things actually matter. Just keep your eye open for the cool car you want and listen for the game to start up the battle music that says you're being attacked. The other cars are unimportant, and you don't have to always look around you to see if bears are arriving.

However, there are loads of other things that a denser game environment changes.

The cost of content is dramatically changed because the content interacts with itself a lot more. In a game like Oblivion, every unique NPC only reacts to their own tiny corner of the plot. This is accepted: the NPCs don't ever do anything that feels like free will, and even if they did, they're separated by vast amounts of space.

But when you condense to a smaller space filled with the same number of NPCs, suddenly you can't ignore the fact that they see each other. The denser the space and the more mobile the NPCs, the more your NPCs have to interact with other NPCs and content. So each NPC becomes more expensive to build.

They're not any more expensive in terms of graphics, but they are in terms of scripting and testing. After a certain point, you'll need a kind of basic social AI for them since it becomes too difficult to script for every condition they may encounter. Even if you had a full-blown perfect AI for each character, you'd still have to configure the content carefully so the game unfolds in a way which pulls and entertains the player.

You can cut down on this by cutting down the mobility and density of the space. For example, in Phoenix Wright, the space is very dense, but the characters cannot move about. You'll spend most of your time directly interacting with unique NPCs in unique situations, but none of the NPCs are programmed to figure out what to do with themselves: every inch is carefully scripted.

This solution has obvious limits, but you could do somewhat similar techniques that aren't so restrictive. For example, imagine a game version of Magical Shopping Arcade Abenobashi. There are hundreds of characters, but they are all variations of the same half-dozen fundamental characters reinterpreted on different worlds. So the different versions of the NPCs never interact: you're left with a fairly dense space and lots of interesting characters, but you don't have to worry about the crippling recombinatorial explosion of them interacting with each other.

There are also other concerns about "dense space" games.

For example, most dense space games have to have time as a major element. While player time is always important, that's not what I'm talking about. I'm talking about game-world time that matters: changes to the state of the game world over time.

Because the game world is so much smaller, changes to the game world usually touch a whole lot more content than you might think. If you choose to nuke or not nuke that town in Fallout 3, either way the percentage of the content it affects is on the order of 0.01%. But replacing a single teacher in our theoretical high-school game will affect on the order of 2-3% of the content, since it is all much more tightly interwoven.

In addition, it's harder to do "disconnected" stuff. While you can kill 50k bandits in Oblivion, it's usually significantly harder to have those kinds of "fire and forget" encounters in a much smaller world. If you manage to write them in somehow, they often end up expanding the world dramatically in the process, sort of like the way that Persona games classically have a very dense home base but a completely not-even-vaguely-dense dungeon section. Anyway, a higher percentage of your interactions are likely to be world- or content-altering to some degree.

In the end, this usually means that dense space games will probably focus on a ton of tiny, incremental changes to the world. This is not how we normally think of game design: we usually think in terms of numeric systems and level maps, rather than tiny changes to NPCs. Our industry's inexperience at this is another reason that games with dense space will probably be more difficult for us.

At least, games with dense space that have loads of NPCs. There are plenty of dense space games you could make that have few or no NPCs. For example, Sim City is a dense space game with no NPCs. But that sort of game isn't really what I mean: I'm talking about RPGs.

And some RPGs are already condensing space, at least some of the time. For example, Dragon Age's relatively dense "base camp". Of course, the play in these parts is generally not really there: the NPCs don't interact with each other, time doesn't really pass, nothing really changes. It's just a handy way to talk to NPCs that aren't in your party. Still, it's a shadow of the sort of thing I'm talking about.


I've kind of babbled on a bit, but what I am fundamentally saying is that bigger doesn't necessarily mean better. There are advantages to having a smaller, denser space: the player feels a stronger connection to the space and it offers opportunities to have much more dramatic and subtle NPC events/arcs. There are also costs.

I hope to see more games use less space.


Isaac said...

This reminds me of Warren Spector's idea for a one city block RPG, which I've been thinking about lately. There are a lot of things that a tight community implies that go against the flat structure of most game content. You'd almost have to build simulationistic elements into the world in order to have the depth it needs. You can't just throw on another level and get three more hours of gameplay for free: you'd almost want to encourage reiterative play.

Playing Planescape:Torment with the fan mods that reenable some of the content that was cut at the last minute almost approaches this density in parts, enough that I want to see what kind of experience a tightly constrained space gets you.

Craig Perko said...

I agree. Although you can increase the density significantly before you need to actually start doing social AI and simulationist stuff, I want to increase the density to the point where you need that stuff.

Kevin said...

I'm glad you mentioned Persona, because that was where my mind immediately went to. It doesn't take long in them before you are starting to learn NPC routines. Persona A is only there on Monday, wednesday, friday. Persona B is available on thurday-friday. Wait, who is the new person standing by that lightpole. You become intimately familiar with the locationand all the people in it.

I agree with you that the next step is to then create more interaction with the NPCs. Persona avoids this by phasing out which NPCs you interact with and making each one have isolated insodents. There are a few that involve multiple NPCs, but they are rare. I would love to start seeing the NPCs talk to eachother, and player choices affecting how NPCs interact with eachother. That becomes a much more complicated problem though.

Craig Perko said...

It's more complicated for two reasons. One is obvious: it takes more programming or scripting.

However, the other problem is that you need to make sure the player doesn't feel like the game is leaving them behind. You need to be careful not to give your NPCs so much free will that they don't need the player.