Thursday, October 09, 2014

Cooperative vs Collaborative

Recently I've hit on some really neat little ideas. They came from one basic concept: there is a line between cooperative play and collaborative play. They are different.

Right now, collaborative play doesn't exist in computer games. There are collaborative games, but they don't involve collaborative play. For example, in Spore you collaborate with the player base to populate the universe with aliens - but there's no play involved. It just happens. Similarly, in Sim City you can collaborate by having neighboring cities, but the only "play" involved is trying to have the right kinds of inputs and outputs.

Mods are collaborative by nature, but although they create play, they don't use collaborative play. They are created by one person and used by another without any play between the two.

I think this is a big oversight. I think there is a lot of potential that we haven't really investigated.

There are things with collaborative play. Most tabletop RPGs are collaborative. The underlying structure of the game provides a framework of statistics and mechanics, and the players can build their own stories on top of that foundation. Putting aside the actions of the GM, the players collaborate with each other to distinguish their characters, move the experience in the way they prefer, and help augment another player's actions.

Jazz is collaborative in basically the same way. The foundation of jazz is a set of musical patterns that give everyone a similar foundation. They can collaborate with each other to distinguish themselves, move the experience in a way they like, and augment other players' music.

Most collaborative play today is face to face, and uses the incredibly fluid and nuanced signals inherent in human socialization. This allows collaborators to "stay on the same page", and collaborate tightly with each other.

However, that's not really possible in a video game. The most nuanced signals in a video game are less nuanced than a facial expression, and they flow less smoothly. Even incidental signals, like the timing of your turn, are more effort than a raised eyebrow.

We just have to live with that. We need to live with the fact that, aside from voice chat, we're going to rely on in-game signaling to synchronize our collaborators. That means slower, rougher, more awkward synchs.

The good news is that it also means we can save and play back signals.

The basic idea is that we can trickle in a bunch signals bit by bit, then let them flow over another user all at once. Asynchronous collaboration.

Minecraft multiplayer is probably the biggest current example of this. In shared universes, you can collaborate really entertainingly. This is often done asynchronously - the players aren't directly working on the same rooms at the same time. In fact, if playing is done synchronously, it's often cooperative play (exploring/mining ore) rather than collaborative play (building houses).

Asynchronous construction allows players to spend hours building their house on their own, without a whole lot of interference. Other players that visit the house are exposed to all those decisions in a quick and fluid experience as they wander around the house. It can even be done synchronously, with the host explaining the house as you walk. The host sets the stage ("this is the bedroom, and there's a secret passage behind the bookshelf...") and the nuance is provided by the level (exact placement of beds, nature of ceiling, choice of furniture, etc).

Minecraft doesn't really focus on that idea, so let's take this a few steps further.

The first step we want to take is to step on our own feet.

Because our game is the storehouse of signals, we can play back signals whenever we like. That includes allowing the player to collaborate with themself.

Let's draw the idea more clearly using The Sims.

In The Sims, you will typically play off of your own content. You have a house full of people, and you make decisions based on the nature of those people. However, even though each day builds off the last day, you are not "collaborating with yourself" in the way we're talking about, because the content is not represented as if it belonged to someone else. You always have full authority.

Now, on the other hand, if you build a second family in that neighborhood and invite the first family over - now you are collaborating with yourself. The original family is no longer "yours". They are presented as if they were created and controlled by someone else, and that someone else just happens to be "past you".

The Sims doesn't have a lot of persistent nuanced signals, so this collaboration isn't as rich as it might be. Mostly, The Sims relies on a player's internal fictions - if I download your family, I won't glimpse the rich lives you've built around them. The only signal from you that I can see is their appearance and maybe their basic personality.

Now, Kerbal has a LOT of persistent nuanced signals. Not just because the ships can be designed so diversely, no - that's only a small part of it. It's because modding plays a huge role in how Kerbal plays. You can tell which mods someone has installed by the parts on their ships, yeah. But you can also tell what role within the arc of that mod the ship plays, and how the player is interleaving their mods.

These gameplay-centric signals are a great idea, but it does require that the game vary massively from player to player, to the point where each player has an exceptionally wide number of in-game, mechanically-supported goals.

In Minecraft, that's not usually the case. No matter how awesome your house is, there's only a few mechanically-supported goals, and most of them aren't very nuanced. Instead, the value of a home in Minecraft lies in its sense of style.

This lets players put some of their personal style into the house, but I don't think that's anywhere near good enough. See, most people are not architects. We can build voxel homes, but we can't communicate very well with the nuances of these designs.

Most players are concerned with being people. So... perhaps the signals we should let them build should reflect the fictional people in the world?

A lot of Minecraft mansions try to do just that. The mansion is filled with decorations that suit the fictional lives of the player. Nonfunctional furniture, desks that will never get used, decorative racks of armor that will never be appreciated...

Some of the mansions contain multiple fictional people living fictional lives. "This ship I built has 12 sailors. This is where they sleep, this is where they eat..."

But that's just the surface of what's possible if we actually let the players create that content instead of just keeping it in their head where nobody else can see it.

There are a lot of possible ways to let players build their own people-living-lives content. One is to let them place NPCs. However, I think that's not very good, because NPC behavior will be very sterile, especially if modded furniture is introduced and they don't know what to make of it.

My recommendation instead is to build machinima systems. IE, you become a sailor. You "record" yourself sleeping in a bunk, eating at a table, scrubbing the floor. NPCs can play back those recorded bits, with the sterile pieces of their behavior being limited to pathfinding from bit to bit.

Allow bits to link up: I record myself as a pirate captain, I record myself responding to my pirate captain as a first mate, and now there are skits that can play. Collaborating with myself.

This is a very basic system that doesn't take into account how these NPCs should react to a new presence. But it's a damn sight more interesting than not having NPCs.

Players that are allowed to can further build out your scenario. Adding new places, new skits, new NPCs...

Sounds like a pretty great way to add nuanced content and collaborate with other players.

Sounds fun to me!

This is just one of the ideas that started to arise when I started to think about collaboration as a distinct kind of play. There's lots of space here!

No comments: