About the Time I Wrote an Inform 7 Game

Thoughts on writing my first game.

If I Can Do It, Maybe You Can, Too

Many Gold Machine readers do not follow the contemporary interactive fiction scene closely. Likewise, many contemporary IF players do not read a lot of game criticism about the Infocom catalog. Still, there is a lot of overlap and cross-pollination that goes on. That being so, I think some–not all, and that’s ok–readers will be interested in my recent experiences writing a text adventure game called Repeat the Ending. It was awarded a “Best in Show” ribbon in the recent Spring Thing festival, and additionally received audience ribbons for “Best Writing,” “Best Ending,” and “Best Art.” While I felt that I had made something special, I in no way expected the responses that it got. It’s been amazing, especially since I’m not a programmer. How did somebody without any programming experience make such a well-received game?

My answer is that Inform 7 is a very approachable tool that has a low skill floor and a correspondingly high skill ceiling. The floor was low enough that I could climb on, quickly finding myself able to make rooms and items. It was easy for me to do what I actually have experience doing, which is writing text. Thanks to Inform 7, I was able to focus on my strengths and build something people found worthwhile.

But I am getting ahead of myself. Let’s start at the beginning.

Failing Out

In late 2019, I dropped out of a PhD program in English. I had a bachelor’s in English and philosophy, and a Master of Fine Arts in creative writing. Every once in a while, someone will try to commiserate by saying they dropped out of graduate school once or else made some comparable decision. Just to be clear: I didn’t decide to leave PhD. I’ve often been vague or even dishonest about that. I had to leave due to health reasons. It was a defeat, and that’s the way I experienced it.

Callie (my partner) thought, and I agreed, that I would need to find something to do with my time. Otherwise, I would just play video games all day, every day. That might sound nice, but I’ve learned that I need to spend time creating something(s) or else I feel dissatisfied with myself. I make trouble for myself. That’s how the idea for The Novel came about.

The Novel was a work of contemporary light fantasy. The two main characters were a mentally ill man in his twenties and a mysterious demon known as the “orange-eyed woman.” It was kind of a buddy film. The OEW was an inhuman entity that shared few-to-no characteristics with the depressive young man. She had no reference for having a body (hers is just a disguise), youth, age, familial relations, human social structures, and so forth. In a way, she was an extreme extrapolation of Star Trek‘s Spock, only a bit dangerous and/or frightening. Having lived for millions of years, a primary goal for her was the elimination of boredom. She lived for entertainment, which sometimes made her seem like a sociopath, though she really wasn’t one.

A recurring gag was her interest in human fashion. Unfortunately, since a thousand years is nothing to her, she had an idiosyncratic idea of what “recent” or “in style” might mean.

I made it to two hundred or more typed, double-spaced pages, before running out of gas. Why did the project fall off? The COVID pandemic, of course, which made The Novel seem trivial. I couldn’t take it seriously anymore. Callie and I, like so many other people, became shut-ins. The only people we ever saw were the workers who carried groceries to our parked car. I had already been worried about my parents before the outbreak. They were drinking a lot, holed up in a room with a TV all day, every day. I doubted COVID would improve matters. We were afraid to visit them because they were living so badly. What if we got infected at a truck stop in Texarkana, then carried the virus to them? I couldn’t see them fighting it off. As it turned out, I would come to regret that decision.

The New Thing

Since I needed something new to do, I thought I might write about old interactive fiction games. I’m not sure, now, where that idea came from. I was returning to old childhood loves at the time, as a refuge from the stresses of the pandemic. For instance, I was reading old first edition Advanced Dungeons & Dragons manuals (the Gary Gygax stuff). The OD&D texts, too. I replayed Final Fantasy VI on an SNES emulator (still the best way to play, in my opinion). I must have wanted to play Infocom’s Enchanter (Dave Lebling and Marc Blank), since that was my gaming equivalent of comfort food.

Whatever I did, the upshot was that I thought I might write something about those old Infocom games. I read all the Jimmy Maher essays about them, and considered how/if I might add something new to the discourse. He had written, quite admirably, about the historical and commercial conditions of their production, and I would be a fool to write about the same things. I thought, instead, I could capitalize on my own experiences writing about literature. Why not write about these text games as text? It is a commonplace to say that games are art, but I hadn’t really seen anyone talk about Infocom games in that way. While Maher touched upon the idea at times, it wasn’t a primary focus for him.

Hence, post-colonial Zork, the quantum nature of Deadline, depersonalization at the hands of the state in Suspended, an animal studies point of view for Starcross, and so on. While some writers/podcasters have repeatedly asserted that “actually, Infocom’s games are not really fiction,” I found such proclamations a tad facile. In fact, those old games readily invited the kinds of analysis that literary critics use to discuss canonical works. Since Infocom’s games are canonical in their own right, it was a completely natural and productive line of inquiry. So far as one English PhD dropout was concerned, these games were not only fictions; they were textually rich, fascinating fictions.

I haven’t yet acknowledged this here at Gold Machine, but I tried other venues before coming to WordPress. I tried writing about Infocom at a rather busy gaming forum. I did have some regular readers, but the format didn’t invite discussion, and it wasn’t really the right community for that content. Somewhere in there, my mother died.

So Long, Momma

I don’t really want to do a deep dive into my mother’s passing. It (both the mechanical process of her dying as well as its aftermath) occasioned many drives to Hot Springs. My father was a mess, both physically and mentally. I was the child that lived “nearby” (only a six hour drive!), so it fell to me to deal with all of the things that a nearby son might deal with. I was gone a lot, and Callie couldn’t come along. I was alone driving, alone in hotel rooms, alone in my parents’ depressing house.

Somewhere in there, my mother died.

I had started writing my Infocom stuff at Medium. Everything was so bleak at the time. I don’t know what I would have done or how I would have passed the time without those old games. I remember researching Suspended in a hotel on Christmas Eve. Callie sent photos of our cats. People who had no idea who my mother was or what she was like kept trying to tell me what kind of person she was. I made multiple posts a week; this was all I had to do, could do.

The idea, a very small idea, came that maybe I could write my own interactive fiction game. If I did, it would not be my first attempt. I tried making a game sometime after graduating college. I think it was 1996 or 1997. Unfortunately, I really never understood the language (Inform 5).

A game would have to wait, of course, until things settled down. Until my mind settled down. I had always been my mother’s favorite, and I was closer to her–far closer–than I was to my father. Even after the logistical problems of both the estate and the new configuration of my father’s life were settled, there was a lot to deal with emotionally. I had been in a major depression for a long time, and my lithium levels were too high. I had been–I do not exaggerate–nauseous for several months.

Problems arising in the aftermath of my mother’s death were more or less settled by April, and I was finally able to stay home. I was kind of a mess, not yet having a chance to grieve, and sick in multiple senses. Still, this was the beginning of things getting better, of things getting back to normal. I thought about the game again, or possibly just a teardown and rewrite of The Novel. I envisioned it as a more personal story this time, and darker. The idea kept bouncing around in my head, even as I sought out a new way to platform my Infocom content.

Games as Text, Text as Games

That new way was this website, Gold Machine. I liked having more control over the appearance of my writing. Deciding to get serious, I spent some money on the project. I decided to rewrite everything I had posted elsewhere and delete the Medium account entirely. While looking into other writings on Infocom, I came across Art Maybury’s piece on Deadline, and I thought that I hadn’t been pushing myself hard enough. I needed to go further with my analysis and take on cultural conditions of production, among other things. It took a while, reading over transcripts, to get my critical perspective ironed out, but ultimately my vision for Gold Machine was clear. Only then could I begin.

I thought that I hadn’t been pushing myself hard enough. I needed to go further with my analysis and take on cultural conditions of production, among other things.

There were unexpected outcomes. People were more responsive, and apparently more interested. I’ve had a wonderful time doing this work, and I hope most of you have enjoyed the results. Perhaps the most fateful of these audience responses was a post on the Interactive Fiction Community Forum about Gold Machine. Since WordPress tracks referrers, I was made aware of the post and visited. I was already a member, having lurked extensively while researching online conversations about Infocom. Like a vampire, I had been invited into someone else’s home, and I felt free to stick around.

As luck would have it, people spend a lot of time talking about Inform 7 there, and I often clicked on those threads. I was curious, after all, and already wondering if I could write a text adventure game. Before long, I was convinced that I could. Or, at least, I could try. I didn’t tell anyone, though. I didn’t want anyone to know, since I wasn’t sure that the effort would pan out.

My Secret Life as an Inform 7 Author

It was easy, I learned, to make a room:

Outdoors is a room.

I could give the room a nickname that the player would see:

The printed name of outdoors is "Approaching the Scrying Hall (1980)".

I could write the text that players see when they enter or type LOOK at the command prompt. Note that Inform will automatically print the double-space as it appears in the code:

The description of Outdoors is "I hover before a transparent plane of glass that reflects my orange and luminescent eyes. Far behind me, the indistinct shadows of trees reach upward. They are darkness pinned to a lesser, starlit darkness. Through the glass, an adolescent primeoid gazes into a brightly glowing scrybox. There is no apparent sign of the psychic bleed that drew me here. The source must lie someplace beyond this hall of divination. 

While there are many ways that I might depart from this spot, the only location that interests me can be found *INSIDE* the house.".

I could make exits. In this case, the player can enter another room via a window:

The window is an open door.
	The window is inside from Outdoors and outside from the Scrying Hall.

I could put things in the room and describe them. Note that the term “scenery” identifies an item that won’t be listed after the room description and can’t be taken.

The grass is in Outdoors.
The grass is scenery.
The description of the grass is "Few things more loudly declare primeoid extravagance than their lawns. These non-native grasses require frequent mowing and watering, and do little to nothing to support local fauna. I have heard that they are status symbols, though I can't imagine why.".

It was easy to identify synonyms for the things I created:

Understand "lawn" and "blades" as the grass.

For someone like me, with a background in writing, I was very encouraged by the ease with which I could start writing descriptive text. I knew that, if my game were to be any good, I would have to be comfortable with methods for printing (and, later, formatting) text. I suppose this will seem pretty basic to some programmers, but, to me, this was the encouragement I needed. I knew that I could do this, that I could write a game.

I knew that I could do this, that I could write a game.

Things did, of course, get more complicated. I needed some descriptive text to change after certain events take place. In this example, an action changes a value applying to the player character. The event is kind of a big deal, so I wanted to change descriptions of things based on a before and after scenario. Those conditions are in brackets:

The description of the real scrybox is "[if the player is TINERT]This scrybox is rectangular, wider than it is tall, and it has been covered in a dark brown metal or plastic treated to look like wood. It features a panel of bellied, luminescent glass. Through this glass porthole, I see a vision of primeoid adults waving and talking excitedly. Occasionally, bursts of laughter, seemingly emitted by an unseen gang, crowd out the speech of the excited primeoids.[otherwise if the player is TPSYCHIC]While the primeoid sights and sounds within the scrybox go on unabated, the light emanating from the glass seems changed in some subtly unpleasant way. It is as if the light and I are throbbing together at a shared frequency.

If I had an actual, physiologically significant head stuffed with a physiologically significant brain, I would almost certainly have what primeoids call a 'headache.'".

This was encouraging, too. I also quickly learned that I could make atmospheric texts that could be printed every turn. Better yet, I also could make those conditional. In this case, the text changes after specific conditions are met.

Every turn when the Entropist is tinert in the scrying hall (this is the family argument rule):
	if the wooden door is closed:
		say "I hear [one of]a loud crash, as if something was thrown across a room[or]bright, unnatural laughter emerging from the scrybox[or]a female primeoid shouting and crying[or]a male primeoid yelling beyond the wooden door[or]a raucous crowd laughing someplace beyond the scrybox's extra-dimensional gate[at random].";
	otherwise if the wooden door is open and the player is tinert:
		say "[one of]The sounds of the scrybox compete with the racket that the arguing primeoids are making.[or]The male adult strikes the table with his fist.[or]The juvenile primeoid covers his ears with his hands.[or]It doesn't take magic to know that a lot of energy and order are vanishing into the infinite void of space.[or]I did not come here to witness a primeoid argument. I can find something more interesting to do once I *SIPHON HER SICKNESS*.[cycling]";
		do nothing.

The point of all of these examples is this: there are straightforward methods for printing text based on conditions. Defining rooms and things in the game’s geography is also very accessible for nonprogrammers like me. As a writer, I was able to get to writing almost immediately, and that encouraged me to keep going.

People Doing things

I also needed new actions for players to perform. The most important of these actions were related to the magic system, which dealt with an implication of the second law of thermodynamics. The first and simplest of these actions was called “diagnosing.” It worked in a way that was similar to examining, except that it examined the magical properties of a thing. Getting started is straightforward:

Diagnosing is an action applying to one thing.

Next, we need to tell Inform 7 how the commands for performing the action will be constructed.

Understand "diagnose [something]" as diagnosing.

I could even add an abbreviated form.

Understand "dg [something]" as diagnosing.

Since there would be multiple verbs that make up the magic system, I could create a general bucket for such actions. It’s as simple as this:

Diagnosing is magic action.

There’s a lot more to what is called “action processing” (the sequence in which events, including player actions, occur), but let’s keep things simple. In the “Carry Out” phase, player actions can move forward after two previous phases are complete. Here, I define the response when a player performs the DIAGNOSE action on the grass in the previously described “Approaching the Scrying Hall (1980)”.

Carry out diagnosing the grass in outdoors:
	say "The grass is thick and green, which primeoids seem to consider 'good grass.' Each blade has been recently mutilated, a ritual that devout primeoids perform regularly. While the processes and resources required to sustain the lawn must be substantial, the grass has no single, concentrated source of entropic bleed that could be siphoned away."

Even without understanding everything that’s going on under the hood, a person with little technical knowhow can begin to construct a responsive and interesting world. I was amazed by how quickly I learned the basics.

In fact, this was all so straightforward that I can’t say exactly when I began writing Repeat the Ending as a serious, real thing. I just looked up one day and realized that I was making a game that I would complete and show to people.

Harder Stuff (at Least for Me)

Still, I couldn’t just write text forever. Some information tracking would be needed. Some things were easy to keep track of. For instance, when the player carried no magical energy, I used a simple phrase to set a value:

Now the player is TINERT.

The complicated thing was keeping track of the various possible player states. Let’s say they had a magical power called the SEETHING ORDER.

Now the player is SEETHING.

But where could I keep the information about the various states and text blurbs used to describe them? I made a table.

Table of Diagnoses
Siphontype	diagstring
TINERT	"At the moment [if the player is the entropist]I am[otherwise]we are[end if] not empowered by any sort of entropic magic."
SEETHING	"We are carrying a significant amount of order and organization that we absorbed from a broken pile of dishes. Since the dishes are permanently broken, I cannot draw more energy from them. We must be judicious as to how we expend this SEETHING ORDER."

Yes, this looks pretty awkward, but you can always write tables in an application like Excel and then copy them in. Or copy/paste the data from Inform into Excel for easier reading! You might be able to tell that there are just two columns, “siphontype” and “diagstring”. The siphontypes are the values we’ve already seen above. How can we link them to the player character?

Siphontype is a kind of value.
The siphontypes are defined by the Table of Diagnoses.
The poet has a siphontype.

There. Just like that, we’ve associated the player character (the poet) with the data in the table. The right column, “diagstring,” contains texts that the game can match to the Siphontype when the player uses the DIAGNOSE command on the protagonist (i.e., DIAGNOSE ME). This is pretty straightforward, too. In the below example, “diagstring” refers to the text that matches the row containing “TPsychic”:

Carry out diagnosing the poet:
	if the poet is TPsychic:
		say "[diagstring of TPsychic].

All the Informations

Ultimately, the biggest “programming” aspects of Repeat the Ending had to do with information management and presentation. The game had footnotes; my point of reference for them was Infocom’s The Hitchhiker’s Guide to the Galaxy. The technique, with an added feature or two, is featured in the “Recipe Book,” a collection of sample programs that that are included with Inform 7’s documentation. I began by using that code almost verbatim, adding only multiple commands that could consult different “sources.”

By now, I had testers. I had been advised to find testers early and then test iteratively as content and features were added. This was good advice that kept me from getting too far down a bad road. I consider this practice essential. A tester wondered how they could review old footnotes. This seemed perfectly reasonable, So I created an action that would print the text associated with each discovered footnote. I additionally made an action that would describe each source generally.

All of the footnotes required entries in tables. Fortunately, I had already learned some basic techniques while implementing the Table of Diagnoses (above).

In a similar vein, I had a pretty elaborate scoring system. Players had a hard time recalling how specific points were earned and what actions were involved. This led to the creation of other tables that contained information about each point. The player could see this and other information via a new action. The setup was quite similar to the design of footnotes. I learned that, once I mastered a technique, it often had other uses. I wasn’t just finding one-off solutions to design problems. Instead, I was adding tools to my toolbox.

So far as moment-to-moment progression, I preferred using truth states. I think there were “better” ways to do what I did, but that’s another nice thing about Inform 7: it was usually tolerant of my clunky code. If I wanted to keep track of a specific action applying to a tree, for instance, that was straightforward:

Treefrobbed is a truth state that varies.
Treefrobbed is false.

Once the player performs the needed action (I use a nonsense verb as an example) the truth state can be updated:

carry out frobbing the tree:
	say "You frob the tree.";
	now treefrobbed is true.

As in all of these examples, I hope to show how quickly I was able to get into making a text adventure game. It isn’t hard to tailor text based on values, as we’ve already seen. We can just use good old-fashioned numbers, too. Let’s say that D represents the total value of all points earned in the game. We can add something like this to our action response:

carry out frobbing the tree:
	say "You frob the tree.";
	now treepunched is true;
	now D is D plus one.

Since D is going to get updated regularly, we can use it to modify any printed text we like.

The Scoring Room is a room.
The description of the Scoring Room is "The purpose of this room is unclear. It is largely featureless and silent.

[if D is 0]Wow, you haven't earned a single point[otherwise if D is 1]Things aren't going so hot, but at least you've earned one point[otherwise if D is greater than one]Slow down, tiger, don't take all the points for yourself[otherwise]How curious, your score is presently set to an impossible value[end if]."

Whipping It All Into Shape

As things went along, I got better and better at keeping track of things and formatting text. Eventually, I was immersed in the joy of writing, and frequently wrote for hours. Things had become very natural. Still, Repeat the Ending had yet to become a fully baked game.

I had a mostly working magic system and a clear idea about plot and character. I think I could have released an OK game at that point, but something still felt missing. This is where, again, testing really came into play. Sometimes testing was a frustrating experience. I might ask for specific things to be tested, only to find people didn’t test them. Sometimes, people just kind of vanished without ever saying why they were no longer going to test the game. There were yet other times where people just didn’t get what I was trying to do. All of these situations were valid and understandable. It was a weird, dark game. Not everybody was going to connect with the story or understand the protagonist. Others may understand him too well and find him disturbing for that reason. I tried to be philosophical when issues arose and focus on the good.

It was a weird, dark game. Not everybody is going to connect with the story or understand the protagonist.

There was a lot of good. Beyond all of the help with proofreading (and gee whiz, I needed a lot of help), I got a lot of suggestions about the experience of playing. A suggestion about the “voice” of the footnotes ultimately led to a massive expansion of the game: a menu-based “guide” that contained critical texts, instructions for play, and even hints. I had, up to that point, resisted what are called “extensions.” Essentially, they are pre-built modules of code that can be added to a game’s program. I resisted them because I only wanted to use code that I could understand. The code in the typical extension was far more sophisticated than anything I could handle, so I avoided them. However, when a menu system became part of the game’s design, I knew I’d have to change my policy.

There are two “big” menu systems out there. The older and best-known one is Emily Short’s “Menus” and “Basic Help Menu”. The other is Wade Clarke’s identically-named “Menus” and “Basic Help Menu”. On the surface, both did similar things. Wade’s version was newer, though, and had made some enhancements. I was particularly interested in its “screen reader mode” feature, since I had experienced some poor compatibility with menu systems in the past. That being so, I decided to experiment with Wade’s system. We (the extensions and I) quickly hit it off. While there was a lot of code there, my job as an author was populating tables with text–something I had plenty of practice with.

Wade added a feature to the menu system for my game, too, which made a big difference in player experience.

Writing the “guide” was a very enjoyable thing to do. Once again, the technology stayed out of the way, allowing me to focus on content, which was what mattered to me. I think that, all told, the guide probably had 60,000 words of code and text. Most of it was text. Once the guide was written, it was time for more testing. It was incredible, the number of issues testers found with both code and content. I tried to fix things as they came in. The game was getting to be quite large, and I began to feel that I was contending with its bulk in some way.

Once again, the technology stayed out of the way, allowing me to focus on content, which was what mattered to me.

By this time, the game had taken over my life. I worked on it whenever I could. I think I dreamed about it sometimes. I had decided to enter it into the Spring Thing Festival, and the deadline seemed to be approaching quickly. Too quickly, I felt. Even though I had a very solid game, thanks to some very dedicated testers, I kept finding little things that didn’t suit my standards. This thing or that thing was too time consuming; it would annoy a reasonable player. A feelie (I had written a feelie by now) didn’t’ match the text of the game, so I need to chase down every inaccuracy. The guide didn’t have a “for your amusement” section. Sure, it might feel out of place in such a super serious game, but I wanted to replicate the full Infocom experience for players, with every bit of polish, quality, and, yes, generosity that the name signified to me.

So, there is an amusement section, including some very strange easter eggs. I went back and added new synonyms for every noun I could think of, and for every action I could think of, too. I repeatedly rewrote the tiny amount of play after they game’s concluding action. I did it more than once, agonizing over periods. It was just a couple of turns, but I fought and fought to get it right. This is another thing that I learned. Yes, technical stuff is important, and I made technical moves throughout the process of making a game. But all of this polish stuff requires thinking about player experience and trying to shape something around that. I tried to be a player-centered writer.

As an example, I was originally going to have a generic rejection message when a player tried to perform magic action (remember magic action above?) on irrelevant things. I decided I really ought to write custom responses for almost everything in the game world. It took a lot of work, but I wanted the player to feel that they were in a world where magic is a real, vital presence. Generic responses would have the opposite effect. Testing made a lot of this clear. I winced wince whenever a player’s transcript contained a deflating or uninteresting response. I tried my best to make every response satisfying, even though I could never fully reach that goal in a parser game.

I was lucky enough to have original artwork from Callie Smith that was born of her own interpretation of the game and its characters. To me, her pieces elevated the Repeat the Ending to a height of polish and sophistication that I could never have achieved on my own. If you appreciate her art, please consider mentioning it in a review! I share every comment with her, and she truly appreciates them.

Eventually, testers moved on to other things–Seed Comp stuff, mostly–and I spent the final month or so going through a list of outstanding to-dos. Somehow, I managed to get the game submitted on time. I guess the rest is history.

What Did We Learn?

I think the single biggest thing that I learned was that, for me, designing a good game was a highly iterative process. Testing the game as it evolved allowed me to respond to suggestions as they arose, rather than retrofitting changes in a completed work. I have never held much stock in the creative writing workshops from my university days, but feedback on a game was different. Perhaps the agency of the player makes their feedback more important and useful. Whatever the case, I learned to test early and often.

The main reason I’m writing this essay, though, is to tell people who have always been curious about making an Inform 7 game that it’s probably easier to do than it looks. It can seem pretty intimidating, especially if you are lurking the forums. Many posters there are experts, and it may be hard to understand what they’re talking about. Don’t worry about it. Writing text and making things happen is straightforward. Chances are, if I can do it, tons of equally inexperienced people can, too.

Don’t worry about it. Writing text and making things happen is straightforward. Chances are, if I can do it, tons of equally inexperienced people can, too.

It’s for this reason that I’ve published the source code for Repeat the Ending. Sure, it’s awkward and sub-optimal in places. Messy, even. But it works. A lot of players seem to think it turned out ok. I’m not posting it because I think the world will benefit from having access to my code. I’m sharing it to say to my fellow beginners that Inform 7 was able to accommodate my vision, and it might work for yours, too. Writing Repeat the Ending was a wonderful eighteen months of discovery and creative effort–one of my life’s most satisfying endeavors, I’d say.

NOTE! This is not an invitation for anyone to “improve” my code, either in the article or in the source. I applaud your aptitude, but it’s completely irrelevant to this essay.

But What Did That Mean?

Those of you who are familiar with IF community events know that many authors will write a postmortem essay about their project. These pieces are an author’s look back at the development efforts, and possibly reflect on audience experiences. Some even go so far as to discuss the meaning of their work.

Audience Experiences

While I was sure that some readers would connect with Repeat the Ending on an emotional level, I did not expect the kind of passion, thoughtfulness, and generosity that it received from many players. I don’t think I could say anything adequate about that. I was deeply moved and remain speechless. I’m so grateful to anyone and everyone who had something nice to say about it. Consider telling an artist that you like their art! You may change their day or even their life.

The “Meaning” of Repeat the Ending

Just to get this out of the way: I have nothing to say about what RTE means. That’s not because I don’t want to talk about it. In fact, I’m dying to talk about it, but I would be robbing players of the experience that I designed. That experience is one of discovery and interpretation. Explaining myself would make it impossible for players to have the experience that I have created for them. I would be dismantling my own creation and undermining myself.

Still, there is something I might say: the playable game can be completed while ignoring a lot of the content. This includes the scoring system, most of the content in the “guide,” and the 2003 game transcript that I have included as a feelie. I can’t control what players do, obviously, nor would I want to. Still, to me, that “optional” content is actually part of the primary text of Repeat the Ending. Finishing the game without looking at it seems a bit like sitting through a movie with neither sound nor captions, reading every other page of a book, or looking at only one third of a statue.

I won’t say such players are wrong–how could I? I can only maintain that the experience I made includes these things, for all that might or might not matter. Ultimately, the player owns their experience with RTE, and I don’t. “So be it!” I say to my keyboard, “What can I do?”

What’s Next?

I will write another Inform 7 game. I’ve already said publicly what it is, though it must have seemed like I was joking. Where did I say it? Not here; someplace else. I shouldn’t be too cagey: my next game will be a perfectly straightforward tribute to the “cave games” I loved as a boy with treasures and darkness, set in the ruins of a fallen empire. I have already begun the most important work. What work might that be? Worldbuilding? Map design? Game mechanics? Story? No, no, nothing so trivial. I have begun making a playlist, of course. This work in progress will be released sometime after I have finished writing it, naturally.

See you there!

And here, too. And around.

In actuality,
Drew Cook
Lafayette, LA

3 thoughts on “About the Time I Wrote an Inform 7 Game

  1. Thanks for this excellent article. I don’t always have the time to play games but I do love reading about the artistic process that goes into them. Especially the last paragraph where you had to decide what was “optional” and what was not, to sort of get through the game and understand it at a minimal level, versus “a bigger understanding” with, and how you would handle that. That seems to be an area every author will handle differently but that I think you could analyze in many different ways!

Leave a Reply