Tuesday, April 07, 2015

Pacing via Characters

Recently I watched this video. It's not even five minutes long, maybe go watch it first if you've never seen it.

Now, I'm not a huge fan of saying that comics and video games need to draw on cinema, but I don't think this is a cinema-only trait. It shows up in comics and games as well, we just don't have any good discussions of it.

We're talking about ways to move and maintain a story. In this case, the two ideas in specific are the way we connect story beats, and the idea of having several story threads running so we can switch between them. These are rather different concepts, although they tie together pretty well once you understand them.

Let's examine how they might work in a video game.

Story Threads

This is a common tactic in comics, often briefly switching over to show the villainous side of things whenever the heroic thread starts to flounder. Some comics switch between different sets of good guys. And nearly all of these comics have an omnipotent camera: we can see the thoughts of characters, the secret actions, it all plays out in front of us.

In video games, this technique is a bit rarer. Final Fantasy games tend to use this. Especially FF6, which had you play out each of the three main character arcs separately. However, even in FF6 the technique wasn't used to keep pacing sharp - you didn't switch between the branches, just played them in sequence. Instead of keeping the pace strong, this method was used to put spotlights on different groups and different parts of the world, allowing the player to have empathy with more people and places. Similar play elements such as the Laguna sequence are used in much the same way.

If a game wants to keep the pace up, they will use cutscenes - perhaps showing the enemy's board meetings or whatever. But this is not popular, perhaps because it's seen as a breech of point of view: most games have a definite main character, and seeing things they could absolutely never have even heard about is maybe a bit wobbly.

Some games get around this using inline second threads. A good example of this is System Shock 2's audio logs, where you would hear snippets of another thread that happened in the same place, but in the past. These audio logs served three purposes: pacing control, player investment, and exposition.

Exposition is obvious: you hear someone's audio log about toxic plants taking over the area, so you know what's going on and aren't totally confused.

Player investment is also pretty straightforward: you get attached to some of the characters as they continue to show up. Some of them are alive at the same time as you, and you can even seemingly interact with them in small ways, their later messages referencing things you did, or even talking about you directly. This leverage is not really used in the game except for once, but it's still there.

Pacing control is the most complex way it is used, because pacing control can be employed in a lot of ways. The audio logs are limited because they operate in tandem with the player's in-game actions. So the audio logs need to be placed in locations where the player won't immediately find themselves in a firefight, so the player can listen to the audio log in peace.

Well, with a few exceptions.

This means that all the audio logs are found during 'slow' moments. In movies, you generally switch to the second thread just when the first thread is beginning to slow, but in this case you interject the second thread to try and support the flagging pace of the first. Even if it contains no pacing elements in itself, its existence is a pacing element.

It can contain pacing elements as well. For example, hearing someone complain about psychic monkeys will put the player on edge, on the lookout for psychic monkeys.

Variant: Rashomon Rush

One interesting variant on this idea is closer to home. This is commonly found in sports manga. Instead of having multiple threads of story, you can really only have one thread: there is one contest, one race, one tournament, and you have to keep the audience interested throughout. Rather than cutting away to some other story thread, you simply show the tournament from the eyes of many characters.

For example, in Yowamushi Pedal, many of the chapters are entirely focused on a team bike race. From an absolute perspective, bike racing is just about the least interesting sport to focus on. It's not interesting to look at, it doesn't change very rapidly, it rarely has any unexpected interruptions. You can force some in - a crash here, a rainstorm there - but they are not really enough to make the comic feel dynamic.

What Yowamushi Pedal does instead is switch between the characters in the race. As the comic goes on the artist becomes more adept at this, often showing the viewpoints of two or three characters in quick sequence.

It's a bit like the "Dragonball Gasp" - the characteristic page full of reaction shots - except that each character has their own distinct thoughts and concerns rather than just contributing a dumbfounded expression.

This tool can be used both slowly and quickly. For example, in the Interhigh arc, there are three important teams. The "primary" team with the main character on it, a secondary team that they lost to last year, and a new team with a clear villain leading it. In this portion of the chapter, the primary team is out of position. Rather than focus on that, the comic takes half a chapter and focuses on a seemingly irrelevant contest between the villain and a sprinter from the secondary team who we've only seen in the background of a few shots.

Over a dozen or so pages, this fight unfolds. It involves flashbacks, half a dozen characters discussing the sprint without being able to see it, and, of course, the sprint itself. None of these characters are the main character. None of them is even a direct supporting character. It's a complex ballet happening without any of the most significant characters.

I guess how you feel about it might vary, but in the end we have created a solid new character (the sprinter), made the evil side look more evil, made both the rival teams look more virtuous, and also given the main team the time to enter back into the main story thread (front of the race) without needing to dedicate an entire chapter to it. Later on, the villain's villainry shines brighter and that particular sprinter gets to play a moving minor role near the end of the race.

It's a pretty good technique. It keeps the pace high without losing focus too much, it develops the main villain, and it develops a secondary character well enough to make us care about his performance later. Nevermind that his traits are dull and he could never take center stage for any extended period of time - he comes in just long enough to establish that the villain is truly bad and that the good guys are truly good.

Putting aside the flashbacks, we never "leave" the race. The race never skips forward or backwards. It's a contiguous event that continues happening throughout the chapter. Effectively, we're focusing on the elements of the race that are the most interesting, while also stockpiling reserves of good and ill will.

In a video game, game state is often quite complex. It's easy to lose track of the details between play sessions, or if you switch play modes. The ability to focus on a specific unfolding scenario while still changing out pacing and emotional investment systems is quite valuable.

It might be a little difficult to imagine what this would mean in a traditional computer game, but that's because traditional computer games are built to not use this system. Instead, imagine something like an MMORPG, where each player belongs to a faction and the power of the faction depends on their performance. The faction is part of a complex, unfolding scenario. The elves and the klingons are enemies, and war is slowly breaking out - planet by planet, treefort by treefort.

Some players log in for hours each day, and every detail of the conflict is always crystal-clear to them. But others only log in for an hour or two a week, maybe just casually, to hang out with friends. It's easy for the conflict to race ahead and leave them behind!

In the past, the question was how you could allow dedicated players to influence and enjoy the complex situation, while still making sure the casual players could enjoy themselves and not feel completely lost. So far, the only two approaches have been "screw the casuals" and "nothing ever changes".

This offers us a third option. Using "Rashomon Rush", we can

A) Slow down the fast players by introducing them to interesting side characters and quests with different views on the same unfolding situation.

B) Speed up the slow players by hitting the high points of their roster of characters stories without slogging through every moment of it.

But and Therefore

The other aspect of that video is "but" and "therefore". Basically, we want to tie things together in a way where every step in the chain moves us.

In computer games, it is common to have an underlying theme and core plot progression bogged down in endless repetition. To avoid this, devs carefully write a progression - level by level they plot out an interesting story. This can certainly work, but it is also quite limiting. Every time a player plays, the levels are the same. A player cannot go off the rails - the closest they can get is going down a different set of rails that the devs also thought of.

Let's consider a different option. If we free ourselves from the idea that a player must absolutely play the same avatar the whole time, a world of possibilities opens up. Instead of switching from Snake to Raiden at a predetermined plot moment, imagine if we switch when the player has reached "peak Snake".

So a clumsy player gets Snake caught. Instead of "Snake? Snake! SNAAAAAAAAAAKE!" we just get a camera pan out and then pan in on Raiden. Same scenario, but now we're playing Raiden. What's Raiden doing?

Rescuing Snake, obviously. Snake was captured, therefore Raiden will rescue him.

Oh, did Raiden get captured, too? You really suck at this game! But it's okay. Pan back to Snake. He's halfway done escaping! Take over!

Functionally, Raiden and Snake will get tiresome because they have the same basic powers and play style. To use this method, we really need to have characters that have very different viewpoints and failure conditions.

Again, we can look to sports manga for an easy solution. Although the whole team is playing in the big game, each character is portrayed as having a different role and being interested in a different tiny piece of the game. While we are focused on one person, the other team members continue to operate in the background. We only give the lead to them when they have something to add to our story - something to react to.

Imagine something like Grand Theft Auto, except that you play three characters that aren't boring thugs. Each of your characters has very different and conflicting goals. As you try to accomplish those goals through a combination of open-world play and open quest lines, you will change the world around you. Whether it's blowing up a gas station or preventing a bank heist, these events can easily become a plot point for another character with a tangential set of interests.

You blow up the gas station? A minute later, you're playing a fireman getting harangued for not being able to put out the fire. You thwart a bank robbery? A minute later you're playing the robber, trying to escape from the police car.

This is pretty basic stuff from a script writing perspective.

In fact, it's so basic that you can automate it.

Theme Chain

There are a lot of things we want to automate. Let's discuss them.

1) Cut Away
We want to cut away from a player experience when they're about to go through pointless downtime. This is not as complex as it sounds: after a big battle or cataclysmic event, there is a rapid decline. We want to cut away while we're on that decline. Any point on that decline is fine.

We need to be aware that not every event is big enough to do this. In GTA, blowing up a gas station probably isn't significant enough. But there is one thing that is extremely clear: death. The simplest algorithm for this is to cut away when you die, and then 'therefore' using the largest thing that happened during your life (which may have been your death).

If you build from the ground up with intent to create rising-falling action curves, it's not hard to create the proper shapes in a more fluid, explicit way. But it can be crammed into standard game designs as well.

2) Thereforing with Themes
When we switch from character to character, it's not just a matter of choosing when to cut away. It's also choosing when and where to cut back in. We need to cut back in on a "therefore". If you burned down a warehouse, we need to cut back in on someone dealing with the fallout from that. We need a way to have logical connections between significant events such as major property damage and other characters that have to deal with them. It's not hard, but it has to be programmed in.

But here's the trick: character themes and gameplay are more important than strict continuity.

Gameplay should be obvious. You can't cut to a firefighter putting out the fire if there's no gameplay about putting out fires.

Character themes are a gateway into cutting properly as well as having a very strong, cohesive game.

If the overall theme of the game is "searching for sparks of hope in the ashes", each character would have a specific theme related to that. For example, our firefighter might be all about finding hope in the survivors of disaster - IE, rescuing people from burning buildings. This is an explicit theme. It's programmed into the game in an explicit way. The algorithm which determines what happens after significant events includes hooks for this exact theme.

If we burn down a building, the algorithm understands it needs to talk about survivors. So it spawns a "survivors" hook. There would be a variety of them - one where you are talking to someone you rescued, one where you are held back from rescuing people because it's too dangerous, one where your boss calls you in to berate you for not rescuing anyone, one where your boss berates you for letting things get out of control and you yell that at least you saved some people, etc.

Every character contains a batch of "flexible hooks" like these. When a significant event needs to be "therefored", you simply thumb through all the available characters and check for who has the strongest hooks available in response to that event. The specific hook will tell you when and where to cut back in, and the strong theming will naturally flow into the overall experience of the game.

3) Exposition
By skipping around, we are missing out on pieces of the puzzle. Moreover, we're always creating new pieces of the puzzle. In our effort to move from the person who blew up the warehouse to the fireman who failed to put it out, we have to make it clear what happened. If we're using a Rashomon Rush, we have to explain to slow players what has unfolded when they weren't watching. Etc.

There are three big ways to do exposition, and you may want to consider all three.

Cut Scene: when we cut from one character to another, we can start the new character's section on a cut scene or similar interaction. That can contain the data we need. Getting chewed out by your boss for failing to put out the warehouse fire clearly establishes when this is, who we are, and what happened. This exposition should be built into the hooks that allow us to cut in.

Background Chatter: audio logs, people talking, posters - we can say a lot by changing the ambient background stuff. If the elves and klingons are gearing up for war, put war propaganda posters on all the walls. People who have been logged out for a month can log in and immediately see the posters, immediately understand where society is at.

Job Change: if your avatar's role, priorities, or side missions have changed, it clearly indicates a changing situation. For example, you played a cop for a while but then were someone else for a few weeks. When you jump back into the cop, she's gearing up in black body armor and carrying an assault rifle - you know something has changed.

4) Emotional Investment
Normally, in order to get a player emotionally invested in a character, you have to have that character directly affect the player. For example, the villain has to stop by to kick your ass personally, or a heroic secondary character has to do something helpful for you.

By allowing ourselves the freedom to switch between characters, we can develop emotional investment without needing to tie it directly to the primary avatar. We can switch to the villain and be evil. We can switch to some arbitrary character that the villain is screwing over. Etc, etc.

Emotional investment is extra touchy when it comes to randomly generated characters. If all your characters are handcrafted, your hooks and scripted plot events will probably create plenty of emotional investment. But if your characters are arbitrary or random, there's nothing to grab ahold of.

Well, you can use random characters to generate extra emotional investment by having them struggle against another, more important character. One-off random characters can have relatively dull traits and, as long as they are constantly under pressure, it'll work out: it'll generate a lot of emotional investment for more important characters nearby, and also generate some investment in the dull random character themself. Later on, you can bring the minor character back for cameos and it'll feel great.

This is also a good way to keep pacing strong without needing to have a huge number of carefully themed main characters. Just occasionally throw in a random side character with a batch of random traits.

Anyway, I hope this was coherent: I'm just trying to say that we might want to explore switching our point of view a lot more often.

No comments: