The focus of this category is on resources that can be used to help create a text-based game, popularly known as interactive fiction.
Text adventure games can be created in C++, C#, Python, or some other programming language, but several game engines can be used to make the job easier for non-programmers, although many of those include their own programming languages, designed specifically for text-based games, and all of them will require learning to use the program, with varying degrees of difficulty.
Creating text adventures involves writing computer code to represent objects and behaviors, while also creating in-game characters, an interesting plot or storyline, as well as puzzles and surprises for the player to discover along the way.
Gameplay in a traditional text adventure requires the player to enter text commands, which are interpreted by the parser, which is the part of the game that translated the command into something that the computer can understand.
A well-written text adventure game will associate common synonyms that are likely to be used by a player, and will consider such commands as "get key", "get the key", "take key", and "take the golden key" to be the same command unless, of course, there is more than one kind of key in the room, in which case it might have trouble figuring out which key the player wants.
Nevertheless, in every text adventure game, there will be times in which the player has trouble getting the game to understand what it is that he is trying to do. This is particularly likely to occur when the player is new to text adventures. When this occurs, the game will return a failure message.
One of the weaknesses of text adventure games is that new players tend to get frustrated when the game seems to reject everything they type. Reducing these incidents is not an easy task for the game author, and eliminating them may prove impossible. However, there are ways in which the author can make the failure messages less frustrating.
When the player is on the edge of a cliff and wants to move forward, but doesn't yet know about the ladder, he might try flying. Unless flying is among the characteristics that the player was given in the game, the parser won't understand that command, and it will fail. However, consider the various ways in which the command can fail:
* I don't understand the word "fly".
* You're not a bird. You can't fly.
* You haven't learned how to fly.
* You don't have a plane.
* You try to fly but the winds here are far too strong.
* You approach the edge, but you are afraid...
The first failure message will probably frustrate the player, especially if he receives several such messages in response to his efforts to continue in the game. The second one tells him that flying is not an option, and does it in a playful way that is not likely to frustrate the player. The others generally serve the same purpose but could confuse the player, who might then assume that there is a way that he can learn to fly or find a plane, but any of them are probably better than the first failure message, which is likely to be the default.
Game writing packages, such as Inform 7, TADS, Twine, and ADRIFT, can make it easier for the author to make the game less confusing to the player. Although many of these tools will require the author to learn a programming language, it will be a language that was created specifically for making text adventure games or interactive fiction, so the complexity of the coding is apt to be reduced, while the number of available options will be greater.
Any resources that are intended for writing text adventure games, interactive fiction, or other text-based computer games, are appropriate for this category. This may include game creation engines, mapping tools, tutorials, or guides for interactive fiction authors.
 
 
Recommended Resources
Adventure Development & Runner - Interactive Fiction Toolkit
ADRIFT is a Windows-based program that is used to create complex interactive fiction games without knowledge of programming or coding, allowing IF creators to concentrate on the story. The program uses a graphical user interface that is designed to be intuitive. There are two parts to the system, ADRIFT Developer and ADRIFT Runner. The Developer is used to create the IF games, while the Runner is used to play the games, which may be used on Windows, Mac, or Linux, as well as a web browser.
http://www.adrift.co/
AGS is an open-source (Artistic License) development tool for Windows, used to build graphic adventure games. Intended for intermediate-level game designers, the program combines an integrated development environment (IDE) for setting up most parts of the game, with a scripting language based on C to process the game logic. Originally developed in 1997 as an MS-DOS program known as Adventure Creator, its source code was released in 2010, and the game remains supported.
https://www.adventuregamestudio.co.uk/
Alan Interactive Fiction Language
Distributed under the Artistic License 2.0, Alan is a programming language and set of tools to facilitate the creation of interactive fiction, also known as adventure games, available for macOS, Linux, and Windows. The tools include a compiler, runners, interpreters, an integrated development environment, and a map generator. An overview of the program, development notes, and a download link are available, along with full documentation, beginner’s guide, screenshots, and sample games.
https://www.alanif.se/
Developed by Choice of Games, the programming language is designed for writing text-based multiple-choice games. Supported in a Windows or macOS environment, although it requires Node.js. A link to where the program files can be downloaded is provided, along with an introduction to the program, sample script, and important ChoiceScript commands and techniques, as well as other instructional content. A discussion and support forum is included.
https://www.choiceofgames.com/make-your-own-games/choicescript-intro/
CSIDE is a development environment designed to assist in the creation of interactive novels using the ChoiceScript scripting language, developed by Choice of Games, although ChoiceScript IDE was developed independently by a member of the COG forums, and is maintained by volunteers. The program requires Windows or macOS. Alternatively, a web version powered by Dropbox is also available. Screenshots and a support forum are available.
https://choicescriptide.github.io/
The interactive fiction authoring system provides a world model, consisting of characters, objects, locations, and things that happen, while simultaneously modeling the narrative discourse so that the narration and description of the simulated world can change. Available under a permissive free software license, the application was created for advanced users, such as researchers and programmers, in mind, requiring an understanding of narrative theory and familiarity with Python.
https://nickm.com/curveship/
In principle, Evennia is a MUD-building system, and a barebones Python codebase and server intended to be extendable for any style of game. The open-source server, library, and toolkit are specially designed for building multi-player online text games, which may be known as MUD, MUX, MUSH, MUCK, and other MU* genres. Games are designed using normal Python modules, with Evennia serving as the game’s website, allowing users to play the game in their browsers. A user forum is included.
http://www.evennia.com/
Designed and developed by Graham Nelson, Inform 7 employs a natural-language-based programming language for writers of interactive fiction. The free application is available for the macOS, Windows, Linux, and Android platforms, and includes the integrated development environment (IDE), the compiler for the new language, and standard rules that form the core library for the program. Documentation is available online and within the program, which can be downloaded from the site.
http://inform7.com/
Created by Inkle, a Cambridge, UK-based game company that specializes in interactive narratives, such as text-focused computer video games, Inklewriter is a free, web-based tool for writing interactive stories. Upon first signing in, the user is in a tutorial, which is in Read mode, but it is the same program with which the interactive story will be written, only the user needs to switch to Write mode, which is simply a matter of clicking a tab in the upper right side of the page.
https://www.inklewriter.com/
Created by Inkle Studios, Inky is an authoring system to create web-based interactive fiction. The Inky editor may be freely downloaded from the site. The editor will display a window with two columns. On the left is where the script is written, while a preview of it can be played in the right column, and the game is created with text, markup language, and other features, which are explained through a basic tutorial and full guide to using the editor. An integration plugin for Unity is included.
https://www.inklestudios.com/ink/
TextWorld is an open-source, extensible game engine that generates and simulates text games, suitable for training reinforcement learning (RL) agents to learn skills such as language understanding and grounding, combined with sequential decision-making. In other words, text adventure games may be created for use in teaching artificial intelligence (AI) agents to learn to comprehend language descriptions, plan moves, visualize the environment and generalize past experiences to new situations.
https://www.microsoft.com/en-us/research/project/textworld/
Based on the Professional Adventure Writing System for the ZX Spectrum home computer, which was used in Europe during the late 1980s and 1990s, the text adventure game authoring system can be used in English or in Spanish. Available through the MIT License, completed games can be compiled for Linux, Windows, and macOS, although the editor is only available for the Windows and Linux platforms. Documentation, game and story code samples and source codes are available.
http://www.ngpaws.com/
Built with Inform 7 and Parchment, Playfic is a platform for writing and playing interactive fiction, also known as text adventure games, a genre of computer games that requires no graphics or sound, but uses text to tell an interactive story. Using the Inform 7 programming language, Playfic allows members to create games online, as part of a learning community, where members can write, play, and view the source for games that are posted online. An interactive tutorial is included.
https://playfic.com/
The free software engine facilitates the creation of visual novels, which may also be known as interactive fiction. Available for the Windows, macOS, Linux, FreeBSD, OpenBSD, Android, and iOS platforms the program helps authors use words, images, and sound to tell interactive stories that can be run on computers and mobile devices, and which may include visual novels and life simulation games. The program is open source and free to use for commercial use.
https://www.renpy.org/
Text Adventure Development System
Created in 1988, TADS includes a prototype-based domain-specific programming language and a set of standard libraries used to create text adventure games, also known as interactive fiction. Overhauled in 2006, TADS uses a language that resembles C++ and Java. Games created in TADS are compiled to a platform-independent format that can be played on any computer with a suitable virtual machine, which may include the Amiga, BeOS, DOS, Windows, and Unix.
http://www.tads.org/
Serving as a social gaming site for interactive fiction game-makers and players, the site features a large number of text-based games that are playable in a web browser or as an app for smartphones or tablet devices. Most, but not all, of them are free. The site also features two free programs for writing interactive fiction or text adventures: Quest and Squiffy. Quest may be downloaded for Windows or used online, while Squiffy may be downloaded fro Window, Linux, or macOS, or used online.
http://textadventures.co.uk/
Created to serve as something between Inform and Twin, Texture is an interactive fiction authoring tool that uses an online, browser-based, WYSIWYG editor. Once created, a game can be publicly shared on social media or downloaded as an HTML file for those who prefer to self-host their game. Games created with Texture can be played on web browsers or touchscreen smartphones and tablets. Registration and login are required, and games may be shared on the site.
https://texturewriter.com/
The Interactive Fiction Competition
Held since 1995, and sponsored by the Interactive Fiction Technology Foundation, IFComp is an annual competition for works of interactive fiction, which may include text-driven digital games and interactive stories from independent creators. General information about the competition is put forth, including how to enter a game, the competition’s prize pool, past IFComp entries, schedules, rules, updates, and information about interactive fiction.
https://ifcomp.org/
Written and powered by thinBasic, a BASIC-like computer programming language interpreter originally designed for computer automation, the Adventure Builder is a retro text adventure creation tool for Windows, used for making the popular 1980s text adventure games, also known as interactive fiction. A text-only and a text/graphic version are available, including demo versions. Sample games created with the tool are featured and made available for download.
http://tab.thinbasic.com/
Available for the Windows, Linux, and macOS platforms, Twine is an open-source tool for writing interactive, nonlinear stories, which may be known as text adventure games or interactive fiction, and which can be extended through the use of variables, conditional logic, images, CSS, and JavaScript. The game design engine publishes directly to HTML, producing games that can be played through a browser. The program may be downloaded from the site, which includes documentation.
http://www.twinery.org/
Available free under the terms of the Creative Commons Attribution Non-Commercial License, ZTAB (Ze Text Adventure game Builder) is designed to facilitate the building of text adventure games and game-books, including text, image, and sound-based adventure games. Game developers can design their game as they play, and the program will point out any errors. Games can be imported or exported to HTML, RTF, PDF, EPUB, Advelh, Twine, Quest, and Ren’Py.
https://sourceforge.net/projects/ztab/