Warning: Extreme spoilers for Terminal Interface for Models RCM301-303 ahead.
The idea for Terminal Interface had been in the back of my mind for a long time, perhaps eight years or more. Except that it wasn’t really Terminal Interface that I had in mind, but a game that I used to think of under the title Master! In this game, the player would remotely steer a mech through a drug lab that had exploded, with the aim of destroying the secret recipe of the drug before their rivals could arrive to steal it. Inside the mech would be a minion on whose descriptions of the environment the player would have to rely, since the mech’s camera had been broken when the explosion took place.
All of this may sound a lot like Terminal Interface, but in Master! the explosion was entirely real and the minion was hapless and trusting. The crucial point was that the minion could not help but learn the secret recipe as he steered the mech through the lab, so the player had to figure out that after destroying the recipe, the mech with the minion would also have to be destroy. The game’s title would, of course, have reflected the last panicked exclamations of the poor minion as he belatedly realised that you had sacrificed him for your own good.
So this game was bouncing around in the back of my mind, but for various reasons, none of them extremely clear even to me, I didn’t make new works of IF for about six years. Then, late this summer, as my newborn daughter was settling into a more comfortable sleeping rhythm, I suddenly decided that I wanted to enter the IF Competition. Objectively speaking, it was not a great moment – I had more time available approximately anywhere during the last six years. But perhaps I needed to prove to myself that life isn’t over when you have two kids, that you can still find time for your own creative projects. And so I decided to make this game called Master! (although at that point I was already thinking about a new title), because it seemed like a simple enough project to pull off in a couple of weeks.
The interface and the design problem(s)
One thing that interested me about Master! was that the player had to reach their own conclusions about when their goals were met. You log into the mech at the beginning of the game, you log out at the end, and the game doesn’t tell you if you have arrived at a winning state or not. Not only does this make perfect sense in the game’s fiction, but it’s also a way to explore how games can work without relying on the somewhat childish “you have won!” message that – let’s admit it – is so very comfortable to nearly all of us. (Myself very much included.) One of the cool things about parser games is that they are inherently open and therefore opaque: you never know whether you have done everything, have seen everything, of whether whole realms of hidden content are just one command away. Having the author end a game is a way of reducing this openness and opaqueness, and I wanted to experiment with not doing that.
However, I realised that this made Master! extremely hard to pull off. With no good in-game way of telling the player that not killing the minion was a problem, I could expect the vast majority of players to just play the simple version of the story, never realise that more was needed, and quit with a feeling of bemusement. That is opaque, sure, but not what I was going for. Hence, I decided to change the minion into someone who is actively trying to betray us and would gloat about his victory if we ended up following his plan. The idea of tagging soon followed, and how it could be used for a devilish and murderous plan. At that point, the idea for Terminal Interface for Models RCM301-303 was effectively ready.
So that design problem was solved. But it has become obvious from reviews and reactions that many people considered the basic conceit of not having an author-provided ending as a design problem in its own right. The need for closure turns out to be very strong. I guess I’m still glad I made the game the way I did, because, well, it was my vision of the game and I didn’t want to compromise that part of it. On the other hand, perhaps it would have worked better in a game in which the player has more freedom to experiment, more possible goals to achieve, and more optional content to discover. (There is a tiny bit of extra content to discover for the player of Terminal Interface after reaching the losing ending, but it’s not much and I can imagine that in practice nobody found it.)
On making a quick game
Here’s a quick tip for all you game authors: if you have little time and want to write a simple game that you pull off in a few weeks, even with a full-time job and a 4-months old baby around… don’t choose a project that involves replacing almost every single parser message in Inform.
The puzzle/object structure of the game is of course very simple. Originally, I had also imagined the NPC to be very simple: just this guy who describes the world around you, tags some things wrongly, and gloats at the end. I had no special personality in mind when I started writing. But then the thing happened which you always hope will happen when you’re designing a game: it started to take on a life of its own. Lemmy came to me almost unbidden; he presented himself to me and I understood that I had to turn him into the center of the game; and indeed his personality and his ways of expressing himself turned out to be the game’s main content.
Of course, I immediately had a problem. Lemmy is a lower class British criminal. I’m none of those things; the truly problematic one being my not being British. English isn’t even my first language. How on earth was I going to convincingly write dialogue – well, monologue – for this character? Big mistakes in tone were almost inevitable.
I decided to do four things. First, and perhaps most crucially, I ensured that Lemmy was clearly someone whose diction came from different registers: yes, he is lower class and lacks a formal education, but he is also self-taught and likes to use to big words. This means he can switch between criminal slang and poetic diction almost mid-sentence without any fault in my writing being apparent.
Second, I spent a lot of time poring over websites dedicated to slang or to the differences between US and British English. Sometimes, it’s easy to find some good slangy words to use and to ensure that they’re really British. Most of the time, it is hard. Need fifty slang terms for the police? No problem! Need to know which ones would actually be used by an older British criminal? You’re in trouble.
So, third, I knew I had to get a British tester with a good ear for language on board. I asked Sam Ashwell, and I’m happy he said yes, because his comments were invaluable to me. If Lemmy talks about “the pigs” and “her Majesty’s finest” rather than about “the bobbies”, you’ve got Sam to thank. Viv Dunstan also gave a few good pointers towards the end of the testing process.
Fourth and finally, I just spent a lot of time revising, revising, revising Lemmy’s text. (I also had to balance his verbosity – for which he has good reasons, of course, wanting to distract the player from what is really going on – with the need of real players to, well, not be distracted so much that they would stop playing the game. I didn’t strike the right balance for everyone, I know, but at least I did my best.)
In the end, well, I love Lemmy. He’s likely the best NPC I’ve made, with the most carefully honed text that I’ve written for an IF game, and I think this means I have improved my craft during the process. That makes me glad and a little proud.
The process of discovery
For many players, playing Terminal Interface will be like this: you follow Lemmy’s ideas, and end up doing exactly what he wants you to do. Then you realise what you have done and you replay in order to get another ending. But I knew in advance that this wouldn’t happen for all players. Indeed, one of my very first testers realised roughly what was going on in the first two moves; concluded that the game was trying to shock him with its inevitable ‘gotcha’ moment; and didn’t enjoy the experience very much as a result. (I experienced something a bit similar when playing Bogeyman; more my fault than Bogeyman’s, to be sure.)
Obviously, this was a problem. It’s fine if the player realises early on that Lemmy is out to get them, but they shouldn’t have the idea that the game wants to keep them in the dark about this, rather than wanting them to try to thwart Lemmy. In this test version, I already had the early reference to a Jon Ingold game that pulls more or less the same trick mine does; the weights that didn’t match the objects carried; and Lemmy’s general unreliability. I decided to add one more thing: the mech’s internal scan that would remind the player, after a while, that things might not be what they seemed. That should tip people off that this wasn’t a gotcha-game.
Turns out that at least one player of the game had yet another experience I did not foresee. This player quickly drew the conclusion that Lemmy and Alison were conspiring against him; killed Lemmy before ever seeing the ‘losing’ ending; and was completely nonplussed by the way the Lemmy-killing ending plays out. That’s something I might want to address in a future version: any ending should make sense, even if the player hasn’t arrived at a correct interpretation of the situation yet.
Anyway – there are dangers to opacity, that’s for sure!
The ethical element
The last point I want to discuss is something that I didn’t really come up in most reviews but that was quite important in my thinking: the fact that the game steers you towards an ending that might not in fact be the best ending from an ethical point of view. Chandler Groover captured this very well indeed in his review in the authors’ forum, so I will quote from that:
Amen. Well – I mean, you could disagree with this particular assessment. But I very much wanted to make a game where this kind of assessment is necessary, and I’m happy that some players latched onto that.
I enjoyed making Terminal Interface and getting back into IF development. I loved being part of the competition, and loved getting up to speed on the current state of IF by playing so many Competition games. I’m happy with my 16th place, based on an overwhelming number of 7’s and 8’s, which seems about right to me. So, uh… stay tuned for my next game? Just don’t hold your breath.