Terminator (Matt Weiner)


Terminator — not to be confused with Terminator Chaser — is a game from ParserComp that I didn’t get around to reviewing while the competition was running.

Low on story, high on simulation and experimental features, Terminator requires you to move a group of robot explorers across the face of an alien planet in order to collect unconscious astronauts from the surface and bring them to your ship, where they can receive medical attention. Meanwhile, the terminator line, representing the arrival of destructive sunlight, moves in steadily from the east. You have only so many turns before the encroaching light forces your spaceship to launch, abandoning any astronauts and robots remaining.

On my first tour I managed to rescue only three of six crew members; the other three were within sight of my spaceship but just hadn’t quite made it.

At your disposal you have three “hauler” robots (capable of picking up fallen astronauts) and three “scout” robots (faster to move, longer-sighted, and able to lay down beacons that will provide direction to the other robots). They will all obey your directional commands, both in the form of absolute directions (EAST, WEST) and in terms of relative directions based on landmarks and other robots (GO TOWARDS SPACESHIP). This is particularly ingenious because you can command multiple robots at once, and of course ROBOTS, GO TOWARDS SPACESHIP might mean each of those robots moving in a different compass direction.

So there are several quite cool things going on here, from an experimental point of view. One, the space is being modeled as an extent and the robots in the space are generating descriptions of what they can see around them, including things that are technically in other “rooms”. Because the scouts can see further than the haulers, it’s sometimes necessary to piece together information from the reports of multiple robots to work out where they all are relative to one another: Scout Alpha can see Hauler Zeta, and Scout Beta can see Scout Alpha and the Spaceship; thus I can work out where they all are relative to this ship.

Two, the system is handling multiple simultaneous action commands for various NPCs. At its best, this system made me feel as though I was conducting a rather majestic dance, sending my robots moving in concert across the planetary surface. What’s more, this construct is possible because of the flexibility of the parser command line, which lets you do things like “BETA AND DELTA, GO TOWARDS BEACON THREE” or “SCOUTS, EAST” or “ROBOTS, GO TO SPACE SHIP.” While it’s possible to imagine constructing a choice-based interface that would sort of let you do this, it seems like it would be a good bit more fiddly.

Terminator is kind of more interesting to think about than it is fun to play, though. The whole conceit requires that locational information be presented in a high-friction way; you have to go to a lot of effort to work out where the robots are, and it’s hard not to wish for a nice grid screen that would just lay it out for you. Don’t get me wrong — I did enjoy playing it — but it had a kind of strained, unnatural quality as a piece of game design. You’d only make this game, I felt, if you started from the premise that it was going to be a text game and then came up with the interaction hook; if you started with the interaction, you’d wind up with a graphical map at the least.

Is it possible to imagine these technical innovations in some context that would make more sense as a text-based game? I think so. My mind immediately offers me Harem Simulator 2015 (“BELLA AND FREDERICO, REMOVE PANTS. WOMEN, EAT GRAPES.”) but perhaps more plausible would be a heist, or a dance, or a game about high-level diplomacy (“CHINA AND RUSSIA, PRESSURE NORTH KOREA. UN, SANCTION IRAN.”).

6 thoughts on “Terminator (Matt Weiner)”

    1. That was the ultimate inspiration for this, in a way–way back in 2011 someone asked how you’d go about implementing the two-robots command in Suspended, leading me to come up with a really hacky way that involved first entering a command and then the actors you want to do this–then last year someone asked again about multiple commands, which led me to dust off the old code and then led Daniel Stelzer to write an implementation that actually worked.

      Along the way Daniel discovered that “Suspended” really seems to use a kludge that’s limited to the one two-robot command that works.”ALL N LISTEN FOLKS, DRAW SWORD WAVE” from Bowl Drop Toy Sleep Play was also an inspiration.

      And, as Emily suggests, the impulse for this game was “What can I do for ParserComp that actually requires use of the parser? Something with Daniel’s Multiple Actors extension. OK, what makes sense with that?” Though in fact it was going to be a heist until the theme was announced–I couldn’t figure out how to work “sunrise” into a heist, and also I had this really great joke about the terminator line that I was sure no one else would think of. Also I wasn’t going to be able to implement anything that didn’t behave robotically.

      Thanks for the review! As you can tell, this was blatantly something I wrote to try some technical stuff out, which I submitted to a comp because I need external pressure to motivate me, and also that the testers seemed to be enjoying the Minesweepery aspects of it enough that it didn’t seem like I shouldn’t submit it. But I definitely hope it can inspire better games.

      1. I was going to do this cyberpunk heist thing where due to a bug exploit in the software for the solar power system there was a brief window before sunrise that the security went into low-power mode and you could sneak your way in.

        Then I realized I did not have the time to do it.

  1. “CHINA AND RUSSIA, PRESSURE NORTH KOREA. UN, SANCTION IRAN” was essentially Chris Crawford’s circa-2009 “Balance of Power” remake, which last time I checked he’d taken offline, unfortunately. It definitely does seem like an interesting underexplored corner of parser IF design space to really push the combinatorial power of commands like this.

  2. One thing about “CHINA AND RUSSIA, PRESSURE NORTH KOREA” is that in a situation like that there’s not much reason that you could only issue one command per turn–if you have enough time to call the Chinese and Russian ambassadors you have enough time to tell them to do different things. That’s why I thought of a heist or a rescue–something where you’re broadcasting orders over a network that anyone can hear, so you can actually imagine that you need to yell “Everybody, go toward the spaceship!” rather than issuing your orders one by one. Doing calls for a square dance would be pretty good there too. One problem is that, at least in Inform, everything has to resolve to an action done by an individual which makes group action hard. That is, you need to resolve Christine do-si-doing and then Terry do-si-doing rather than having a rule for Christine and Terry do-si-doing.

    My original idea for the game design was even more high-friction; I was thinking that you wouldn’t be able to command the robots directly but would say “every scout that can see a hauler, move toward the hauler” and things like that. So the player would effectively have to create logic puzzles–these three robots responded to this command, these two robots responded to this one, so the robot that responds to both commands must fit these criteria. But those fancy descriptions had a nasty habit of sending the parser into an infinite loop when nothing matched them. This would probably have been even more headachey, and again was designing the game around the technical stuff rather than vice versa.

    The verbal descriptions were probably harder to implement than graphic displays would’ve been, though. I’d like to do more with verbal descriptions on a grid to make them sound less robotic; one thing is that extended the multiple-actors model means pushing the parser in ways that are hard for me to do without relying on the kindness of strangers.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: