YATAGE documentation

Welcome! This documentation is about YATAGE, Yet Another Text Adventure Game Engine.

pyversion pypiv tests pypil

Text adventure games have been around for a lot of decades now, created back in an age when computer graphics were reduced to their simplest form: alphanumeric characters and symbols.

This simplicity in displaying a game’s UI using these last has something fascinating: it is easy to both create and play such game type. You don’t have to worry about a ton of things, compared to a 3D or even a 2D game.

You still have to worry about creating a game engine, though. A relatively simple and small one, but a game engine anyway.

YATAGE has been created to not worry about this step, reducing text adventure game development effort to one thing: writing as less characters and symbols as possible in one file, in a structured fashion (YAML), to create a playable game.

Examples

Here is a short example, which uses a small subset of the game engine’s capabilities:

%YAML 1.2
---
version: 1
name: Short Example
description: A short example game.
author: Maxime "Epoc" G.
start: Sidewalk
rooms:
    Sidewalk:
        description: >-
            You're on the sidewalk in front of a building's entrance,
            a sign on top reads "Hendley Associates". Looks like access
            is restricted by a security guard.


            Someone in a hurry exiting the building bumps on you. As
            he walks away, you see he dropped something on the sidewalk.
        exits:
            entrance:
                items_conditions:
                    has: [security card]
                success:
                    text: >-
                        Security guard: "Did you forgot something,
                        Mr. Clark?"
                    exit: Building hall
                failure:
                    text: >-
                        Security guard: "Sir, I cannot let you pass
                        without security card."
            catch up: Down the street
        items: [security card]
    Down the street:
        description: >-
            You run past the building, trying to catch up with this
            stranger. There's a hot dog vendor, a press kiosk, some
            people. But no sign of him.
        exits:
            back: Sidewalk
    Building hall:
        description: >-
            You definitively shouldn't be there, but why not pretend
            you're Mr. Clark?
            
            
            There's lifts right there, let's see where it's leading.
        exits:
            outside: Sidewalk
            lifts:
                game_over: >-
                    You have been busted by a security camera.
items:
    security card:
        look: >-
            It looks a lot like a credit card. On one side, it reads:

                John Clark

                Security Clearance Level I

Download and run this example after installing YATAGE.

There’s another way more complex example you should also check out.

Prerequisites

  • Python >= 3.8

Installation

From PyPI:

$ pip install yatage

Locally, after cloning/downloading the repo:

$ pip install .

Guide

Credits