Terminal was borne in opposition to my usual writing process. I knew that Terminal was a game before I knew what Terminal was or what I would name it. I had the vision for a simple game, and I built a several-hundred-page story around it.
Everything I have ever written has been built from story concept to narrative to medium, or at the very least with the knowledge that a story is waiting after I decide on a medium. I know that I’m writing a poem when I write a poem, and I know that I’m writing a script when I write a script.
The origin of Terminal was Vim. I’d been learning some computer science, and after I finished a class, I spent a month or two of break time to learn some of the tools that software engineers use to do their work. (I never did go back to continue those classes. Will I ever?) I learned git and some editing tools, but it was Vim that got to me deeply.
Vim is both a platform and a language. It sits inside your command prompt and lets you edit code (or documents) without the need of a mouse. Its ancestor, Vi, was designed for text-only terminals. What made Vim special to me was how its commands were designed. Something like “d2w” intuitively deletes the next two words past your cursor, while something like “daw” deletes a word. These are both natural sentences. They sound like shorthand English. Half of Vim commands seemed to mimic English, so you can learn Vim as quickly as you’d learn anything. It was so thoughtfully designed. I love it as a lover of words.
I kept playing around with Vim for weeks. I was never consciously thinking about how I could use it for programming let alone writing. In fact, writing wasn’t even on my radar at that time; I hadn’t thought about writing in a long while by that point. The movie Persona isn’t relevant to the themes of Terminal, but it’s fundamental to its creation. One of those nights I’d been playing with Vim, I watched Persona afterward. In the middle of that night, I woke up, and within a few seconds, I had the mechanics of what would become Terminal.
I thought this game would be a six-week project that would help me to practice some easy computer science concepts in a manner that fit my strengths with language. The player would read a prompt of a few words, maybe a verb and a noun or two, and every combination of those words would either be the correct input or would print out something that would instead guide the player toward that correct input. I figured that several rounds of this would make for a complete game.
I have trouble writing anything simple, and I should have known even that night that my idea would become something a lot more complex. I figured that if this game would even have a story, you could print it on maybe 10 pages. The Terminal paperback instead is around 410 pages.
I let the game idea linger for days without forcing myself to develop its story. The story then came to me when I was sitting in a barber’s chair of a shop I’d never visited. The barber had a bottle on the counter that said “ghost,” and it made me think of ghost stories. I thought about how I especially like ghost in the machine stories, and I decided to make my game one of those.
With that basic concept, I incorporated science fiction elements, framed the whole story within a terminal window, and placed it in Urbana, Illinois, because of my familiarity with it and, its centrality to the development of computer science, and its presence in science fiction. I knew from the beginning that my protagonist (and there would always be only one protagonist) would be a woman, Tera, and I wanted her to be an adult in that university college town. Look up the biography of HAL 9000 to see why Tera is 30 years old.
I started with a game, and I built a story around it. The story would become more complex than I ever expected, even by the time I knew where it was going.