Tale is 100% pure Python and runs on Python 2.7 and 3.2+.
It should also work on Pypy and Ironpython. There are a few problems though: Jython 2.5 is not supported, and Jython 2.7 currently has a few bugs that prevent it to run Tale (Jython issues 1949, 1994). Once these get fixed, Tale should work on Jython 2.7 too. Ironpython works but doesn’t support console text colors.
The multi-user aspects are on the back burner, I’m mainly focusing on the (single player) interactive fiction things right now.
This documentation is still a stub. I hope to write some real documentation soon, but in the meantime, use the source, Luke.
Tale can be found on Pypi as tale. Read only source repository (subversion): svn://svn.razorvine.net/Various/Tale
If you’re interested, follow my blog about developing Tale (some of the articles are in Dutch but I’ll stick to English for the newer ones)
Install tale, preferably using pip install tale. You can also download the source, and then execute python setup.py install.
Tale requires the appdirs library to sensibly store data files such as savegames.
After that, you’ll need a story to run it on (tale by itself doesn’t do anything, it’s only a framework to build games with). There’s a tiny demo embedded in the library itself, you can start that with:
python -m tale.demo.story # add --gui to get a GUI interface
Fool around with your pet and try to get out of the house. There’s a larger demo story included in the source distribution, in the stories directory. But you will have to download and extract the source distribution manually to get it.
Start the demo story using one of the supplied start scripts. You don’t have to install Tale first, the script can figure it out.
You can also start it without the script and by using the tale driver directly, but then it is recommended to properly install tale first. This method of launching stories won’t work from the distribution’s root directory itself.
Anyway, the command to do so is:
$ python -m tale.driver --game <path-to-the-story/demo-directory>` # or, with the installed launcher script: $ tale-driver --game <path-to-the-story/demo-directory>`
You can use the --help argument to see some help about this command. You can use --gui to start the GUI version of the interface rather than the text console version.
The story might prompt you with a couple of questions: Choose not to load a saved game (you will have none at first start anyway). Choose to create a default player character or build a custom one. If you choose wizard privileges, you gain access to a whole lot of special wizard commands that can be used to tinker with the internals of the game.
Type help and help soul to get an idea of the stuff you can type at the prompt.
You may want to go to the Town Square and say hello to the people standing there:
>> look [Essglen Town square] The old town square of Essglen. It is not much really, and narrow streets quickly lead away from the small fountain in the center. There's an alley to the south. A long straight lane leads north towards the horizon. You see a black gem, a blue gem, a bag, a box1 (a black box), a box2 (a white box), a clock, a newspaper, and a trashcan. Laish the town crier, ant, blubbering idiot, and rat are here. >> greet laish and the idiot You greet Laish the town crier and blubbering idiot. Laish the town crier says: "Hello there, Irmen." Blubbering idiot drools on you. >> recoil You recoil with fear. >>
A random list of the features of the current codebase:
The Tale game driver launches in Interactive Fiction mode by default. This is because my development efforts are focused on IF at the moment.
However, there’s already a bit of multi-user goodness available. You can enable it by using the --mode mud command line switch. A couple of new commands and features are enabled when you do this (amongst others: message-of-the-day support and the ‘stats’ command). Running a IF story in MUD mode may cause some problems. It’s only possible to do this for testing purposes right now.
Currently, there is no actual multi-user support. The Tale game driver doesn’t yet have any multi-user server capabilities, so even in MUD mode, you’re still limited to a single player for now.
Preliminary (auto-generated) API documentation: