Getting the story told

Plot development in videogames

Here is the extent of my thoughts on getting a story told and a videogame played at the same time, after nine years of iterative development on Scout’s Journey.

Most players’ attention span will peak near the beginning of a game. After a certain time, players may lose interest or go off to farm items or repeat a boss fight indefinitely, thereby halting the plot completely. It’s unknowable. The largest cohesive block of player attention is likely toward the beginning. So if cohesive plot development is going to happen anywhere, it’s in the first half of the game. Probably the first third.

This coincides roughly with the first act of the three-act structure. The three-act structure works for storytelling, but games are non-linear; either the plot can develop several ways according to player choices, or the player can stop or even reload the game. By comparison, the controlled 90-minute setting of cinema is a pristine lab environment.

In cinema, we can say that a story has 40 beats or 12 major beats and these beats fall on this or that minute. In games, we’re not so fortunate. We cannot tell after how many minutes the player will pick up the Macguffin or listen to the audio log. It’s possible that they completely miss it. The most we can do is make the main plot really obvious by massive signposting or physically funneling the player into a cutscene to sort of make sure it even happens.

For Scout’s Journey, I’m toying with the idea of large, bright, rotating camera symbols for the player to collect, signposting “here is plot advancement”. (Yes, I do have a better idea than that, but you get the drift.) It’s better than the classic funnel method.

Back to the three-act structure. If it’s assumed that we can best do coherent plot development early on, then the classic structure needs to be skewed to the left. Show more things earlier. Drop more hints. Get the hooks in while you can, before they go off in search of the +5 magic longsword and the ideal ascension kit.

This is actually a blessing in disguise, because gameplay- and content-wise, the early game is usually basic. You don’t want to give the good stuff away too early. The player’s skills and the quality of enemies or obstacles needs to rise somewhat linearly throughout the game. So instead, in those early beats, lay on the storytelling!

If we can skew the ending of Act 1 toward the left far enough, pack that with goodies, and resolve into Act 2 earlier, maybe opening up new skills and content for the player to enjoy, then maybe we can get there before their attention starts to wander. I’d roughly put this at the 30% mark. At that point, we must open the bag of toys.

Because if we skew the plot structure to the left, Act 2 is gonna be a hell of a slog.

If it’s a comedic structure, where the protagonist is on a downtour from their earlier successes and en route to their all-time low, the point where they doubt they can toss the ring into the fire and just want to go home, then there’s going to be a lull in the game right about now, or a feeling of waning rewards for the player story-wise. So what could lift it up again?

Gameplay and content.

Player skills, options, tools and the amount of content accessible to the player are going to be on the rise at this point in a game. They need to be, or it gets very boring. The player has leveled up, so to speak. They’re ready for some challenge. They have better gear. So give them action, and give them exploration. Let them go and do their thing. This is where the plot can stall, it matters little as the key is for the player to enjoy themselves. Here’s the game designer’s playground. Let them go nuts.

Get Act 2 in among the fray, in bite-sized chunks. The player — if they’re still playing — is busy elsewhere, so this is where we need to bring plot and lore from different angles. This is the place for audio logs, encrypted messages, NPC dialogue, environmental storytelling with cutscenes more sparse and more judiciously paced. Control has firmly been planted in the player’s hands, so let them collect information like loot. Hide the nuts for them to find like a busy squirrel. When the crisis hits, it’ll be even more of a contrast – the player has become a powerful agent, but the character feels crushing hopelessness. This needs to be driven home by the player, too, losing something, or else we get a ludo-narrative disconnect. Here is the place for the +5 sword of ruthlessness being flung away into the lava, or half the controller becoming useless when the older brother dies.

Just make sure it makes sense.

In Act 3, the character picks themselves back up, rediscovers their strength and starts aiming for the Big Bad. The player has a lot of agency left even without the +5 longsword and should relish the upswing. This is when you throw the hardest stuff at them, and when the risk of ludo-narrative dissonance is smallest. Up and up! The character becomes the hero with and through the player’s support. All is pulling in the same direction, to the resolution.

If this all sounds like “railroad them into Act 2 while they’re willing, shower them with toys in Act 2, top it off with a joyride”, then yeah, that’s not far off. Just make it a good ride.

The early railroading, getting in as much of the plot as you can, is less of a problem because the player doesn’t have full agency anyway. You’re not instantly giving them the endgame skills and monsters. They’re getting their feet wet with the game, growing into it. They may even welcome the plot development if it helps them in that.

Please note that railroading here doesn’t mean “non-interactive”. It just means the first 30% of the game look more like they’re “on rails” compared to the middle, which is the “candy store” part. There’s no branching plot and no open world before that point. It’s just a careful string of breadcrumbs. Then the big thing happens, we’re in Act 2, and bam!, the world is your oyster.

Two main dangers: Act 1 is so boring that they stop playing. This can be countered by bringing Act 1 storytelling in line with the player discovering the world and its mechanics, supporting rather than hindering. To a large degree, it will help if the player can strongly identify with the protagonist and begins to root for them. Or the protagonist’s crisis at the end of Act 2 feels so disconnected from the player’s state of power that they can’t get over it. This may be prevented by solid storytelling and making the crisis a consequent outcome of the player’s own actions (the try/fail-cycle).

Of course some players really just want to let off steam, or relax for a while. These players will see story as an obstacle. They will balk at the idea of cinematic cutscenes. We’ve all heard it: “Don’t take control away from the player”. That’s fine, it’s just the point where it needs to be said that there are other games for that. That is not our audience. You just can’t please these players with a story based game. There’s no use in trying.

For story-based games, though, and for everyone who looks forward to the cutscenes in classic games and feels for the protagonist, this is the best stab I can give it and it’s the method used in Scout’s Journey.


Loading

Continuing the massive script edit, I decided to work on paper and was surprised how much easier it is to spot problems with your script. For some reason, superfluous dialogue and jumbled action parts are much more obvious on the page than on the computer monitor. It is also much simpler to correct these with a pencil than with a computer keyboard.

You can see how this method is much more immediate and the nice big print makes it easy to fully grasp the impact of a line of dialogue or an action sequence. You can write a lot of stuff very quickly on the computer, such as a first draft or a wide-ranging story edit, but for the fine work such as this, you can’t beat paper.

Example of an audio log and work being done to shorten it, giving it more impact. You can see the last couple lines simply struck, because you can’t end on a stronger line than “strike these people down”.

This is the first chapter / first level printed out for editing. The first 12 pages — the introduction — have gone through so many changes and edits that I lost count. They’re very close to rock solid now.

Script writing is not the most interesting part of game design to most people because it’s not as immediately impressive as level screenshots or videos. Nonetheless, it is very hard work and totally underappreciated by most gamers.

Spare a thought for the people writing your game. It’s more common these days than you might think, and it’s back-breaking work.

Kind regards.


Loading

The opening of Scout’s Journey has been slashed from 8,000 words to 5,500 after I put the script under the microscope for the first time in two years. This means, as KIT Scenarist tells me, that the player gets control after 10 minutes now. For some games, this might still be considered long, but SJ is more story based than most.

I cut several scenes and kept just the best parts of others, focusing on the perspectives of major characters while losing a lot of fluff. Among it all, I cut a tutorial section, a phone call, lots and lots of dialogue, a little dog, a little girl, a bunch of soldiers and a raft of odds and ends. I kept most of the action, introduced antagonists earlier and dropped strong hints about a conspiracy surrounding Scout’s arrival.

In the rest of the first level, I removed or pushed back anything that breaks the sense of Scout being lost in an overwhelming catastrophe, and put some of the backstory in the first couple audio logs. There is generally more information in dialogue now instead of cutscenes, things being hinted at for the player to form their own impression of the events leading up to Scout’s arrival. Dialogue was really slashed in a lot of places overall, though.

I also pushed back all combat and decided that Scout will rely on stealth and cunning, underlining the fact that she is alone and outgunned, until after about the game’s halfway point.

As a result, the first level kicks off with a “B story” that brings inciting events, a lot of action and backstory, and introduces impact characters. This soon merges with the “A story” of Scout’s arrival and the circumstances of that. It’s all pretty streamlined and focuses exclusively on setting up the atmosphere and introducing the main characters and their conflict.

As for gameplay, it’s exploration, looting/collecting, light puzzles, a bit of lockpicking, a bit of stealth and light platforming.

Part 2 continues with the A story, with Scout finding some allies and being pulled into their conflict, and more on the B story relayed directly to Scout by friendlier B story characters. Gameplay there is heavier into stealth. Fighting might still arise if the player, say, decides to mess with a patrol, but it’s decidedly ill-advised.

Part 3 is all A story and Scout crossing paths with the main baddies. Gameplay there revolves around dealing with patrols and enemy camps, only to finally encounter Big Bad himself, kicking off a string of midgame story events and a big character development for Scout.

Lots of work, yay. But progress! It’s good to see how some heavy cuts make everything better, from action scenes to audio logs. The cut parts are not lost, rather now a nice pile of material I can pull bits and pieces from to embellish the main script where it fits.



Loading

Spent the night poring over the SJ script, something I hadn’t done for two years, and trying out a variety of screenwriting software and other tools. It’s going to be so much work knocking this into shape.

It’s meandering, full of subplots and exposition casting light on past events, the minor characters and their relations, and the history of the various factions. While that stuff is nice — there are some genuinely fun and action-packed scenes that I regret having to cut — I decided to take a sharp look at anything that doesn’t:

  • feature Scout, the protagonist
  • alternatively, feature an impact character (not so many of those)
  • directly further the plot.

Having to mark some of these characters as “minor” is depressing, because they’ve been around so long and all have a backstory. Having to remove key scenes that explain how faction X came to be, or how they fought faction Y, hurts as well because these scenes tend to be entertaining and full of action. I like the virtual smell of napalm in the morning and the sound of explosions as much as anyone, but these scenes all lack a key detail – the protagonist.

As such, at least a fifth of the pages need to be cut. 150 pages of script is too much. The program says the script is 180 minutes long, twice the length of a feature film. Now a lot of that is pure action, namely gameplay. Still… I’d like to get that number down.

This is one of the screenwriting softwares I’m currently testing. It’s not that Libre Office wasn’t adequate, but it tempts me to include colours, headlines, and images. That doesn’t further the script’s readability. A dedicated screenwriter (Trelby is pictured) doesn’t let you mess with the layout. It automatically picks the safest choices for you and provides only building blocks such as scene, character, and dialogue.

In Trelby’s case, the most common blocks are (mostly correctly) guessed based on what you’re writing, or you can press TAB to chose between them. If you need something less common, like a note, there is a popup menu. It goes fullscreen for a distraction-free experience and is very tweakable. A light theme is default, I just changed the colours.

These programs also feature reports and statistics; how many lines of dialogue does a character have? In what sequence do characters appear?

This can be incredibly useful in telling which characters are actually important and what the general flow of your plot is. Notice how Scout, the protagonist, has a line going almost straight through the plot (the topmost one), and how more characters are introduced gradually. (Some are counted twice because lines are marked as (V.O.), meaning the same character speaks from the off.)

Another good free scriptwriting tool is KIT Scenarist. I find Trelby has the edge where usability and simplicity are concerned, though both offer good distraction-free writing experiences. I also checked out Scrivener, a writing tool with many a glowing review, but I found the Windows version lacking and full of clutter. The better features are only available on Mac, and I don’t run MacOS.

A nice free tool (well, free in 500-word chunks) is Pro Writing Aid. It checks your text for many style problems (wordiness, passive language etc) in realtime. Very impressive. The full version is 20 bucks a month, which I might cough up at some point, but not yet.

Another helpful writing aid with a Google Docs plugin is SAS Writing Reviser.

One of the surprises about the SJ script is that there are several antagonists, but none of them are very important. Nothing I would call a major character. I guess it’s just not about beating the bad guy that much. It’s definitely not Batman vs The Joker.

Rather like Voldemort or even Sauron, SJ’s big bad is often mentioned but just a little of a douche. He does swing a sword in the endgame, but not to great effect. He looks scary, though. That’s where the logo comes from.

It’s nice getting back into game dev after all the craziness. It’s a lot of work, but work I can enjoy. In fact I’m itching to get things done.



Loading

The “About” page is back, looking much like it did on spawnhost, but with MOAR CONTENT, including music from Scout’s Journey in FLAC format and many levelshots that probably haven’t been seen outside the #rmq IRC channel.

I won’t port old posts from spawnhost but I will maintain the site and have made full backups. I might implement things like a gallery again here, though.

I will have to sift through the script and do substantial edits there, and I need my workstation up and Blender running so I can get back to work. Now if only that PESKY virus would go away, I could get my household out of storage.

Is 2020 the worst year so far? Let’s all give it the finger. Let’s get up and do something.



Loading

What’s been up with me

Wow, first post in like a year. I apologize for letting down some faithful readers of my old blog. At least I did a wordpress update and splurged on some security features for this site. I’ll look at some plugins and finally setting up a subscription service again next.

I’m sitting in a cozy little downtown apartment typing this on a Macbook Pro, listening to some Smashing Pumpkins on youtube while the food is on the stove in my little kitchen. The work week is finished, capped by another Cisco exam. Things are newly good. But boy, what a slog it was getting there. I spent much of the winter in a sleeping bag on the floor with two electric space heaters barely keeping it above zero during the night. What happened?

I freed myself from living on the dole for a year by scoring a job in IT in the spring of 2019. At the time, I was sharing a house with two distant relatives who’d recently gotten into each other’s hair. They owned the house but didn’t live there. I was paying to stay. When it got to threats about auctioning off the house while I was still living in it (that’s how nice my family is), I packed all my things and had them put into storage. From then on, I crashed on the floor, living out of an old Army duffel bag, still shaping up for work every morning.

Like all amateur strategists, they didn’t commit with the auction thing nor with anything else. It was just psychological warfare. Nobody bothered to fix anything about the house including the heating. So it got close and closer to zero at night. So I got electric heating. I’m pretty sure I got pneumonia. Then I got an apartment.

It was a stroke of luck. Downtown, affordable, nice. I signed two days after first seeing it. I moved in there with three paper boxes, a duffel bag and a mattress. The taxi driver ripped me off. But I had a flat. Paying the deposit almost killed me. I managed.

Then Corona hit.

It’s going on three months of home office now. At times, it drove me up the wall. I got depressed. I had difficulty concentrating. I still didn’t have any furniture because I couldn’t take my stuff out of storage. I didn’t have a way to wash my clothes except by hand. I love cooking my own food, but sometimes I lived on the Viet Cong diet – rice in the morning, rice in the evening.

It kicked into overdrive when another school block started (I’m doing computer science). Germany is a little behind the curve on the digital things, a little not quite state-of-the-art. So the Corona school block has pretty much been “here are some links, please teach yourself, exam on Sunday. Have a lot of fun!” I mean, that’s madness at the best of times, but these aren’t the best of times.

I’m doing better now, though.

Trying to be objective, I’m a much better programmer now than ever. I’m doing GUI programming on Windows in C#, LDAP queries, crypto and regex in Python on Linux, and fixing PHP scripts in between. I’ve gained some serious C++ muscle as well. I never quite put C++ down because I still expect to do some Unreal development.

While most of my life was in storage, I’ve had a lot of time to look at things from a distance. That can be really helpful. I still don’t have my workstation PC, but I’ve looked at Scout’s Journey from all angles in my mind, over and over. Suffice to say I got a number of clues. I’m going to make some changes, pare it down a lot. Both the gameplay and the script need a lot of editing. It’s been a humungous collection of ideas. Time to cut it down, make it more compact without losing the essence. Time to flex that muscle.

Time to jump back in.



Loading