Python Text Adventure Authoring System

Jp Calderone exarkun at intarweb.us
Sun Jan 18 21:12:29 EST 2004


On Sun, Jan 18, 2004 at 05:44:00PM -0800, Zachary wrote:
> Hello,

> I've recently thought of how ideal Python is for the development of what
> used to be called text adventures.  In case any of you don't know, these
> were basically sort of a computer game in which the player guided the
> story by typing in natural language commands, e.g. get ball.
>
> Some popular games of the 1980's include Zork, A Mind Forever Voyaging,
> among others.
>
> I was just wondering if anyone has any module that might help in the
> implementation of a text parser, something to read player commands. My
> idea is to have each room, item, creature, etc.  Be represented as a
> Python instance.
>
> For example, the following code might setup a room class:
>
> class room:
>     def __init__(self, rdesc, exit):
>         self.desc = rdesc
> #Add Other code here
> 
> If anyone has any idea how this might be done, I would love to hear from
> you.
>
> P.S:
>
> I have already seen another text adventure development system written in
> Python, called Paws.  I thought this would be a sort of first project.
> 

  There are a few modules in Twisted's CVS repository that are handy in this
area (as a few people are aware, Twisted is actually a support framework for
multiplayer interactive fiction or text adventure games).  Documentation is
sparse, but much of the code is pretty simple (a *few* parts are mind
bendingly complex, but none of those are related to text parsing ;)

    cvs -d:pserver:anon at cvs.twistedmatrix.com:/cvs co Reality
    cvs -d:pserver:anon at cvs.twistedmatrix.com:/cvs co NewReality
    cvs -d:pserver:anon at cvs.twistedmatrix.com:/cvs co Imagination

  There was also a presentation about Reality at last year's PyCon.  The
paper is available in Twisted CVS (history docs directory), or with viewcvs
at:

    http://cvs.twistedmatrix.com/cvs/doc/historic/2003/pycon/twisted-reality/

  Imagination represents the most current thinking on the topic, but Reality
and NewReality have more infrastructure for actually dealing with user input
(Imagination is like a hyper distillate of our ideas currently, and so can't
be bothered to cover such things as handling user input ;).

  And of course, many of the developers frequent #twisted on irc.freenode.net
and just *love* it when someone wants to talk about Reality instead of boring
things like HTTP and IMAP4 ;)

  Hope this helps,

  Jp




More information about the Python-list mailing list