Key & Compass Blog

February 16, 2016

Affordances: GO TO

Filed under: Interactive Fiction — Tags: — davidwelbourn @ 9:21 pm

This is the third in a series of planned posts about affordances in parser-based interactive fiction. Affordances are features that enhance the playing experience in some way, perhaps by making the work of IF less tedious, less frustrating, easier to play, more attractive, more interesting, or more fun. Affordances may be said to improve the play value of a game; reviewers will often point to these positive features as reasons why they liked a particular game.

Today’s affordance is the GO TO command which can come in three main flavours:

  • GO TO location, to move the player character quickly to the named location.
  • GO TO someone, to move the player character quickly to the named character’s location.
  • GO TO something, to move the player character quickly to the named thing’s location.

There are a few syntax variations you might come across, such as FIND as a synonym for GO TO, or just typing a location’s name as a command in itself to go there. The game On The Farm used the XYZZY command to display a numbered menu of location names, which the player could then enter a number to go directly to the associated location.

I think GO TO is a wonderful command to have available in a game, especially when the game’s geography is quite large, or even in a not-so-large game geography that the player is traversing quite often. I very much enjoyed being able to zip around the marcher in Hadean Lands which had the most powerful implementation of GO TO that I’ve ever seen, whose main limitation was that only “important” locations could be targeted, so something like GO TO LAB HALL NORTHWEST wasn’t supported. I also noticed that when a character or thing is targeted, the PC would attempt to go to the target’s last known location (instead of the target’s current location) because the target might’ve moved since they last saw it. But these are quite reasonable restrictions, and I hope other authors will be inspired by Hadean Lands to try providing GO TO in their own works.

As might be obvious, all this wonderfulness doesn’t come cheap; the author has to put a lot of effort into getting this affordance to work. And Hadean Lands had the advantage that the game was essentially without time: there was almost no every-turn machinery to worry about (what’s called daemons and fuses in earlier games), so the PC could be teleported across the map once the game had determined that the player knew how to remove any barriers between the two locations. Of course, the game still needs to carry out any necessary intermediate steps like obtaining the appropriate key for a locked door in the way, for example, so yes, it’s still complicated, but at least the game doesn’t need to invisibly march the PC like a puppet through every intermediate location to get it all done.

Unfortunately, the large-geography games where GO TO would be the most useful are also likely to be the same games where lots of things are happening every turn, whether it’s NPCs wandering around, ice melting, candles burning, or birdcages floating downriver. The game Nightfall tried to implement a GO TO command, but because so many other things were going on, the game would only move the PC just one location at a time en route to the destination, and then the player would have to type CONTINUE (or C) on subsequent turns to continue the journey. And that game ran slowly. I don’t know for sure what made the game run so slow, maybe it was the pathfinding, but it serves to show that GO TO has its problems.

Still, if you’re writing a game where the player is running around the place a lot and the NPCs don’t move much and game-time isn’t that important, say something like Koustrea’s Contentment, consider adding GO TO to your game. Unless the whole idea makes you want to curl up into a little ball and hide from the world, in which case, forget I said anything.

Do you have an anecdote to share about the GO TO command? Please tell me in the comments below. Thanks.

1 Comment »

  1. I like the default GO TO command in some versions of Adventure. A command to jump to a visited location roughly models the player character’s increasing confidence and ability to navigate the cave system.

    I’m interested in more dynamic worlds like Nightfall so a simple teleport GO TO isn’t apt unless there is an in-world teleporter. A Nightfall style finder could tell you what direction the target is rather than making you type a special continue command. It would be feasible to track several targets like that e.g. Terminator.

    Ether uses a continuous space. The relative direction (and approximate distance) of objects is displayed. A special power in Ether allows you to attract all objects one step towards you – the inverse of stepwise GO TO.

    As an alternative to GO TO, in some games, when you’re in a vehicle you can choose from a menu to visit any unlocked location. Abstracting distance is practical for a small world without a monster. The game I Think The Waves Are Watching Me used a menu of the main locations as its default movement mechanic. I found there were too many locations available at the start leading to too many choices.

    In some games, e.g. The Guardian, the journey is important. Travelling in space can be a metaphor. GO TO saves time but destroys the sense of distance and effort. In Bronze the path is printed so there is a sense of distance. Bronze also supports GO TO object.

    In some roguelike games you can configure an auto-walk command (which visits each intermediate location) to stop travelling if something interesting happens such as sighting treasure or a new character.

    GO TO [someone] should halt automatically if that person is seen on the journey. In a social game it would be intuitive to ask other characters about a missing person – should information gathering be automated?

    Comment by heartless zombie — February 22, 2016 @ 3:12 pm

RSS feed for comments on this post. TrackBack URI

Leave a Reply

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

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

Google photo

You are commenting using your Google 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

Create a free website or blog at

%d bloggers like this: