Repo of the Unknown

Interactive Fiction step-by-step in Python

#3: The fundamentals of a framework

Features

Balladeer is a very flexible library. You can use it to create all sorts of web multimedia. In the realm of Interactive Fiction, it enables:

  • point-and-click games, of the Ren'Py kind.
  • hyperlink text, similar to Twine pieces.
  • parser-based adventures, which otherwise might require Inform.

In return for that flexibility, there's a little work to do up front to establish a project. The exact structure will vary according to need. Nevertheless, here are the basic elements.

Assets

Balladeer works as a Web stack. The design of your interface will be captured in CSS files. Alongside that styling, you may need other assets like images and fonts.

Scenes

25 in total

Code

Single module. Rely on World build from spec.

rotu
├── assets
│   ├── fonts
│   │   ├── Lora-Bold.woff2
│   │   ├── Lora-Regular.woff2
│   │   ├── OpenSans-BoldItalic.woff2
│   │   ├── OpenSans-Bold.woff2
│   │   ├── OpenSans-ExtraBoldItalic.woff2
│   │   ├── OpenSans-ExtraBold.woff2
│   │   ├── OpenSans-Italic.woff2
│   │   ├── OpenSans-LightItalic.woff2
│   │   ├── OpenSans-Light.woff2
│   │   ├── OpenSans-Regular.woff2
│   │   ├── OpenSans-SemiBoldItalic.woff2
│   │   └── OpenSans-SemiBold.woff2
│   ├── basics.css
│   ├── layout.css
│   ├── object.css
│   └── styles
│       ├── style_01.css
│       ├── style_02.css
│       └── style_03.css
├── scenes
│   ├── 00
│   │   ├── 0.scene.toml
│   │   └── a.scene.toml
│   ├── 01
│   │   └── a.scene.toml
│   ├── 02
│   │   └── a.scene.toml
│   └── 24
│       └── a.scene.toml
├── main.py
└── __init__.py