Some of the most “old school” gamers reading this might remember a time when videogames were at its infancy and 2D graphics were rare. Instead, they had adventures in dungeons and fantasy worlds… in text. To move your character or even just to look at an item you had to type specific commands in a text box, and when you ended up in the lair of a beast during your exploration, a well-written text would let your imagination tell you how fierce and impressive it looked. Some of the most famous text adventure titles of that time were Zork and Trinity.
Of course, with time, text adventures started to feature simple graphics to better illustrate scenes and settings, but that genre would soon become a minority with the swift rise of the 2D platformers and point-and-click adventures. Still, the IF (interactive fiction) community would remain alive through the decades, producing and preserving IF history, though far from the mainstream gaming scene.
In recent years, however, some game developers started to look back to those roots (myself included), and develop modern text adventure titles of relative success, like Cleansuit and The House Abandon. And the reason for their success was not only due to good game design but also due to the fact that the game devs knew how to modernize the genre while staying true to its identity. That’s why I will be using those two titles a lot through this article as examples to illustrate some points.
So, how can you design a text-based game for a modern audience? That is what we are going to talk about. Here, I’m going to do my best to give you advice based on my experience in developing a text adventure game. So, let’s begin!
1 – Play it
The easiest way of getting used to a text-based game’s structure is, of course, by playing one. Pay attention to the layout, the descriptions, the way the game allows you to use items or move through the map, the type of commands you need to type, etc. You can either play classic or contemporary titles. However, if you intend to develop a text adventure for the wider modern audience, you should focus your attention on the latter. If your target audience is hardcore gamers who used to play the genre back in the day, on the other hand, perhaps it would be better to study the classic structure.
2 – Start small
If you are new to the text adventure genre or new to storytelling in general, a good idea is to test the waters of interactive fiction before you really dive into it. The structure of the development of a text-based game is completely different from any of the most common genres, so using engines like Twine makes it very easy for anyone to create their own interactive adventure, test ideas or simply make an outline of your story to make the final development easier.
Start by creating short, linear stories, where the player can only move from one room to another, for example. Then start implementing more elements, like items and places to use them, and so on. Those simple steps can show you the pace and logic required for the development, so you can decide if you really want to make a full text adventure game. If you feel comfortable, you can make those tests available for people to play, so they can give you feedback on what you can improve.
3 – Define a scope for your adventure
Will your game be linear? Will it have one ending? Multiple endings? How many environments the player will be able to visit? Will it have enemies? Will it have multiple characters? If so, how is that going to change the gameplay or the story?
To think about those things (and others) at the beginning of development will keep you from getting too lost along the way, and will make it clear from the start which mechanics you are going to need to implement to make the game work.
4 – Describe the settings and directions in a clear and specific way
You have to keep in mind that, without the visual element, it’s a lot more difficult for the player to situate themselves in an environment. So your description of a room or area has to be as clear as possible. Are there objects in the room? Tell the player what and where are they in a simple and direct manner. Does the room have one door? Two doors? Make it clear to the player in which direction they can and cannot go. What is the name of the room? Be sure to place it above the description of the room or area, so the player knows where they’re currently at.
Classic titles, like Trinity and Zork, oriented the player using cardinal directions. For example: “there was a door to the north and one to the east”, so you could type “go north” and you would go through one of the doors (if unlocked). However, if your game is set inside a house, for instance, you could write something like “in the hallway, you see a door leading to the bedroom and another one leading to the bathroom”, so the player could type “go to bedroom” to move to another room.
Both approaches are good, and if you don’t know which one to choose, think from a storytelling point of view. If the main character is in a place they have never been to, the cardinal direction layout could be more interesting, because it creates that sense of mystery and makes the player wonder what is behind each door, just as the character would. But if the protagonist is in a familiar place, they would know what is behind each door, so it would make more sense to use the second layout option.
Of course, there is a third option, which is to give the player a map, something I did in my game. The player could look at the map through a command and check the names of the rooms to navigate through the environment. A white dot indicates the player’s currently location.
The House Abandon is a title that uses commands like “go to hallway”, since in the story the protagonist used to live in the house he is navigating through, so he knows his way around. In the case of Cleansuit, which also uses this kind of command, the main character navigates through his own house, although the game also gives you a map. In addition, each room in Cleansuit has a simple illustration, showing the player what is around them and possible things to interact with, excluding the need for too much detail in the text description of the area.
As for the items, describe them in a way that clearly tells the player how they can use it. For example: if the player is able to get a glass bottle, describe it so they know if they are supposed to fill it with a liquid or use it as a weapon, or even to use it to make a noise that should distract an enemy.
However, there is a fine line between writing a description that allows the player to deduce the purpose of an item, and simply telling the player its purpose. Don’t do that. While it is true that the game has to be accessible for people who have never played anything of the genre, that does not mean you have to treat them like idiots. Let the players think by themselves; you provide the fuel to their imagination, now they have to use it. That’s the point of a text adventure.
5 – The text commands need to be instinctive
In gaming, dealing with direct controls like “x” or “space” or “wasd” buttons is quite easy, since we just need to press them and the action happens. But in text adventure games we need a combination of words to perform an action, so it can get a bit tricky for the developer. You almost have to predict what the player is going to type, so the trick is to code as many combinations of words as you can think of to perform a specific action.
For example, if the player wants to examine what is upon a table, they might type “examine table”, or “look at table”, among other phrases. So, when coding, you should stop and think about the many ways someone might want to look at the table. In doubt, keep it as simple as possible, simple words that most people would use. Sometimes, you can even simplify the phrases themselves. In Trinity, for example, to look at a window you needed to type “look at the window”, but in Cleansuit the structure of commands was simplified, allowing the player to type “look window” to achieve the same result.
In the case of commands that the player would use very often, like “look around”, or commands to move from a place to another, it might be a good idea to abbreviate them. “Look around” could also be typed as “la”. In Zork, for example, you could simply type “n” to go to the North direction. Having all that in mind when coding commands may prevent the player from being frustrated too easily and makes your game more dynamic and enjoyable.
6 – Be sure to add a tutorial or “help” button in the game
Old school text adventure games had physical manuals that taught the player things like how to install the game, an introduction to the story and also things like which commands you should use to move, to use items, etc. Nowadays, however, manuals are extinct and very few people are familiar with this sort of mechanics, so you should include the basics in the game, like a button in the main menu, or a command that the player can type anytime during the gameplay to remember commands. Believe me, they will need it.
However, you don’t need to make a list of every single command you have coded in the game. Be clear about the basic essentials, like commands to move, look and use items, but encourage the player to try other commands on their own.
7 – Write special events or “cutscenes” in an interesting way
As I mentioned before, text-based games need to compensate for the lack of visual elements. So when something important happens in the game, your writing has to be creative and interesting to entice the player’s imagination and to keep their attention.
8 – Be careful with the sound
Keep in mind that text adventure games are slow-paced by nature, and that is a very important thing to consider when thinking about the soundtrack and sound design for your game. It is likely that the player (especially those not used to text-based games) will spend a lot of time in an area, exploring and trying to figure out what to do. Now, imagine doing that while listening to the same background music repeating over and over again for a long period of time. You would drive the player crazy!
That’s why even contemporary titles like Cleansuit and The House Abandon are completely silent for the most part, only making the use of sound effects for items, doors and for the footsteps of an enemy, for example, and only playing the appropriate music when something is happening, like a fight or chase scene. In the case of The House Abandon, there is background music while you play it, but it’s a subtle and low volume melody that does not take the player’s attention from the text. Besides, The House Abandon is a really short adventure, since it’s part of a collection of text adventure games called Stories Untold, so you won’t be spending too much time listening to the music anyway.
9 – Be careful with puzzles
In a text-based game, overcomplicating the puzzles is a bad idea. You need to design them in a way that is easy to explain with words, and that the player will understand. Unless there is a visual element to help them out. But still, remember that the player is not seeing inside your head.
10 – Be as creative as you can
Since text adventures are kind of niche nowadays, the one thing that can bring more players to your game is a creative concept. Cleansuit caught people’s attention because of its premise: a serial killer is trying to break into your house, so you have to collect items and make traps, being able to deal with the killer in many different ways, getting different endings. And though it is considered a horror game, Cleansuit has a humorous and irreverent writing style, which adds a different flavor to the experience.
The House Abandon, on the other hand, follows a much more traditional line of writing for interactive fiction and has only one ending, but it successfully creates a tense atmosphere and the ending is quite unexpected and creative, leaving you unsure of what was actually happening. When writing your text adventure game, don’t be afraid to add your own “voice” to it.
11 – Test your game to exhaustion
Every time you implement something to your text-based game, even if it’s just one single text command, test it right away. Try to pretend you are the player and test the command from every angle you can think of. And when you implement another mechanic that you think can remotely influence the way the first one behaves, test it again. That way, you can easily identify typos and logic mistakes, which are quite easy to happen when coding a text adventure game. And with puzzles? Test it twice as more.
12 – Beta testers are also more important than ever
Even after all the testing you have already done, there will be mistakes you will not see, but they will. This is basic game development: before releasing your game, get a bunch of beta testers to play it. They could be your friends or people you pay to do it, but do it. They are the ones who can not only see inherent mistakes, like a text command that doesn’t work, but they can also give you another perspective on things like your writing and the pacing of the game. They can tell you if it’s too difficult or too easy, if there are contradictory statements, if it’s too long or too short, if it’s boring or exciting, etc. And maybe they can give you suggestions of features you did not think of, but that you would like to implement.
13 – Be reasonable with the price
As I mentioned before, interactive fiction is not the most popular genre nowadays, so most of the titles are free or under the 5 dollar mark. When pricing your game, think about the length, production value and replayability of it. Keep in mind that your game is one among millions of options, so you don’t want to scare the player away with an overpriced niche game.