Menu

Python Universe Builder "TWO"

After a fairly long hiatus, Terry Hancock and Gabriel Jagenstedt have started work on a major revision of the PUB Interactive Fiction Engine sources, which we're calling by the astonishingly original name of "PUB 2". Splitting the work into a separate package makes us a little more comfortable playing "fast and loose" with the codebase (but this is a refactoring, not a complete rewrite, of the original PUB).

The new design will attempt to modernize the Python usage in PUB, provide better self-documentation, and generally be easier to work with, we hope.

Some major focuses of the new branch include: internationalization/localization (I18n/L14n) of the parsed and generated text, using pyparsing (which is a fairly major undertaking for an IF engine, as you might imagine), a PyProtocols-based "component/interface architecture", and a "plugin model" for game extensions to obviously extensible elements such as verbs and nouns (and their components).

Noun/verb checking -- what used to be done by "pre-checks" -- will mostly become interface checks in the new model, and more use will be made of Python's exception mechanism to deal with failed actions.

The new version will add some dependencies (pyparsing and pyprotocols at least), and we'll be breaking off support for older python interpreters (probably v2.3+ or v2.4+ will be required now).

There is obviously, going to be a lot of dust flying in the CVS.

Other changes, we plan to discuss on the mailing list, so feel free to chime in with your wishlist.

About PUB

PUB or "Python Universe Builder" is an interactive fiction (IF) engine written in pure-python, which is used as a python module by game developers who want to create IF using Python. Python is an extremely easy language to learn, and its object-oriented nature makes it a natural fit for creating interactive fiction worlds.

http://py-universe.sf.net

Posted by Terry Hancock 2006-02-15

Log in to post a comment.