Good Robot Postmortem #3: Story

By Shamus
on Jul 26, 2016
Filed under:
Good Robot


There’s almost nothing in the way of story in the game, although it’s not for lack of ideas.

My original idea – which you can still sort of see scraps of here and there – was for an insane world. Since “robots go haywire and kill humans” is such an ever-present trope in fiction, I wanted to create a silly world where the reality was just as common as the trope. A world where homicidal robots were just a fact of life. A world where the solution to killer robots is to build more robots to protect you from the killer robots, and then when those go haywire you get more to protect you from them, and so on, until the air is thick with robo-warfare. The companies that make the robots are terrible at engineering, and the people are all mindless consumers with no sense of self-preservation.

This wasn’t intended to be some heavy-handed social commentary on consumerism or anything. It was really just an excuse to make “crazy robot” jokes and gently poke fun at well-worn genre tropes.

It’s a bit like Saints Row The Third, where the player is encouraged to not feel bad for the idiot civilians they run over, since they’re all shallow and stupid. In Saints Row, people vapidly worship the endlessly destructive, mass-murdering gang. So when they die it’s not an injustice, but comeuppance. Maybe throw in a dash of “Everyone is insane” from Borderlands.

The game would briefly pretend that you were fighting bad robots, but quickly the story would (somehow) hint that you were just the latest in a long line of pedestrian robo-servants turned rampaging killbots. The final level would have you fighting the ARK, which the player might infer was a vessel being used by the last of humanity to escape the mess they’d made.

To be clear, I wasn’t looking to do a “YOU WERE THE VILLAIN ALL ALONG” kind of twist. Yes, you’d wind up genociding the human race and that probably sounds pretty villainous. But my goal wasn’t to condemn the player for playing the game like Spec-Ops: The Line. Rather, the goal was simply to take the absurdity of insane AI to an even more absurd extreme.

The turrets in Portal are always trying to murder you, but people don’t think of them as “evil”. In fact, they’re kind of lovable. I wanted the Good Robot to come across in much the same way. It’s just doing what it does, and you can’t really hate it for that. I didn’t want the player to feel guilty or betrayed, but instead I wanted them to chuckle, “Of course. It HAD to turn out this way.” I wanted them to feel like they were basically giving these idiots (their creators) what they deserved.

Coming up with these kinds of jokes is shooting fish in a barrel. Rutskarn took a lot of these concepts and ran with them, making them darker, yet also funnier. He looked at the Good Robot design and noticed that one of its arms looked kind of like a pizza cutter. So he ran with the idea by suggesting it was literally true: The Good Robot was a pizza cook / delivery robot that went crazy because of course it did.

So that was the story.

That Sounds Fun. So Why isn’t Any of it in the Game?

The problem was: How do we convey this? This is fundamentally an action game, and action games do not mesh well with the little story popups I was using to convey this nonsense. Nobody wants to stop in the middle of a gunfight to read a couple of paragraphs. It was an awkward – even unwelcome – break in the flow.

Originally, there were little icons floating around the levels. If you activated one, you’d get a popup dialog with some text that would reveal a bit more of the world. The icon would also spew out a little XP (later changed to money) to encourage you to seek these things out.

There were several problems with this:

  1. Since these story nodes were scattered around randomly, the player could easily miss them. This made it hard to tell jokes. Rutskarn could put the set-up for a joke in one node and the punchline in another, but the player might obtain them in the wrong order, or miss one of them. You could put the setup and punchline in the same popup, but that’s inherently less funny. It also makes the dialog longer. It meant that all jokes needed to be fully self-contained and limited the amount of worldbuilding we could do.
  2. Players don’t want to stop and read things. This is not because today’s youth are illiterate dum-dums who don’t appreciate the rich literary tradition of LOL MURDERBOT jokes. It’s because this is an action game and reading text – even witty, fun, clever text like Rutskarn writes – is fundamentally at odds with this. Walk up to your friend while they’re playing Geometry Wars and shove a couple of really witty paragraphs from a Douglas Adams book in their face. I predict they’re not going to appreciate the humor in that context.
  3. By delivering XP, we were sending a message “You need to be collecting these things!” They were supposed to be fun and optional, but that’s not really how the gamer mind works. We know a collection quest when we see one, and we’re always wary of missing out on important items, information, or XP. Which means that playtesters would fly around an empty level, making sure they didn’t miss any popups. This was a fun-killer. As a game designer you can’t tell the player, “Don’t do that. You’re playing the game wrong.” If they’re playing the game wrong it’s your fault, and you need to properly guide them to the “correct” way to play. And you guide them through incentives.
  4. This was supposed to be a game about replay value, and jokes do not fare well under repetition. This is particularly true in the case of a game where you’ll play the starting levels over and over again.

So this wasn’t working. We explored a lot of ways to fix this. We experimented with the ordering of the jokes to make sure that the setup would always precede the punchline. We toyed with the idea of only putting popups in specific tunnels that would be empty of enemies, to encourage players to stop and take a breather. We thought about only putting them in the first and last room of a given section. But all of this still called for the player to stop playing and read some text, which felt fundamentally at odds with the rest of the experience.

We considered the idea of doing a Borderlands-style voice overs. You can still see the remnants of this idea if you look at the Steam trading cards for Good Robot. You’ll see there was a general character, a slimy corporate salesman who was constantly trying to downplay the ridiculous scale and scope of the destruction, an indifferent tech support operator who spends all day fielding calls from people who are trying to fend off the new robot they just unpacked, and a malfunctioning idiot self-aware computer virus that just wants to sell you useless shit.

Basically, each character was a container for a style of joke: So if we had jokes about email scams, virus, anti-virus, transparent phishing scams, or malware, they would go to the Virus. Jokes about marketing, corporate speak, and tone-deaf corporate PR would go to the salesman.

The thinking was that their portrait would appear in the corner and they would talk to the player over the radio. This sort of ran against the initial idea of you being the bad robot. I mean, if you’re that bad robot then why would they be talking to you, a robot who has no money, isn’t a customer, and is causing the problem they’re trying to solve? So the Good Robot was changed from “the robot that thought it was good but was actually crazy” to “the only good robot in a world of killer robots”. That ran against my initial concept and took a little of the the dark edge off the humor, but made it easier to tell jokes.

But voice acting is expensive. And it’s awful if you get it wrong. Badly delivered jokes are far worse than silence. And there’s still the problem of when to do it, since you don’t want these idiots jabbering at the player during tense fights, covering up a corner of the screen with their image and drowning out the game audio. If done well this could be amusing, but done poorly it would be a disaster. And since none of us had done anything like this before, the odds were pretty good that we wouldn’t nail it on our first try.

Voice-over work requires finding voice actors, casting them in parts, recording and directing their performances, and paying them. We were equipped to do exactly zero of those things. We’d never worked with audio vocals before, which meant there probably would have been blunders and false starts. I think we all realized that paying money to voice act a story that was still being changed and re-written every couple of weeks would be a bad idea. On top of this, it was a story that only existed for the sake of tone and texture, and wasn’t required for the core gameplay to work.

Ultimately we decided we didn’t have the time (budget) to risk on something like this. The characters were dropped. The only remnant of them in the game is that their portraits are used on the Steam trading cards.

So in the end, we wound up with no story. That’s a little disappointing, but I’ve always said that games don’t need to have story, only that the story they do have be worth listening to. While I have total confidence in Rutskarn’s ability to tell jokes, I was doubtful we could tell them in a way that didn’t interfere with gameplay. It was a shame to throw out so much good stuff. Rutskarn did a great job, but a lot of his work wound up being cut. It would have been wonderful if we’d found the right way to deliver his material. But I think cutting it was the right call. If you can’t find a way to tell your story gracefully, then it’s better to leave it out than to tell it un-gracefully.

So that’s where the story went. We’ll wrap up this series next week.

Enjoyed this post? Please share!


20203Feeling chatty? There are 43 comments.

From the Archives:

  1. anaphysik says:

    As I said once before (“I know we promised not to let Rutskarn hear nice things, but…”), the ‘story’ parts that ARE a part of the finished game (the terminal ‘Breaking News’ blurbs) are by far my favorite part of Good Robot. I adored every single one of them… that wasn’t on the last level. The last level’s blurbs felt like they were tearing the world apart and destroying the setting. Like all those planet descriptions in Mass Effect 3 that end with “Reapers have glassed everything interesting and intriguing here.”

    • Sabrdance (MatthewH) says:

      This strikes me as having always been a problem with the underlying joke. It relies heavily on the player having a certain mindset -basically D-FENS from Falling Down -so that the final joke is “I’m the bad guy?” I doubt 1 in 100 players has that mindset, so there is no way that the joke does not usually come across as a “you were the villain!” twist.

      Which will tend to cause all the worldbuilding up to that point to fall apart.

      • Syal says:

        I wonder if that would work better in the middle of a story rather than the end of it. Like, the Good Robot is on a mission to save humanity, but it decides to cut a bloody swath through a nearby orphanage hospital in order to shortcut to the bad robots and save humanity faster.

    • Hal says:

      I’d love to know more, since I’ve never been able to get past the third world.

    • Sleepyfoo says:

      I actually liked them all the way through, though the last level mostly in hindsight. To be fair, I only read them my first time through.

      I liked the implied apocalypses the world had been through and was going through at the same time (ex. Our AI has changed the risk of Singularity from very high to very low, implying the AI is trying to calm or mislead the populace, or has already achieved singularity and they didn’t notice). I think, however, that a good part of my enjoyment (and my getting the joke) was a result of following the blog, and thus I was “read in” as it were. Even the last level, I wasn’t really thinking critically so it took several messages for me to realize the unstoppable bot they were raving about was me.

      I also like that you, the Good Robot, are clearly (in hindsight) a broken defective robot that got tossed out into the trash. You start the game in the junkyard with junk weapons, and the Quality Assurance Bot, whose job it is to prevent sub-par products from leaving is the first Boss. Everything that tries to talk to you directly (rather than through advertising, assorted news headlines, and product descriptions) is horribly Garbled and generally unintelligible. You were created to destroy violent robots, but everything attacks you (and thus must be a violent robot) and you have no way to tell the difference between a vehicle and a robot. So, fulfilling your objective basically involves wiping everything out, and when there is finally peace and calm, you throw a party for a job well done.

      It was kind of jarring the first time, though, again because I wasn’t thinking about it so it was only visceral “I’m the villian now?!” thing going on. Ironically, I think it might work better to play through the whole way ignoring the news blurbs so you experience it as a completely clueless robot, and then go through it a second time with the blurbs to give yourself the wider context. Note that I think forcing that would be a bad idea though.

    • Van Tuber says:

      I never actually read the last level blurbs; I just thought they would be the same. Looks like I need to beat the game again.

  2. Will says:

    Honestly, I think you should have taken a shot on the voicing. You can’t learn until you try it and put the product in front of the public. I think a GlaDOS style evil voice in your little robot head could have worked well.
    Given the size of your audience, I suspect you could have found a number of volunteers to do voice work. It’s something I’d like to eventually do on the side, and doing pro bono work like this is great for building a CV.

    • Tizzy says:

      The way I read Shamus’s comments, I don’t think finding actors is the main problem. Directing them is a big part of the job that is hard to learn as you go, and coding it would be new territory for the team that would certainly take a long time to iron out. Not worth the extra hassle when you consider how much had to be polished before shipping already.

      • Joe Informatico says:

        Yeah, we can look at AAA games like Skyrim and Dishonored and Destiny that stunt-cast some pretty impressive Hollywood talent whose efforts mostly fall flat. And then compare with a smaller-budget effort like Life is Strange: while it’s not necessarily Naughty Dog-levels of voice-acting excellence, it’s clear it’s being directed by someone with skill who gives a crap and getting better performances than studios with far more time and money.

  3. Wide And Nerdy® says:

    So there was more than just what you get at the upgrade stations?

  4. The Rocketeer says:

    Rutskarn did a great job, but less than and it would have been wonderful if we’d found the right way to deliver his material.

    I think you might have typed a functional sentence here, and then later edited it into something discromulent, like what I tend to do all the time.

  5. Blastinburn says:

    In the end I think you made the right call in cutting the story since it’s a difficult problem to solve and you want the audience for the game to extend beyond your site’s readership, thus people who would look forward to the writing before even starting the game. That being said it’s still an interesting problem to think about.

    I think you were right about having XP/money tied to the nodes in that it would hurt the pacing, but maybe having it just be there without any external reward might have worked. Then how do you convey that these nodes have 0 reward so players who aren’t interested (or are replaying) don’t waste their time? Perhaps the first node could be the tech support or engineer explaining how useless these data storage things are, “We’re in the middle of a robot apocalypse and you want to scatter records everywhere? That’s a terrible idea, HEY what are you doing put that camera down!” Hopefully this would tell the player that the only thing these nodes do is provide story/context/flavor.

    I also think the idea of putting them at the beginning+end of each level would have worked, as there is already a break/quite time for the player to slow down. You also get pairs of nodes for joke+pay-off and the player is unlikely to miss them.

    • John says:

      I guarantee that if there had been any kind of mechanical reward whatsoever associated with the story pop-ups then there would be several people posting angrily on the blog that they were being “forced” to collect them or “punished” for not collecting them.

      I hate that this is the way the internet–or possibly just the human mind–works.

      • Nidokoenig says:

        Given the high difficulty level, especially for the hat cheevos, I think that this game is the closest you get to a valid use of those terms. If not getting the thing could potentially ruin a run, and there’s a finite supply of thing, it strongly incentivises you getting all of the thing, every time. Sure, it could be a trivial amount, but if it gives you 20 exp and you’ve ever been 10 short of being able to buy something, you get the exp. This is slightly informed by my slightly compulsive hoarding habits, though.

        • John says:

          I’m still not convinced that the game is especially difficult. Sure, most people who’ve played have probably had an “If only I could have afforded that thing I wanted!” moment, but video games are supposed to have moments like that.

          Here’s a thought for those who are convinced that they need all the money. Try skipping to the boss as soon as possible. You’ll take less damage, so you won’t need to shell out so much for shields or repairs. You’ll beat the level (and the game) faster, too.

          • Bubble181 says:

            You’re missing the difficulty part. it’s not about ‘gee, I can almost afford this’. It’s about ‘I played the game for 8 or 9 hours, and have gotten nowhere’.
            I’ve played for some 8 hours and when I boot it up I’ll be exactly as good or as far in the game as the very first time I fired it up. I don’t have the speed/reflexes/fine motor control to play this game good enough to get very far. I’ve gotten to Chapter 2….twice? I think?

  6. Dilandau3000 says:

    A world where the solution to killer robots is to build more robots to protect you from the killer robots

    So… basically the plot of Mass Effect 3?

  7. Matt Downie says:

    “Rutskarn could put the set-up for a joke in one node and the punchline in another, but the player might obtain them in the wrong order, or miss one of them.”
    Solution: you rig it so whichever the player looks at first becomes the one you wanted them to read first.

    • Orillion says:

      I’ve never understood why games don’t do this by default. Unless you have carefully-designed setpieces where particular audio logs/fortune cookie fortunes/other miscellaneous wordy pickups HAVE to be found, there’s no reason not to automatically invoke Schrodinger’s Audio Log, where the next textual pickup you find is always the next one in the series.

      For something with jokes, you might want a ton of redundancy in a huge pool that the game draws from to reduce repetition, but you can always set up the system so that it intelligently knows when one log is the first in a series or not.

      • Philadelphus says:

        Schrödinger’s Audio Log: I love it. Obviously it wouldn’t work everywhere, but I’ve definitely run across places where it would make things much better.

        • pdk1359 says:

          And, of course, don’t make every note appear in a sequence, just set up A notes, B notes, C notes, etc. You can’t find a C not till you’ve read A & B in their previously. Then there could be F and G notes late in the game, that the player only see if they’ve been diligently exploring.

          Personally? Going with a system like that, I’d throw in ‘extra notes’ in the last levels that ‘overflow’ into designer commentary & jokes, but only if the player found every note through the game. But meta-humor and 4th wall breaking don’t bother me, so i could see other people getting annoyed; I’d still do it though.

      • Zekiel says:

        Well one obvious reason why not all games do it this way is if the audiolog is connected with the environment. In the Bioshock games, most (or possibly all) of the audiologs are found in a specific location that makes sense for the character and the content of the audiolog. Making them Schordinger’s audiologs would therefore lessen the impact and make the world feel less coherent since the recordings couldn’t be connected in any way to the specific location you were in.

        ‘Course in Bioshock that works fine because they’ve generally written the audiologs well enough that it doesn’t matter if you haven’t heard an earlier one from the same character.

    • HiEv says:

      They tried that.

      “We explored a lot of ways to fix this. We experimented with the ordering of the jokes to make sure that the setup would always precede the punchline.”

      • WJS says:

        “But all of this still called for the player to stop playing and read some text, which felt fundamentally at odds with the rest of the experience.”

        Reading comprehension. That paragraph is obviously about more than just the setup/punchline problem, which is very easy to fix by doing exactly what was suggested (picking jokes at random but with some constraints. Also good for replay value to not get the same damn lines every single time). Shamus seems to be complaining about there being any text to read at all, which is strange considering they also found serious problems with the game’s pacing. Reading through these posts gives a serious feeling of “WTF?”, because there are so many apparent contradictions. It makes it come off like they really had no idea what they were doing.

    • Mistwraithe says:

      Most Dungeon Masters do this from time to time. It is a great way of letting the players make choices but still ensure important things happen. (Of course you shouldn’t over do it, that becomes obvious railroading, player choices should matter and evolve the story in a good campaign).

  8. Ninety-Three says:

    This was a fun-killer. As a game designer you can’t tell the player, “Don’t do that. You’re playing the game wrong.” If they’re playing the game wrong it’s your fault, and you need to properly guide them to the “correct” way to play. And you guide them through incentives.

    That’s an interesting thing to say considering the “optimal play is cautious, boring, and looks nothing like all those cool gifs you post” criticism. Hoping you discuss that next week.

  9. TSHolden says:

    Could you perhaps pull a Team Fortress (except without the mountains of money and time of course) and repackage your work into another medium that serves as both standalone entertainment and also a kind of re-engagement for the game, post release? You have all the tools you’d need to do a comic already at hand, and a rep for making fun comics. Run a handful of strips here on the blog, and hopefully make some extra sales because someone thought the salesman was hilarious. Win win.

  10. Jokerman says:

    So… a spin off turn based RPG? With all the story…

  11. HiEv says:

    Just as a reminder, Rutskarn posted some of the script in “Good Robot #47: A Script Reading“.

  12. Knul says:

    About the floating icons that activate popups: you mention that the biggest problem with that is experiencing the story in random order or missing parts of the story.

    But how about activating a popup always shows the next bit of the story? So let’s say I’ve read story bit #24, I miss 5 story icons and I activate one. I would suggest that then the game presents story bit #25, instead of story bit #30 (or even worse, a random one).

    Also, your argument that it wouldn’t fit in an action game strikes me as odd. There’s plenty of games with optional story bits, like audio logs or “books” and I think most gamers are fine with it even in action-heavy games. Especially if they are completely optional: if you don’t like them, ignore them!

    I wouldn’t reward the player with XP or money for reading then, though. It would make them less optional. Plus, the story or jokes should be good enough for players to want to read them without a carrot hanging over it.

    • Xeorm says:

      Two reasons I can quickly think of: First is that you lose any context. Can’t talk about something that is likely to be happening, because it might be at the end of the game, or the beginning.

      Second: it’s really frustrating to find anything in the story if missing one means you’ve missed the rest of it. Could you imagine playing through a game, missing one little clue, and then not getting the ending at all?

      • Syal says:

        Could you imagine playing through a game, missing one little clue, and then not getting the ending at all?

        And then having to reload your last checkpoint and sit through fifteen solid minutes of cutscene before you get another shot at brute-forcing it.

    • Decius says:

      There’s the way Duskers does it: Put all the blubs, sorted by type, into a journal attached to the player. (Persistent across games)

  13. Stormcaller says:

    Evil Payoff mode: as the game is procedurally generated, you cant actually get to a boss until you find X messages, if you skip one, thats fine, you’ll get another…

    That way if you dont want the boss/want more chance for loots you skip messages for a while? (disclaimer, i’ve read this stuff, bought the game, but have practically 0 desire to play it :) )

  14. Zak McKracken says:

    “We thought about only putting them in the first and last room of a given section”

    That would have been my first thought, too.
    And that’s basically what e.g. World of goo does: Ephemeral storytelling (well, not even really a story) be means of signs at the start of every level, which you may or may not want to read at the start. Now, WoG is not so much an action game but since you’ve already got vending machines in a few places, I do wonder why you think it would have been too much extra distraction to also post a sign or such next to them.

  15. ThaneofFife says:

    I’m an actor in community theater in DC. If you all reach a point where you need voice actors again, I would be happy to volunteer. I’d even be willing to do it for free (or for credit, a free copy of the game, and a t-shirt, anyway).


  16. Aanok says:

    How about how Corporate Lifestyle Simulator does it? Short cutscenes between levels and bosses delivering little bits of dialogue before and after you deal with them. Since all the bosses are robots, you could even use some generic electronic SFX in place of voice acting.
    And the game is already in quiet time between levels, so there would be no flow to break.

    Also, on the topic of murderous kitchen appliances, there is this small, engrossing text adventure by the guys who made Primordia.

  17. natureguy85 says:

    So does the final upgrade make you a Reaper? Your story was what the Catalyst claimed happened in Mass Effect. It actually does sound fun your way though. I like that the people are dumb and just keep doing the same thing, stuck in a self made problem.

    I think you made a good decision though. I don’t own the game yet, but you don’t want to break the flight of a fast action game. We do need small breaks now and then but not in the middle of a fight.

  18. One way the story could have been handled is to unlock it after the player has beaten the game.
    Now the player knows how to play the game, knows the enemies. So hunting down all story parts would be a new goal. And the big “reveal” at the end could end up having more impact.

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *


Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>