Skip to content

On-rails: Train Jam 2017

Last month and for the first time, I was honoured to be able to attend Train Jam: the annual, trans-American game jam event which now drops an entire train-load of developers in San Francisco, just in time for GDC. I did so courtesy of the event’s diversity initiative, for which I am extremely grateful. As anyone who knows me personally (and a few who don’t) will have noticed: trains and game jams are kind of my thing.

My usual custom for game jam wrap-ups like this is to go in-depth on some of the lessons learned, explain a bit about the game we made, and try to keep aspects of the journey or the setting either in their own post, or confined within my Flickr gallery. With Train Jam more than most jams though, I feel as though the journey contributed too much to the process to be taken in isolation. So, now that I’ve finally been able to sift through my photographs from this long weekend in the United States, it’s time for a ‘read more’ jump:

My journey to Chicago – the jam’s start point – involved a transatlantic flight which dropped me right into a social which was already under way. I was welcomed in the friendly fashion which is typical of international game dev. gatherings. As this whole adventure was new to me, I was surprised and relieved to find such a relatively diverse group of people already in attendance there. Let the power of seeing people like you at an event never be understated.

A post-flight meal and much sociability were cut short by my having endured 22 hours of travelling wakefulness. Fortunately the next day, jetlag also woke me early enough to explore a bit more of Chicago, before heading to its grand Union Station for registration. There the Train Jam began in earnest, with hundreds of developers signing in, checking in baggage, and generally getting prepared and excited in equal doses for the journey ahead.

Getting Started

I know from personal experience that even if one does manage to deliver all the basic information about a given jam to a crowd which nears 100, starting a good ideation process can be a real uphill battle. It’s no surprise then that with three times as many developers gathered inside Union Station’s just-refurbished Burlington Room, this process relied instead upon constrained chaos, with individuals and small groups announcing ideas at a quickfire podium in the hopes of gathering interested parties.

So it was that my friend Innes and I – who last jammed together in 2012/13 at what were in fact my first two game jams – thought for a bit on the theme of “unexpected anticipation”. We started out with the notion of a transit map, and leaned towards doing an “indie art” piece for the first time. As my turn at the podium came up, we gathered a few other collaborators on little more than:

“A game in which you have died, and find yourself on a public transit system. You must negotiate your way through the afterlife.”

So we became a team of 6 – already the largest team I’ve ever jammed with – and were later joined by two sound artists. Yet to my surprise, the process from here on out was rather smooth.


It took a short while for the entire jam to board our dedicated train – Amtrak’s P42DC #133, running the California Zephyr route – and for all of us to settle in to our various sleeper cabins and seats. Work began in earnest once we’d left Chicago, and from there our team quickly settled into a routine of occasional stand-ups in the snack car, flexible sprints, and joining the rest of the jammers outside whenever the train would pull into a station for a while.

Mealtimes are often my favourite part of a game jam, and as a jam host I have most enjoyed chatting to the jammers as they take lunch or a coffee break. It is here that jammers afford themselves a rest, and eagerly discuss what it is they’ve been working on so far. With meals being taken in a dining car as well, I was almost always sat with new people; there to enjoy stunning scenery and tasty foreign food with a friend I hadn’t met before.

There were similar encounters to be had at the many stations on the California Zephyr route, as although the train neither boarded nor disembarked any passengers, scheduling still demanded we call at the likes of Omaha, Salt Lake City, Denver and Fraser. Given the extent to which our train passed through so many different micro-climates on the North American content, this provided some relief and a bit of stability in what could otherwise be a dramatic shift from open plains to snow-capped mountain ridges in the same day.

Down to Work

It wasn’t all a matter of sightseeing, though. For my part I was concerned with designing a map for the game, thinking up themes for each station, and writing branching dialogue – with a combination of spreadsheets and Alex Holowka’s Yarn. There were hitches – for example, I lost half of day two’s efforts to a misunderstanding about how Yarn saves its files – but also many pleasant surprises.

For example, one early idea was to try and integrate dialogue – spoken and written – in a number of different languages, sourced from fellow jammers on the train. That idea was scaled back on the grounds of time, lack of a microphone, and fundamental shyness. We were, however, able to display station names in a variety of languages. The fact that our team already included members from 5 different continents, speaking at least 4 languages, gave us a good start on this. In all, we managed to include English, Scots Gaelic, Swedish, Brazilian Portuguese, Spanish, Arabic and Malay:

Each station in the game represents a moment in one or more characters’ lives, perhaps reflected in the player’s own. The idea is that each encounter with them will help the player make their own mind up on which future paths to take in their own journey. Where multiple trains sit at a station, a choice is made, and the path behind is closed off. Having the station’s names displayed in a variety of languages allows clues as to their purpose to be obscured in places. I hope that it also reflects the diversity behind the game’s making.

I was also surprised at the ease with which we were able to use the dialogue data from Yarn in Unity, and how easy it was to introduce some basic accessibility features in the game’s UI. Although the in-game transit map does not incorporate the same line distinctions as the graphic above, we were at least able to use large, concise and legible text throughout the game. This was especially useful when testing against harsh light reflected from snow on the Sierra Nevada.

Last Stop

There was of course a moment of sadness as we pulled into Emeryville, California – early, despite fears of long delays in the snow-blocked Sierra Nevada. I feel as though I was most sad to lose the rhythm of Train Jam, as I felt an uncanny balance between bodily needs being met, inspirational surroundings, and comfortable graft – one which has me wondering if I am simply more inclined towards ‘journey jams’ like this event and Splash Jam, rather than traditional game jams.

Regardless, Metro Mori also had to be finished, and though it took some fine-tuning before upload, our game was ready to go for display at GDC for the following week. Despite being a thoroughly reflective sort of game, those who played did seem to enjoy and understand the game and what it was reaching for. I take pride in the fact that, despite this being my first attempt at such a work, players seemed to enjoy the game’s writing. I’ve made it a personal ambition to continue this sort of narrative design work, and see where it might take me in future.


The post-jam buzz of Train jam soon gave way to the various anxieties, excitements and inspiration of GDC, but I feel now as though attendance at Train Jam unlocked a lot of things for me. Appreciation for the USA as a physical country rather than an increasingly maniacal political entity, for one; also a feeling that I am now part of a club, given that fellow train jammers were to be found everywhere from my hostel to post-conference mixers.

I’m also grateful for the journey our project took me on: not only as a fun jam project with a great team, nor an exercise in a craft which is still relatively new to me (writing), but as an expression of emotion. Much of the game’s writing is based on circumstances I’ve encountered, and decisions I’ve both made and continue to have to make. To have then met players who ‘get it’ after playing Metro Mori proved to be a far more profound experience than I’d expected.

So, thank you:

Team “Metro Mori”

From left: Ahmed, Izzy, Giulia, Issac, Innes & I

  • Elie Abraham (theme music)
  • Bradford Dobbs (soundscapes)
  • Ahmed Elgoni (programming)
  • Izzy Gramp (art)
  • Isaac Karth (3D art, technical art)
  • Innes McKendrick (programming, technical art)
  • Gemma Thomson (narrative design)
  • Giulia Yamazaki (2D art)