Using Twine to Build My First Game

Link: My Twine Game

Almost two years ago, Keegan Long-Wheeler and John Stewart started a faculty learning community here at the University of Oklahoma called eXperience Play that focused on educational text-based games. In some ways, it was a sequel to a similar FLC focused on game-based learning titled GOBLIN, but XP was focused more so on the creation of games.

I’ve been able to admire their work from a distance particularly at how the game caught on locally and beyond. All of the materials have been packaged and openly licensed and the materials have been reused/repurposed at Ohio State, UMass Amherst, and OLC Innovate.

As many now know, Keegan had a medical emergency come up a few weeks ago. Since, people have been chatting about how the online community can support Keegan. There’s been monetary donations, virtual messages via Flipgrid, and now a game jam using Twine, the same tool used in XP.

I actually thought game jam meant playing games. I think that’s part of it, but apparently first you have to actually MAKE a game. I don’t consider myself a gamer in that I don’t exactly ever play games. Literally, the only time I even play a game on my phone is if I’m on an airplane. So this was certainly foreign territory for me. But I do enjoy writing and more importantly the opportunity to rally around my friends.

When I would get asked on campus how Keegan was doing, as I would tell the story, I often got the question, “Oh no. Did Keegan have to cut his hair?” I found it both amusing and kind that this was a reoccurring question. Keegan’s long hair is almost like an extension of Keegan. It’s part of his persona. It’s partially why he’s just “Keegan” or “The Keegan.” Keegan had also recently shared a photo of where his head has been shaved for the operation.

So I decided to base my story around Keegan’s hair.

The initial idea was just going to be that Keegan’s hair held a specific power and he would have to cut it, sacrificing himself only to realize the power had been distributed due to the joy it brought others. My thoughts were I could riff of mythological stories about hair like Medusa or Samson.

I downloaded the Twine app for Mac which is pretty slick and gives you a nice UI for laying out storyboards.

Then I got the idea that maybe I could tie it into the act of building materials such as XP. That blogging would actually be the source that fueled his hair growth. And so he gets caught up in the activity of blogging to reap the rewards of his golden locks.

This would all lead to a server crash, of course, and the game objective would be to fix the servers. Which gave me the next idea to bring in guest appearances from the Reclaim Hosting sysadmin team. They would became server doctors. The player first meets Jim Groom who plays the part of… Jim Groom. His role is mainly the distractor who mostly just offers criticism of the OER movement. I imagine it was a REAL stretch for him to get into character for this one. 😉

You are then passed on to sysadmin Tim Owens who plays the role of every sysadmin you’ve ever met. He’s drinking a two liter of Mountain Dew and ripping you a new one for even asking a question. I gave both Tim and Jim a tremendous amount of creative freedom to which Tim would add the line, “I don’t see a support ticket for this!” So hilarious.

Seriously, I know it means a lot to Keegan to have them involved as he respected those two dudes so much. Thanks to them both for playing along.

But anyways, Tim tells the player that Keegan will have to cut his hair to reboot the server and through a series of cuts the server would come back online. The player is then presented with links to all the crazy cool stuff Keegan has developed over the past few years.

One really neat thing I was able to integrate was code that Keegan had actually written, so there is a piece of Keegan embedded in it. Keegan’s first Twine game was actually about his grandmother passing. To visually signify passing, he had the screen go from white to black. After trying to replicate that on my own, I realized it would be easier–as well as more fitting–to just use Keegan’s code. In his credits, he was kind enough to link to the blog post in which he found the solution. And since Twine files are one single HTML file, it was easy for me to pull the necessary dependencies from Keegan’s file, and port them over into my file.

I finished it up by publishing the game to a .html file and then uploading it to my personal web server. Again, it’s pretty cool how it’s packaged as one little file.

This game was a lot of fun to make. It’s not nearly as complex as someone like John’s which has 13 potential endings. Mine is certainly more of a linear story though I imagine it could be expanded on quite easily. But it was still fun to produce. I’m now chomping on how I can bring more non-linear storytelling into my classes as it beats the heck out of the ol’ essay.

Thanks to John for hosting, Jim and Tim for making cameos, and to Keegan for bringing Twine to OU (also thanks for the code).

Oh yeah, and you should play the game!