Engine Design Overview
These are some notes I’ve found. They’re reasonably recent.
Sty
The interface to the core Pygmalion datastore. Covers three parts:
- PygDir: the actual working environment of Pyg
- StyServer: a central process to coordinate access to the PygDir.
- StyLib: code libraries to interact with these.
Engine
The “app” that operates on top of the sty. It manages the loading of packages into a running game, and provides the interface with which to interact with it.
Components
Pygmalion packages with provide discrete functionality used by rulesets. An example would be a generic Anatomy system.
Rulesets
Complete systems built on top of the engine which provide game logic. The intention of rulesets is to provide a consisten tway to allow characters and items to be moved between scenarios. It is possible to develop a “singleton” scenario without a ruleset.
Scenarios
Playable games within the Pygmalion environment. Scenarios either take an incoming “game state” (or saved party) matching the scenario’s ruleset or nothing at all (in which case they build the game state themselves.)
Game State
All data and state that is created or modified after scenario initialization. Scenarios load maps, characters, etc. into the game state as soon as they are changed. Thus, ordered loading from ruleset, scenario, etc. results in a reproduction of the game’s state.