Fira is the main backend and API code for the minigame in Unscripted, a visual novel about software development. Fira provides many facets of the minigame, including a public API that players can use to code solutions to the minigame puzzles, a configuration and data generator from level files, and a virtual machine that runs low-level code that the minigame processes (NadiaVM). Fira is named after Fira Sans, one of the game's characters.
- Python 2.7+
- Poetry package manager
Fira comes pre-packaged in Unscripted but can be installed outside of the game to work better with IDEs and other Python tools such as Poetry.
Fira is both a Python 2 and Python 3 package and relies on the TOML Python package. These dependencies will be installed with the package, either from source or from PyPI.
Fira is available on PyPI and can be installed as such:
pip install uvn-fira
To install Fira from the source code, first clone the repository from GitHub via git clone
. You'll also need to install Poetry. In the root of the source, run the following commands:
poetry install
poetry build
The resulting wheel files will be available in the dist
directory.
For players installing this package to solve minigame puzzles, using the Fira package to access the API is relatively straightforward:
from uvn_fira.api import get_level_information, CSPlayer, CSWorld
gp, gw = get_level_information(0,
fn_path=renpy.config.savedir + "/minigame",
exists=renpy.loadable,
load=renpy.exports.file)
Documentation on the API is located inside of Unscripted by going to Help › Minigame or Settings › Minigame.
The documentation for the entire package is located at https://fira.marquiskurt.net, which is useful for developers that wish to make custom toolkits that connect to the minigame's virtual machine or for modders that wish to make custom minigame levels.
Bugs and feature requests for Fira can be submitted on GitHub.
The Fira package is licensed under the Mozilla Public License v2.0.