Welcome
This is the website for the Pygmalion project. Pygmalion is a system for designing and playing two-dimensional, retro-style role-playing and adventure games. All game logic is implemented in Ruby and can generally be overridden, if you’re interested.
Pygmalion has a modular design. At its core, there is the Pygmalion runtime, which provides access to game data for the system’s various applications. These applications include:
- The engine, an independent process where game logic occurs.
- The play interface, a graphical application which interacts with the engine and takes player input.
- The scenario designer, which is used to create new games to play.
- The package manager, used to download new graphics sets, scenarios, rulesets, and Pygmalion updates.
On the more mundane, tactile level, Pygmalion tries to provide as rich an experience as possible within its intentional ‘retro’ limitations. As such, the system will provide support for:
- Alpha-blended, true color graphics.
- Musical soundtracks, ambient noise, and sound effects – all of which can be mixed dynamically. There is support for variation of sound volume based on in-game distance.
- No forced limits – as many custom graphics, sounds, object types, maps, etc. as you would like and as your system allows. Objects are unloaded when no longer in demand to save memory.
- Positioned light sources of arbitrary tint, graphical flourishes, fully-animated tiles, etc.
Major influences on Pygmalion include NetHack, Fallout, Deus Ex, Neverwinter Nights, and Blades of Exile. On a more purely technical level, Pygmalion’s design has been both inspired and tempered by the successes and flaws of the Ruby on Rails web application framework.
Discussion of Pygmalion takes place at the forums.