Imaginary is a system for building fictional, interactive worlds via parallel, intersecting simulations.
Python
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ExampleGame
axiom/plugins
doc
imaginary
xmantissa/plugins
.gitattributes
.requirements-readthedocs.txt
.travis.yml
COMPATIBILITY.txt
DEPS.txt
LICENSE
MANIFEST.in
MULTIPLAYER.rst
NAME.txt
NEWS.txt
README.rst
setup.py
versioneer.py

README.rst

https://travis-ci.org/twisted/imaginary.png https://coveralls.io/repos/twisted/imaginary/badge.png

Imaginary is an experimental simulation-construction toolkit.

Be warned! We aren't kidding when we say "experimental". Many features are not implemented yet and documentation is incomplete. We think there are some pretty cool ideas here, but if you are intending to use this system, be prepared to participate heavily in its development.

Imaginary can be used to build both single-player interactive fiction, text adventures for small groups of friends, or large multiplayer games.

To get it installed, you can simply use pip:

~/Projects/Imaginary$ pip install . ./ExampleGame

... but if you want to develop Imaginary itself (and you probably do, because as we explained above, it's still in a very early state), you can set up an editable install with:

~/Projects/Imaginary$ pip install -e . -e ExampleGame

To get started, first you'll need a world file. There's an example world in doc/examples/example_world.py.

To load that world, run

$ python -m imaginary doc/examples/example_world.py

A "world" for a single-player game is simply a Python file with a function called world in it, that returns an instance of an ImaginaryWorld. The example contains several useful items, and until there is more thorough documentation you should be able to construct your own example by modifying it.

If you're interested in setting up a multi-player Imaginary server, see MULTIPLAYER.rst.