473,320 Members | 1,900 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Python Text Adventure Authoring System

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
5 3768
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
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 && ma*@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
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:an**@cvs.twistedmatrix.com:/cvs co Reality
cvs -d:pserver:an**@cvs.twistedmatrix.com:/cvs co NewReality
cvs -d:pserver:an**@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

"Jp Calderone" <ex*****@intarweb.us> wrote in message
news:ma**************************************@pyth on.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:an**@cvs.twistedmatrix.com:/cvs co Reality
cvs -d:pserver:an**@cvs.twistedmatrix.com:/cvs co NewReality
cvs -d:pserver:an**@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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

12
by: stefanogaburri | last post by:
This is crossposted to comp.lang.python & comp.multimedia; if there is a better place to go please tell me :) I've been asked to build a quick-and-dirty prototype of a simple computer-based...
38
by: BORT | last post by:
Please forgive me if this is TOO newbie-ish. I am toying with the idea of teaching my ten year old a little about programming. I started my search with something like "best FREE programming...
1
by: John Chambers | last post by:
Sp my latest adventure is attempting to use python's Tkinter module on a few machines. On my PB (OSX 10.3.9), I got the following confusing results: /Users/jc: python Python 2.3 (#1, Sep 13...
0
by: Peter Otten | last post by:
QOTW: "Anything with 'Python' in its name can't market Python well." - Iain Bicking "Who really cares whether NASA uses Python? One thing I learned from having to sit through too many software...
10
by: notejam | last post by:
I am trying to get started with a interactive version of Python for windows and need some help. I have played with the tutorial, and now want to write a program. In basic language, I could write...
31
by: Fredrik Tolf | last post by:
Hi List! I was thinking about secure Python code execution, and I'd really appreciate some comments from those who know Python better than I do. I was thinking that maybe it could be possible...
0
by: Sean DiZazzo | last post by:
On Apr 8, 6:01 pm, corvettecra...@gmail.com wrote: Thank you! Just downloaded and am about to have a blast into the past with PlanetFall!
0
by: Hendrik van Rooyen | last post by:
"Simon Brunning": Thanks for the link. Any advice on what to do or use as an I/O structure for dissemination? Ken Seehart:
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.