Operation Extraction

Start Game

This game was an experiment in building up a game around multiple intersecting narratives. Unfortunately, the experiment didn't really work. I submitted it to the IFComp to see what other people thought about it, but I became so nervous that I actually stopped reading any IF news sites or blogs. I think the game came in last in the contest though.

The Concept

For a long time, I've been curious as to why there aren't more games involving multiple intersecting narratives. There are many movies written in that style, like Babel or Crash, as well as books and plays. You get to see the same event play out from different viewpoints, see how disparate people come together either purposely or by accident and have strange influences on each other, or see how minor events might have major repercussions. Although there are occasional art games like that, they often make limited use of the interactive medium, so I was interested in understanding things more deeply.

So, I decided to give it a shot and put together something to see what was so difficult. The basic idea was to make a game where the player isn't an actual character in the game. Instead, the player acts as a disembodied third-party observer. The player can move between places and observe characters going about their lives. The characters will move about and interact with each other, and the player could potentially manipulate or influence some of these characters and events and see the side-effects ripple through the lives of the characters.

Having all these characters moving around and interacting is pretty complicated, from both a programming and user interface perspective, so I opted to go with a restricted interactive fiction format. Players would have a view on one room at a time and events would unfold in a turn-based fashion. This causes a problem that the player only sees a small part of the unfolding story at any one time. They have a small window into one room, but interesting things might be happening elsewhere. Since one of the joys of having multiple intersecting narratives is to see how these different narratives join and mesh together, it forces the player to play through multiple times in order to see everything, which is a little bit annoying. To get around this problem, I designed the game so that you could easily flow forwards and backwards through the timeline of the game. Want to know how a character got to a certain location? Just walk backwards through the timeline and follow the character backwards. Curious about how a small change in the beginning of the game would affect its end? Just rewind to the start of the game, change things around, and then fast-forward to the end to see the outcome.


In the end, the game just didn't work. Writing a game with multiple intersecting narratives was much harder than I thought it would be. Since there are so few games of this style, I tripped over many obstacles that should have been obvious in hindsight.

Game Design

Two of my choices about the general design of the game severely weakened the final result.

The first was my insistence on including interaction in the game. My thinking was that since games are an interactive medium, you need to provide the player with meaningful choices in the game. This just made everything much more complicated and prevented me from being able to just "borrow" plots and ideas from books and movies that also involve multiple intersecting narratives. Instead, I had to create game scenarios from scratch that would lend themselves to some form of interaction, and that simply exceeded my brain capacity. What sort of choices make sense in a game like this? Perhaps the player is a god who interacts with the characters by summoning earthquakes and hurricanes? Are they a ghost who can whipser things into the ears of characters, influencing their decisions? What makes sense in the context of the game? The player is an omniscient 3rd party observer, but what is an appropriate form of interaction for them in the game? On top of that, I had to be careful not to make things TOO interactive because I wanted to avoid a blow-up in the number of endings in the game. Finding game scenarios that had a suitable form of interaction in them was simply too difficult and too limiting. In retrospect, it might have been better not to provide the player with any choices. Many "games" are only barely interactive, but they are well-received due to other interesting features. Instead of giving the player meaningful ways to alter the plot, perhaps it would have been better to restrict the player's interaction to being able to follow different characters around and thereby develop an understanding of the greater truth behind a situation by seeing the same event from different perspectives. Although books and movies already do this well, perhaps simply giving the player control of the perspective adds enough to the experience to justify the use of an interactive medium?

The second problem with the fundamental design of my game was my idea of having a timeline that you could navigate backwards and forwards. Although it sounds cool in theory, it ends up severely limiting the stories you can tell. Unlike movies and books, my game design required not only multiple intersecting narratives, but a consistent timeline as well. Everything has to occur simultaneously because there is only one timeline. You can't have one event happen on one day, and then skip to the next day to see what the consequences of that event are. With this game design, everything has to occur during one continuous chunk of time. Books and movies can also cut out chunks of the timeline that are uninteresting. But with my game design, you can follow any person at any time. And sometimes, characters aren't doing anything interesting. Sure, there might be one group of people who are having a heated discussion in a certain room at a certain time, but the player might be following a different character, so these other characters also had to be doing something all the time just in case the player decided to follow them. I can't edit the experience like in a movie. Sometimes, the characters would have to wait for another character so they could have a conversation with them. Is the player just supposed to sit there reading about how the character is waiting around for 15 minutes until the other character arrives? What am I supposed to fill that dead-space with?


My choices about the design of the game ended up severely restricting what possible stories and scenarios I could shape a game around. I spent months brainstorming various ideas, starting to build small sample games and just having things falls apart. The usual obvious choice would be game about how small changes and serendipity can have huge effects on people's lives. There could be one small event at the beginning, and depending on what happened there, wildly different endings would result. I always found this concept sort of cliche, plus the player's choices would be limited to the very beginning, while the rest of the game would play out like a movie, which wouldn't work well for my game design.

I did toy with the idea of building a game around the opposite scenario. Often, couples like to recount stories about how some chance encounter or weird coincidence caused them to get together. They like to say that if "he hadn't missed the train" or "she hadn't spilt the wine" or "he didn't decide to go to the party after all" then they wouldn't have met their soul mates. So I was thinking of maybe making a game where the player could try to prevent all of these chance occurences from happening, but in the end, there will still be scene in the future where the couple will discuss their chance meeting. Not really a story about inevitability but about how "lucky" events are actually one of a never-ending stream of opportunities. In the end, I felt that this scenario would be too linear. You would play through once, see that the couple gets together, rewind to stop that event from happening, play forward again, see that they get together again, rewind to stop that next event from happening, etc. etc. I also toyed with horror plots and murder mysteries but I couldn't work out the details.

Instead, I thought that instead of focusing on plot or characters, it might be more fruitful to build a game around a theme. There would be multiple characters and events that individually aren't too detailed but collectively explore different aspects of a theme. I was thinking of building something around the theme of connection and networking that would explore the effect of personal networks on opportunities, look at the nature of informal communication channels, the perils of forming a network of like-minded individuals, etc. But I just couldn't make it work. I looked at making a game about the corruption of an organization where all the individuals within an organization seemed to be doing the right thing but collectively the organization was either dysfunctional or doing bad things. Could such an organization function solely based on the ignorance and inertia of its employees or does someone need to be actively be pushing it in an evil direction? But I couldn't really work out how the player would interact with the game. I also started working on a game based on the theme of "nice," which would examine people who are considered "nice" but who actually have a negative effect on the people around them e.g. someone who is nice and caring but is too timid and powerless to actually help anyone, someone who is only concerned with "appearing nice" and being polite but who is actually quite selfish and self-centered in their actions, and someone who is nice but is obsessed with being taken advantage of by others, so constructs all sorts of elaborate rules to prevent cheats. I just couldn't get this game to come together though.

In the end, I decided to go for a simpler heist/hostage-rescue scenario for the game. The idea of coordinating multiple people in some sort of elaborate heist or other plan was a reasonable match for the game structure, even if it wouldn't really show off the best aspects of a multiple intersecting narrative game. I was a little bit afraid that having players coordinate an elaborate heist involving multiple people would be too complicated for people, but I hoped that by keeping the plan simple and providing multiple easy paths to success that it would work out ok. The main advantage of this scenario though was that I could get away with lower quality writing. I'm not a great writer, and I felt that I could get away with poorer characterization and setting by targetting this genre.


It turns out that writing multiple intersecting narratives is HARD! I thought that since I've written concurrent code, I should be able to work out how to write something with lots of independent interacting characters. Apparently, not. The logistics made my head spin. With my choice of an elaborate hostage rescue plot, timing was crucial. Someone had to distract the guards such that they would get to the rendez-vous point just a little bit later allowing another group to slip by. But if the distraction didn't occur, then the guards should arrive just in time to foil the plan. Stuff like that. So, sitting around working out the timings of all of these possible interactions was just a nightmare. And with the timing puzzles, there were lots of periods where secret agents would have to wait around for other trigger events to occur, which was just boring. Position a sniper on a building? Well, now they have to sit there waiting for something to shoot at for 20 turns. Plus, there were just too many rooms and locations. Part of the charm of a hostage rescue plot is the scenes where the protagonists evade the pursuers, but that requires lots of rooms to move between, which just makes things hard for the player to follow and tedious to read (you keep having to announce when players enter and leave the room).

In the end, the main problem was that my writing just wasn't up to snuff. Having mostly done academic writing for the past few years, my writing style had become leaden and boring. I also lost my mind and decided to write in the past tense (I found writing a lot of action scenes in the present tense to feel a little unnatural) with lots of dialogue in script format (the other game scenarios I was playing with involved lots of conversations between lots of different people, so I thought a script/visual-novel format would work better for those), but it just ended up reading bizarrely. The writing quality also suffered because the writing could make no assumptions about how the player encountered the text. The player might sit in one location and watch a scene unfold, or they might randomly jump around to different locations. If a player is jumping around, then the description of events unfolding at each location needs to give the context of what's going on so that the player doesn't get confused. But if the player is staying in the same place and watching an event unfold, they're already familiar with the context, and these repeated descriptions just feel dull and stilted, so the context needs to be as short as possible. It was just a real pain.


Figuring out how to program multiple independent characters who could move around and interact with each other was also difficult. I thought I had a framework that would make everything manageable. I made a mini programming language where you would describe the actions of individual characters in a co-routine like form. This code would then be translated into giant state machines. The state machines would all be deterministic so that the game engine could at any time simply reset the whole timeline and play events forward to any point in time.

Unfortunately, although co-routines are a great way to describe the movements of an individual character, they don't work so well in describing the interactions of multiple characters. When two characters in a room start interacting with each other, I needed the co-routines to coordinate. The characters had to detect the presence of each other, and then one of the co-routines had to be suppressed so that the other one could drive the interaction. Then, when the characters stopped interacting, the suppressed co-routines would have to be reactivated. Writing up a simple conversation might involve editing 3-5 different files, so it just ended up being very complicated to code. In retrospect, a better programming model for a game like this would probably involve having various code snippets that would "trigger" on certain events. So you'd have code for a conversation that would trigger when two characters are in the same room, or something like that.

The most annoying thing though was the fact that even though I had an elaborate world model that allowed for events early on in the game to ripple through and affect things later on, the game itself felt like a CYOA game. What's the point of building such a complicated model if the player feels like they're only choosing between a few static branches instead of having real, deep effects on the world?


So in the end, my little idea of trying to make a game involving multiple intersecting narratives simply blew-up into a huge, boring nightmare of a game. As an inexperienced game designer, I clearly bit off more than I could chew. I should definitely go back to making simple little clones of existing games that have well-known game mechanics. The act of building such a game did give me some insights into how to properly put together such games in the future though.

My obsession with including interaction was unnecessary, especially for my skill level of writing. The enjoyment of having multiple intersecting storylines is that you can explore different viewpoints to synthesize your own understanding of the truth. That's probably sufficient interactivity right there. I should have focused on a small setting with a handful of rooms with lots of interesting characters conversing with each other. Conversations are easy to jump in the middle of, can be left at any time, and really help bring about interesting characterizations. I think this sort of scenario would be more likely to produce a workable game.

I think it might be a while before I attempt another one of these though.

[Home] [Up]