Developer Interview: Chris Klimas

2015-08-20 · by sub-Q
tagged Interviews

Chris Klimas is a web developer, writer, and game designer in Baltimore, Maryland. He created Twine in 2009 and has spent the past two years as the project lead on the Twine 2.0 release series. This interview was conducted by email in July 2015.


Chris Klimas developer interview sub-Q

Chris Klimas


Tory Hoke: How many hours a week do you find yourself doing IF-related work? How does it break down, percentage-wise, between development, support, and outreach?

Chris Klimas: Let’s say in the neighborhood of 10-15 hours a week when I’m focusing most of my outside-day-job energy on it. That’s not every week, of course. I think almost all of it is development, though I count working on reported bugs as development work of a sort. Outreach is infrequent enough for me that it’s hard to put a number to it, but it’s also really enjoyable.


Twine development desktop

A Twine development desktop


When I was cutting my teeth on IF development, the idea that you’d actually encounter people in real life that were interested in it was nearly unfathomable. It felt like a strange hobby that could only exist on the Internet. So I really enjoy the social aspect of outreach—at least, I count things like running workshops and organizing meetups as a kind of outreach.


Tory: The meetups you’ve been organizing in Baltimore—how have those been going?

Chris: They’re humble in size but fun. I’ve been doing them for a few months, and so far each one has been about five people, which I attribute more to my own difficulties with promotion than anything else.


Tory: What would you suggest to someone considering starting their own local meetup?

Chris: Don’t be shy about advertising it to people who you think might be interested. One easy place to start might be game dev-oriented meetups (though of course check with the organizers first so you aren’t perceived as spamming). Many people are interested in IF games, for example, but wouldn’t necessarily identify themselves as “IF people” per se.

Give some focus to meetups so it isn’t just a bunch of people sitting around saying, “So, uh, you like Zork?” We pick a game to discuss each month, for example; love it or hate it, the game gives us a starting point and some common ground.


Tory: What sort of response are you getting to Twine 2? How has that response jived (or not) with your expectations?

Chris: It’s been all over the map, as you might expect. Some people like the interface changes; some think they’re more pretty than helpful. Some people like the possibilities that Harlowe, the new runtime, offer; some people find it confusing to work with. I’m not sure what I expected. I was hoping mostly for enthusiasm over the new releases, and I think that’s been there.


Twine 2 Interface

The Twine 2 Interface


Tory: It looks like a next-gen IF tool, to be sure. It’s a crazy great time for IF that such a thing can exist!

If I’m a long-term Twine 1 user, how would you persuade me to make the jump to Twine 2?

Chris: I have a lot of respect for people’s existing creative processes, so I hesitate to even try. But one case I can make is that Twine 2 expects you to remember fewer things you shouldn’t have to. You don’t have to remember how to change the name of your story, you don’t have to remember that your first passage has to be named Start (capital-S, even!), and you don’t have to remember what exactly you named a passage in order to link to it. The interface meets you halfway now, so these kinds of things are accomplished with menus and autocomplete instead of forcing you to waste brain space on trivia.

If you’re a Linux user or English isn’t your native language, Twine 2 will also be more comfortable for you. Getting Twine 1 to work in Linux is not fun. I’ve watched people do it and cringed inwardly the whole twenty minutes it took.


Twine 1 Interface

The Twine 1 Interface


And we’ve finally tackled internationalization with the latest release, 2.0.8, which includes a Spanish localization. The next release will include Brazilian Portuguese, Dutch, and French, and I want to push as hard as I can to expand that list in the future.


Tory: That’s fantastic. I know that’s something users have been itching for. That’s going to open up Twine to a whole new world of creators.

Chris: One misconception that I do see floating out there is that Twine 2 means leaving behind SugarCube, which is a runtime that a lot of people have fondness for—justifiably so. While SugarCube isn’t the default, it does come built-in, and you can change Twine 2 to use it with literally two clicks.


Tory: Nice! And extremely useful. SugarCube is a powerhouse.

I see you using the term “runtime” where I’m used to the term “story format.” Are they the same? Or did the significance of the term change with Twine 2?

Chris: You caught me—to me, the terms are interchangeable. The term runtime, which I think I got from Leon Arnott in this context, better describes what these things do, but I’m not sure it’s a friendly term for nontechnical folks. Story format is a holdover from Twine 1, so I try to use that. Honestly, there’s no great word for what they are.

I agonize over how to name things. The only term that I’ve come up with that I’m really pleased with is ‘passage.’ I like it so much more than things like ‘node’ or ‘lexia’ because it’s a familiar concept applied to a new context, and it has that wonderful double meaning of both a section of text, and also a physical space that leads to another one.

I also really like the domain name, but I didn’t think of that one—my creative partner Joel did.


Tory: What are the most exciting Twine stories you’ve seen this year?

Chris: I’m terrible at answering questions like this because I’m not as plugged into the creative scene of Twine as I’d like to be. I really look forward to the IF Comp and the XYZZY Awards as a way to showcase interesting work to look at.

That said, “Tundra” by PaperBlurt and “Silver & Gold” by Rosencrantz are two stories that have stood out to me in how they play with form and interaction. And I’ll admit the “Bill Belichick Offseason Simulator” [by Jon Bois] was a guilty pleasure.


Tory: What would you like to see more of in IF?

Chris: Experimentation, of course. Accessibility. The IF community is great at the first, less so at the second. And I’d also like to see more episodic stories, because I like the form a lot right now.


Tory: YES. A big launcher for episodic work will be some kind of feature set for seamlessly loading a previous episode’s save state. There’s some basic support for that in SugarCube for Twine 1, at least, that I was able to get going. Is there such an infrastructure in Twine 2?

Chris: This question gets at one of the confusions that really plagues Twine 2. To me, Twine 2 is an common editor with a set of story formats, each with their own set of capabilties. And honestly, a lot of the interesting parts are in those story formats—save game import being one of them. So you’d probably want to ask Leon Arnott, who is the lead on Harlowe, or Thomas Michael Edwards, likewise for SugarCube, that kind of question.

It’s a much different situation from Twine 1, where choosing a story format was not very perilous. In 2, the formats are so vastly different that it’s no longer a question of “what do you want your story to look like?” but “what do you want your story to be able to do?”

So it forces authors to make decisions like that, but I do also think that more diversity in formats is a good thing. I daydream sometimes of writing a story format that uses the Undum library for display—which is quite nice, but hard to write for if you are not a coder—or even to output a PDF that looks like a printed gamebook. Twine 2 has made it possible to add both of these features, which I’d love to develop someday, when time permits.


Tory: What’s your dream project?

Chris: I have two. The first is to build a truly collaborative version of Twine, something a classroom of fifth graders can use to write stories with each other. One kid writes the sentence “You are standing in an open field west of a white house”; the one sitting next to her quickly adds two choices: “What would you like to do next? [[Announce you’re running for re-election]] or [[give Angela Merkel a call]].”


Tory: Those fifth graders read the news!

Chris: True! Perhaps I had better set my sights on secondary school.

The technology is all there to make this happen, but it would be an undertaking.

The other one is to build a game in Twine that I’m really proud of. I’ve been spending so much time coding that I feel out of practice with writing, and a million goblins of self-doubt have set up shop in the space that that leave of absence has left behind. I’m working my way through that one now.


Tory: Where would you like to see Twine in three years?

Chris: First of all, that the editor is much more usable for people who don’t speak English as a native language, and for differently-abled people.

But I also want it to be even more confounding, that not only can the world be unable to decide whether things made with Twine are stories or games, but also whether they’re sprawling commercial masterpieces or intensely personal stories. I want people—not gamers, not readers, just people—to experience something they love unabashedly and never realize it was made with Twine.


Tory: That’s a pretty fantastic vision. It’s impossible to imagine anyone working harder than you are to make it come true.

Thank you for your time, Chris. It was great to talk to you.

Chris: Thank you!


(Visited 1,230 times, 1 visits today)