If you missed it, you can find day one of my TOJam development diary here. Here we go with Day Two.
Saturday, May 12 – Day Two
7:45 am: My alarm goes off. I do a quick Google search for Notepad++ only to discover that it’s not compatible with my Mac, so I restart my laptop in Windows (it’s partitioned) so that I can at least download the software. However, the only other program on the Windows half of my laptop is Magic: The Gathering Tactics, so I’m hoping we’ll be able to find an alternative to Notepad.
I do encounter some minor trouble with the Word document that has my entire game script. For whatever reason, it simply doesn’t want to close. Fortunately, I’ve been saving my work at regular intervals – I emailed it to myself before leaving TOJam last night, so I’m not dwelling on the problem.
9:55 am: I arrive at Day Two of TOJam. Several individuals have brought sleeping bags and pillows and are sprawled out on the floor in corners and between tables. Nobody regards this as unusual.
10:03 am: I open up the Apocalypse Later script and discover that the document only has 950 words – or about half of what I had written yesterday. The file I emailed to myself is similarly lacking in content. Word has apparently been half frozen since around 5:00 pm yesterday and never had the decency to tell me.
Thankfully, the auto-recover function on my computer is amazing. The most recent version of the document – as in, the one that has the full script – pops up alongside the corrupted document when I open Word, so the issue resolves itself before I can even get stressed about it. Which is good, because otherwise there’s a chance that the shards of my laptop would still be embedded in the carpet.
10:15 am: We’re told that team photos are being taken on the sixth floor. They’re on a tight schedule, so this is a one-time only opportunity. Mladen (Stambolija, our team artist) is yet to make an appearance today, leaving David and I to represent for Team Apocalypse Later.
David is rocking the bathrobe that he’s had on for much of the weekend. Since he’s one of the many people sleeping at the venue, he figures that he might as well be comfortable while he codes and I can’t argue with the philosophy.
It looks like an extremely comfortable bathrobe.
10:27 am: There’s finally coffee in the kitchen. While I’m grateful for any form of sugar-free caffeine, the coffee is yet more proof that living in an incomplete school building is somewhat less than ideal. We have only two ordinary 12-cup coffee pots to service our entire gathering and the measuring scoop is a Styrofoam cup with a squiggly line drawn around the outside. Given the inaccurate utensils and the high volume of conscripted baristas, there’s an extreme degree of variance in the quality of the coffee. In most cases it’s too thin for my tastes, but thin coffee is better than no coffee so I readily gulp down several pints of java.
11:02 am: [TOJam volunteer] Alex Bethke announces that bagels have arrived, prompting yet another stampede to the elevators. The rational half of my brain tells me that I should wait a few minutes until the line has withered, but the other half says that I really want a fucking bagel. I end up waiting for 20 minutes, but this morning’s offerings from St. Lawrence Market do not disappoint.
11:30 am: More script writing. Apocalypse Later now has seven key puzzles and Mladen is furiously pixelating everything that my deranged mind can come up with. We’re almost ready to start putting this game together.
12:20 pm: The Apocalypse Later script is complete! I’ll make edits right up until 8:00 pm on Sunday, but I’m nevertheless satisfied with what I have in place.
Writing a game script is unlike anything I’ve tried in my other creative pursuits. That’s primarily a function of choice. In an effort to make our largely linear game as interactive as possible, I’ve constructed lengthy dialogue trees that branch in multiple directions. I’m only creating the illusion of choice – most of the options loop back to the same conclusion – but players expect every button click to lead to something different. The illusion won’t work unless I take the time to write five punch lines to every joke and every path has to be just as engaging as all the others.
Needless to say, that’s proven to be a bit of a struggle. In a play, each line can assume that you’ve seen the one before it and a scene has an internal logic that allows the next line to contextualize your understanding of the previous one. With Apocalypse Later, one line can lead to several different outcomes and all of those options still have to make sense. I think I’ve managed to do that without sacrificing humor, but I won’t have any accurate sense of pace until the game is up and running.
12:31 pm: Our Notepad++ issue rears its head. David wants to convert the entire script into an .xml document and he doesn’t have time to write the code himself. That means that he’s going to have to teach me how to code.
Within half an hour I’ve learned how to create a conversation bubble, move from one sentence to the next, and construct a choice bracket before David severs my lifeline and leaves me to fend for myself in the digital wilderness.
12:57 pm: More coffee.
1:01 pm: Another bagel. They’re out of onion, so I have to settle for sesame.
1:18 pm: I spend the next four hours writing code and – much to my surprise – I’m actually enjoying myself. The task is mechanical, but it’s forced me to confront writing challenges that I never knew existed. For instance, line breaks gain added importance when dialogue must be read in sequence. I’m keeping everything pithy in the hopes that Apocalypse Later will at least have some narrative momentum.
I’m slowly realizing that the toughest task will be infusing our protagonist Gary with enough life to make him recognizable as a character. Traditional media like theatre and film tell stories with live actors who can reproduce human emotion because they are, in fact, human, and can consequently tap into a lifetime of experience.
Games, on the other hand, attempt to recreate those same sensations in an inherently lifeless format, insofar as the computer has absolutely no regard for emotional fidelity. Nothing happens unless I tell Apocalypse Later exactly what to do, and while it’s a bit of a power trip, it makes it frustrating to produce a believably human piece of entertainment.
2:40 pm: Yet more coffee.
2:46 pm: One more bagel. My stomach is not grateful.
5:07 pm: The TOJam volunteers wheel across the lobby with several large moving dollies. When they return, the dollies are piled high with Chinese food, catering dishes traversing the building like roving mountains of tin foil and chow mein.
5:25 pm: Once again, Alex Bethke returns to tell us that we may now eat the Chinese food. Against my better judgment, I get a little bit of everything and walk away with a buffet plate piled high with noodles, rice, vegetables, and MSG.
I tell myself that I’ll eat half of it now and save the rest for later, but that proves wishful thinking. I devour the entire plate and send my stomach into paroxysms of agony, although I do manage to grab another cup of coffee before heading back downstairs.
7:51 pm: Dork Shelf boss Will Perkins turns up with a digital recorder. I’ve coded about 75% of the script, so I’m ready for a break.
8:14 pm: Jim McGinley is yet to partake of the Chinese food so our interview gets delayed until 9:15.
8:33 pm: I’ve got some time to kill and I’m in the area so I grab a second helping of coffee and noodles. I wish I could tell you why I thought this was a good idea. My intestinal track is in complete and utter disarray and the constant injections of caffeine and MSG are proving to be equally deleterious to my cognition. I ask Will to sit in on my interview with Jim, partly because I think it will be fun and partly because I no longer trust my brain to form coherent thoughts.
9:15 pm: We track down Jim McGinley and commandeer a small office for our interview. I don’t want to step on my own toes here – we’ll be running the interview in its entirety here on Dork Shelf – but I don’t think I’ve ever had more fun during an interview because Jim is essentially a real-life Emmett Brown. I’ve never met someone who is nicer or more genuinely enthusiastic about everything, so Jim, Will and I happily spend an hour talking about TOJam.
10:03 pm: Jim, Will and I discuss the merits of using Jam games as educational tools to teach the public about the power sets of the various Avengers. Yeah, it was one of those kinds of interviews.
Then again, our conversation is probably indicative of average discussion you can expect to have at TOJam. You’re spending the weekend with hundreds of intelligent and creative people who like to talk about interesting and creative things, and the outlandish chats are one of the more underrated aspects of the event.
10:45 pm: Hackers. Seriously, they’re showing Hackers. I spend the first five minutes quoting dialogue in real time until someone asks me to stop, but I’ve got my own dialogue to code so yield without much protest.
The other viewers are not quite so accommodating. Hackers is basically Rocky Horror for computer nerds (not to be confused with Rocky Horror for Rocky Horror nerds) and the showcase rapidly devolves as thirty people point out all of the ridiculous things that happen in this movie. The running commentary is hilariously brutal, although the consensus seems to be that – despite its flaws – Hackers is phreakin’ entertaining.
10:50 pm: I am writing code while watching Hackers. This is, without question, the coolest meta-moment of my life. My bucket list is one item shorter thanks to my new-found kinship with the proletarian hero Zero Cool.*
12:45 am: Crap. Crapcrapcrapcrapcrap. Hackers is over, as is the illusion. The lesson: I am totally not elite. I’ve been coding for close to ten hours and David just pointed out that I haven’t closed a single dialogue node since I started. My script won’t work in game as currently structured, so I hunker down for a long night of bug fixing.
Did I mention that I’ve never written code before?
12:47 am: Whew. I still feel like an idiot, but at least I’m consistent with my mistakes. Since I haven’t been closing any nodes, I realize that I can just paste </node> below every dialogue box in Text Edit. I scroll through the entire script and the problem is fixed within 15 minutes.
I’m learning that there’s a unique logic to code. Errors are easy to address as long as you know where they are, and my gaffe proves to be less costly than expected because every instance requires the same solution. I’m not trying to figure out how to make something work, nor am I trying to find an errant backslash in a haystack. I’m just cleaning up some text, which isn’t particularly scary once I know what I’m doing. I once again catch the last subway home and I’m in bed around 2:30 am.
One more day to go. We have a script, all of our artwork, and a hell of a lot of code that I managed to write myself. Maybe, just maybe, I’ll get to feel like a legitimate game developer.
Stay tuned for an action-paced Day Three of TOJam.
*All Hackers references in Apocalypse Later were written prior to Saturday’s viewing of the film. Just for the record.