400,471 Members | 1,667 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 400,471 IT Pros & Developers. It's quick & easy.

Python Text Adventure Authoring System

Zachary
P: n/a
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.
Jul 18 '05 #1
Share this Question
Share on Google+
5 Replies


Francis Avila
P: n/a
Zachary wrote in message ...
I have already seen another text adventure development system written in
Python, called Paws. I thought this would be a sort of first project.


I don't want to stop you, but I warn you that developing a system like this
is far more complex than you think.

Take a look at PAWS, and after that some of the mechanisms in the language
Inform. Studying another language specifically designed for text-adventure
authoring will give you an idea of the mechanisms involved, particularly in
grammar and parsing, where a lot of things are needed that you might not
otherwise think of.
--
Francis Avila

Jul 18 '05 #2

Erik Max Francis
P: n/a
Francis Avila wrote:
I don't want to stop you, but I warn you that developing a system like
this
is far more complex than you think.


Also, it's a pretty mature field in terms of existing technology. There
are dozens of authoring systems, including half a dozen or so major
ones:

http://www.alcyone.com/max/links/if....horing_systems

--
__ Erik Max Francis && max@alcyone.com && http://www.alcyone.com/max/
/ \ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
\__/ Do we really want to go to Mars / Do we really want to try
-- Cassandra Wilson
Jul 18 '05 #3

Jp Calderone
P: n/a
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@cvs.twistedmatrix.com:/cvs co Reality
cvs -d:pserver:anon@cvs.twistedmatrix.com:/cvs co NewReality
cvs -d:pserver:anon@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...isted-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

Jul 18 '05 #4

Zachary
P: n/a

"Jp Calderone" <exarkun@intarweb.us> wrote in message
news:mailman.489.1074478463.12720.python-list@python.org...
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@cvs.twistedmatrix.com:/cvs co Reality
cvs -d:pserver:anon@cvs.twistedmatrix.com:/cvs co NewReality
cvs -d:pserver:anon@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...isted-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

Thanks for the advice, but I believe that the project could be considered
shelved for now. I'll content myself with creating something smaller scale.
Jul 18 '05 #5

Peter Hansen
P: n/a
Jp Calderone wrote:

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).


Just to clarify, though I know Jp knows this very well :-), Twisted is *much more*
than just a support framework for multiplayer interactive fiction, although
it had its origins in that area and is still being developed for it.

-Peter
Jul 18 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.