Tuesday, June 06, 2017

Structured Open Worlds

I really like open worlds, and games that let you play them in lots of different ways.

A lot of people make fun of the idea, and talk about how bland these worlds are. Well, that's worth talking about, too: what makes those people think these worlds are bland? Can anything be done about it?

Let's focus on the structure of open worlds, because open worlds are the only things that have this structure.

What's so special about it?

Well, it's all about loose-weave challenges.

In a linear game, the challenges are all carefully braided together. You are swept along at the pace the game allows, in the directions the game allows. On the plus side, that gives you a much tighter experience, which is why a lot of people probably feel the open worlds are bland. The loose weave doesn't intrude as aggressively.

In a generated open-world game like Minecraft, the challenges are largely unwoven. They don't really lead anywhere or connect in any meaningful sense, it's just a bunch of random things near each other by chance. This is too loose for my taste, since it's impossible to plan out a mission profile. It always devolves into a resource hunt, at least for me.

With a loose weave, you get clusters of optional entanglements. They are similarly themed and connected in meaningful ways, so you can immerse yourself into the region, plan out a plan, and understand the sorts of experiences you're likely to get while you're here.

To be crystal clear, let's give an easy example: the starting town in Skyrim.

In a linear game, the starting town would be rigidly woven together. You would be drawn into the story of the shopkeeper and his sister, the blacksmith and his family and the survivor from the dragon attack. They would have meaningful dialog and some touching moments, and at the end of their arcs there would be strong resolutions before you moved along to Whiterun.

In a generated game, a town serving the same purpose might exist, but it would be occupied by randomly generated inhabitants. There wouldn't be a strong sense of theme or progression. Quests, if there are any, would be limited largely to fetch quests or kill quests. There would be no sense of community or feeling that these people actually live in a town together.

In a loose-weave game like Skyrim, the characters are all defined and feel like they live in the town, but their plot arcs are left loose and unresolved. If you do their missions, at the end they say "huh! Funny, it looks smaller than I remember!" and that's that.

Obviously, this isn't as emotionally affecting as if they were tightly written and had proper character arcs. But because it is loose, the player can engage in a lot of different ways. Instead of doing the main plot, the player can choose to rob or murder, settle down and smith for a while, sell wildflowers to the shopkeep. With mods, you can try to recruit or date the various villagers, change and upgrade their houses, see if they survive a monster attack, defend them from a monster attack, be regarded as a bandit by them, and many other kinds of interactions.

To me, the replayability of these worlds is key: you're not talking about things the player "might do", you're talking about things the player will definitely do as they replay the game over and over. Mods are very useful here, since the player can change which mods are installed, but the fundamental loose-weave framework supports those mods by providing a foundation of sensible world design.


There are a lot of details to discuss. For example, each piece of loose-weave content does have to be woven, linked to other content. They also have to be clustered by theme and pacing, so the player knows what to expect and can choose when and how to engage.

The weave also has to be made of "playable thread" - these characters and buildings don't just exist to serve a plot element, but exist as physical and social objects in the game world. This allows the player to engage with them in any way they please. Ideally, the way the threads are arranged will produce lots of interesting challenges for a player that wants to try various kinds of play style. You have a hard time robbing the village shop because both the shopkeep and his sister are standing right there, as opposed to a shop in Whiterun where there's just one person and a shop full of corners you can abuse to hide from them.

The deep strength of this approach, to me, is that it creates a world I can be in. All the people and places make sense and are on-theme, from a bucolic little village to craggy abandoned forts on a mountainside to spider-infested swamps to an ancient town cut out of the rock itself.

This means that any thread I encounter leads to other, similarly-themed threads. If I find a bandit-infested ancient ruin, I know there will be other, similar challenges down the road. If I find a corrupt policeman, I know I'll face other corrupt individuals and those suffering from corruption if I keep moving forward. If I find an ancient barrow full of screeching skeletons, I know I'll find more of them. Moreover, for all of these things, I know I'll find some core element that "powers" them all.

This works both large and small. On a large scale, I get familiar with Whiterun and quickly learn that the "core" is the yarl. All of Whiterun's characters and buildings share a theme that is guided by and inspired by the yarl. On a smaller scale, I find a bandit encampment has a progression to it, too, ending with a bandit leader and their simple plan to rob travelers.

And it all makes sense. The yarl acts that way for a reason, so all his town acts that way for a reason. The bandit leader robs travelers because you're near a major road, and therefore that plan makes sense and all the bandits hanging around here make sense.

If you juggled the yarls around and put the corrupt boy yarl into Whiterun, it wouldn't make any sense. The center wouldn't hold. Similarly, if you stuck the bandits in a swamp, the player would raise an eyebrow at the supposed "heavy traffic" they're raiding.

This isn't simply an eyebrow-raise, though. Without the core, the player won't feel that the threads are all reliably on-theme. They won't want to go to place X, because it's just a bunch of random nonsense.

I can't overstate how important this context is. These are worlds which make sense, at least to some degree. They hold together, and as you drill down into them, you find some reasonable reason why things are where they are and do what they do. These reasons radiate out, so you know roughly what you're in for if you decide to chase down a random thread you've found.


I kind of rambled, here's the summary:

The loose weave of an open world allows me to approach it in any way I see fit, including ways that are not part of the main plot.

The weave is organized in patterns that make sense, and if I follow a thread I will find more, similar threads that all make sense together.

Replayability is key: the loose weave responds differently when you play with it in a different way, and a player will probably play it a dozen different ways.

Can this be generated randomly? I'm not sure, but replayability would go out the window just by definition.

Can it be made "flavorful" for the folks that think open worlds are bland? Probably, if you can make them adaptive: a lot of these worlds are very static, which I think is the heart of their complaint. If there were big events that permanently changed things on a really deep level, I think that would help. It would also be a lot harder to program.

Them's my thoughts!

No comments: