text quest is an open source game engine for running text-based adventure games; using a low/no code approach to game design.
Text quest was create to:
- Inspire creative story writing (without images, CGI or video)
- Create a low/no code solution for building games (using YAML)
- Bootstrap something as quickly as possible to test the above (and not get bogged down with tooling, libraries and frameworks)
- Provide a little escapism during these unusual times
game: name: Single Room Example Game version: 1.0 description: Use commands to in a single room author: <a href="https://github.com/desholmes">Des Holmes</a> intro: '"Where am I?!?, maybe I should <b>look</b> around."</p>' player: name: "Des" block: entrance bag: powers: blockHistory: powers: help: description: "help: Lists your powers and any hints." look: description: "look: Use `look` for a description of your surroundings." powers: description: "powers: List the powers you have unlocked." blocks: ###### # SINGLE ROOM ###### entrance: state: default states: default: name: "Single room" description: "You're in a single room game, nothing much to see in here."
Here’s an overview of the core concepts within a games:
- Blocks: A block represents a single location within the game. A block can have:
exits: Connections to other blocks
states: Variations for a
items: Items which are ‘visible’ from within a
actions: Actions which can be performed by the
playerwithin a block state, and actions which can be triggered automatically based on what a
- Game: The name, version and author for the game
- Player: The name, current
itemsthey are carrying
- Powers: Descriptions for
playercan unlock (not listed here, as they are part of the game)
- Items: Descriptions for items which the player can carry, or can be found in a
This project currently uses:
- Parcel web application bundler
- text-terminal for the terminal interface
- YAML to store the game configuration
- ascii generator for the logo
If you’re interesting in contributing head over to the text quest GitHub project.
The follow features are currently being considered for future development.
charactersas a concept (and associated
- Cross over with voice activation project (coming soon)
- Upload/point to yaml URL (incl. Game yaml validator)
- Create a supporting website with docs and links to games
- Online game editor (visual, or text based)