Creating ‘The (Former) General’

I love all the stories in We Tell Stories, but I do have favourites. Back when we were planning the six week schedule for the stories, we decided to structure it like an album – start with a bang, and end with a bang.

The first story was The 21 Steps by Charles Cumming. It was the most visually striking of all six stories, using the Google Maps engine, and we knew that it would generate quite a bit of buzz among the tech crowd, so it seemed like a natural choice to open with. It certainly paid off – The 21 Steps has now been read over 150,000 times, which is more than all of Charles Cumming’s book sales put together. I believe he told BBC Radio Scotland that he was now better known for The 21 Steps than his books, which I don’t think is an overstatement.

I had the idea to create a story in Google Maps some time ago, long before we got in touch with Penguin, and I feel that it’s a rather obvious idea. I’m happy that we made it, of course, but I don’t think it’s the most mind-blowingly original thing that I’ve come up with. We excelled more in implementation and interface design rather than in ‘story architecture’*. When it comes to originality though, I am most proud of the design we made for the final story, Mohsin Hamid’s The (Former) General In His Labyrinth.

* This is a term suggested by Nina Rastogi, who mentioned it when I was struggling to describe exactly what it was that I did for this project. The stories aren’t games, so I didn’t do game design, but they aren’t ‘just’ stories either; they each have a unique design. Or architecture. It works for now, anyway.

Right at the start of development for We Tell Stories, Jeremy (from Penguin) expressed a strong interest in doing a Choose Your Own Adventure (CYOA)-style story. On the one hand, I can completely see why – it’s a fun style and it certainly fits the web, what with hyperlinks and so on.

On the other hand, it really doesn’t fit the web. People have made CYOAs on the web for a long, long time, and they are uniformly irritating to read. Whereas CYOAs in book format work, since you can keep your finger stuck in all of the branching points that you know you’ll have to backtrack to later, the traditional navigational metaphor of web browsers – back and forward – is just too basic. Coupled with the fact that pages on the web are free-floating rather than in a specific physical order, CYOAs on the web just don’t make much sense.

What’s more, most web-based CYOA implementations are depressingly unoriginal. Why slavishly copy the conventions of book-based CYOAs, with text at the top and a few links at the bottom? Why not use what the web has to offer – state-tracking, animation, graphics?

So I agreed to do a CYOA, but only if we could do something different. After a few hours of brainstorming with James Wallis, we came up with the architecture that you can see in The (Former) General. Essentially, the idea was to create a hybrid CYOA/text adventure/dungeon map. Readers would physically navigate a map of interconnected cells, which each contained a piece of the story. By going through the cells, readers could choose their own path through the story – but unlike other web-based CYOAs, they would easily be able to see where they had been, and what other paths were available, due to the explicitly spatial navigational metaphor we used, plus the nifty minimap in the corner. The story would record which cells readers had visited, and could display different cell text based on this. Finally, people would navigate using the arrow keys on their keyboard, to give it a more seamless feel.

In the space of a day or two, our front-end ace Andrew Hayward had coded up a prototype, which I was hugely impressed by, and Ben Burry was hard at work on the backend. The question now was what sort of author and story we should pick. In a remarkable coincidence, around that time Mohsin Hamid had mentioned to someone at Penguin that he wanted to write a CYOA. Clearly this was meant to be. We met up for lunch and discussed story ideas. The fact that Mohsin managed not only to understand the story architecture but also come up with some really fantastic ideas on the spot, convinced me that this one going to be one of the best stories in the project. I hope we have the chance to tell the other stories he came up with.

Anyway, after the lunch, one problem became clear. The architecture, as we had designed it, was immensely flexible and quite powerful, to the extent that you could do a number of things in it. You could certainly tell a normal CYOA, and you could try to create a fully-fledged text adventure.

I wasn’t enthusiastic about the story being a normal CYOA, by which I mean a branching narrative that has mutually exclusive endings. I always find it annoying that I have to read a CYOA book about twenty times in order to read it all – the first few reads are entertaining, but after those I generally resort to flicking through the back of the book to read the endings, then backtracking. This is not a good way in which to read a book. I suspect that most people never even see half the endings, which is a terrible waste of effort on everyone’s part.

Obviously our design could support a branching CYOA; it would be trivial to code. The only problem is that it would’ve been quite boring, since you would’ve had to do an awful lot of backtracking. At the end of the day, I was prepared to do a story like this given the time constraints, but it would’ve been a slight disappointment.

Doing a text adventure seemed rather more exciting, and we spent a lot of time talking about how this would work. Since the story tracks your ‘state’ and can alter the contents of cells accordingly, you could theoretically create a fully interactive story, in which you walk around, pick up stuff, unlock doors, kill grues, and so on. In practice, it became apparent while I was writing the game design document that this would be horribly complex and that Mohsin would have to write down so many rules and bits of conditional text that he might as well become a programmer. Still, we left the door open to this possibility.

Before Moshin began writing, I called him up to discuss the capabilities of our story architecture. I thought it was going to be a quick five minute call, but we ended up talking for about an hour, trying to work out what would be the most interesting – and achievable – style of story. Ultimately Mohsin decided not to do a traditional branching narrative, and settled upon doing… something else. Maybe a ‘still life’.

‘Still life’ is a term I came up with earlier on, to describe one possibility in which readers could navigate around an essentially frozen world. There would be no branching narrative, but there would be branching paths, and readers would need – and want – to read all the cells. Imagine if you froze time – you could walk around and look through rooms in a building. Collectively those rooms would tell a single story – not a dozen different stories – and there would be no end.

In any case, Mohsin went off to write the story and shortly returned with a Powerpoint file in which everything was beautifully detailed. I recall Ben marvelling over the fact that all the information required to implement the story was included in the file. Soon after we received it, I called up Mohsin to clarify a point about one of the ‘conditional’ links in the story – we weren’t sure whether we could implement it.

At this point, I have to admit that I hadn’t read the story properly. In my defence, it’s rather hard to do when it’s on paper, but that’s a lame excuse and I know it. So when I spoke to Mohsin, he told me that he would really much prefer to keep the conditional link in, and then went on to explain exactly how the story worked.

(If you haven’t read the story yet, do it now, since this is a spoiler)

The (Former) General is essentially three different methods of storytelling in one. From the central point (with Shaan Azad) you can access each of the three.

To the west is the ‘branching narrative’ in which you have three moments you can ‘remember’. Depending on the order of your choices, you will get a different experience – but once you’ve read them all, you’ll realise all three memories are related, and that each informs the other. What’s more, the text actually changes in each branches when you exit them, further illuminating the story.

To the south is a narrative which can be read in forward or reverse; each direction gives the story a very different meaning. I have written these types of narratives, and they are exceptionally difficult to do well.

Finally, to the east is a ‘infinite loop narrative’ that describes a figure-of-eight. You can choose a number of directions here, and after you’ve read it once, a new branch opens (the ‘conditional link’) allowing you to keep looping around forever.

I was genuinely impressed with the structure. To be honest, I think he understand the possibilities better than I do, because this is not a structure that I would have come up with myself. In a comparatively small number of cells, Mohsin managed to demonstrate three different styles of interactive storytelling, and link them together into a single overarching ‘still life’.

The (Former) General is not as visually impressive as some of the other stories, but I’m immensely proud of it. The interface, art design and story all meld together beautifully, and I believe it’s the most innovative and original piece of storytelling in the six weeks. It’s not quite a game, and while it does have branching, it doesn’t allow the reader to affect the outcome of story – only their own experience of it.

It truly is something that you couldn’t do in a book, and here, it tells a powerful tale as affecting as any novel.

14 Replies to “Creating ‘The (Former) General’”

  1. The use of the term ‘story architecture’ is novel. In a totally different context, the term ‘product architecture’ is well established. Product architecture is the assignment of the functional elements of a product to the physical building blocks of the product. The purpose of the product architecture is to define the basic physical building blocks of the product in terms of what they do and what their interfaces are to the rest of the product. Or simply, an architecture translates product functions to initial forms (relationship or layout in your case).
    Further sub-division of product architecture could be modular/integral/customisable. There may be something story telling could learn from technology.

  2. It depends partly on your net connection, but mostly your browser and computer speed. On my iMac at home, running Firefox 3 beta, it takes a little under two seconds to get from one cell to the next. I think it’s slightly longer on Firefox 2, maybe 2.5 seconds.

  3. This is a small room with passages to the east and south and a forbidding hole leading west. Bloodstains and deep scratches (perhaps made by an axe) mar the walls. A nasty-looking troll, brandishing a bloody axe, blocks all passages out of the room.

    The grue reference was great… Text adventure is definitely the way forward, just thinking of that scenario again makes my heart beat faster and it was just text coughed up by an ailing apple iie!


    Minor issues:
    The text box is too small for some of the longer texts. Implement scrollbars or auto-fit boxes.
    The map should be movable — when it overlaps text it’s annoying.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s