Choose your own adventure system?

6 views
Skip to first unread message

Mark J Musante

unread,
May 11, 1998, 3:00:00 AM5/11/98
to

Dan Shiovitz (d...@mozzarella.cs.wisc.edu) wrote:
> In article <355659...@student.canterbury.ac.nz>,
> Stephan Hamat-Rains <sj...@student.canterbury.ac.nz> wrote:
> >Does anyone know if there is shareware available for creating choose
> >your own adventure style games? You know, of the sort if you do this go
> >to page 267 or if you do that go to page 144. I'm afraid that this sort
> >of thing is the limit of my creative ambition.
> >Thanks

> I'm pretty sure someone created a TADS library to let people create
> this sort of game. Unfortunately I don't remember what it is, how it
> works, or who the author is, so maybe they could speak up and point it
> out themselves?

Heh. Don't mind if I do.

There is a TADS library which supports CYOA games. It is a replacement
for the adv.t/std.t pair. The library (which includes a mini-manual,
a sample game, and the source for the game) is on GMD at the following
URL:
ftp://ftp.gmd.de/if-archive/programming/tads/examples/cyoa_lib.zip

Let me know if you have any problems, questions, or suggestions for
enhancements.

Thanks!


-=- Mark -=-

PS. Followups changed to raif.

Palmer Davis

unread,
May 11, 1998, 3:00:00 AM5/11/98
to

Mark J Musante wrote:
> > Stephan Hamat-Rains <sj...@student.canterbury.ac.nz> wrote:
> > >Does anyone know if there is shareware available for creating
> > >choose your own adventure style games? You know, of the sort
> > >if you do this go to page 267 or if you do that go to page 144.
> > >I'm afraid that this sort of thing is the limit of my creative
> > >ambition.
>
> There is a TADS library which supports CYOA games. It is a
> replacement for the adv.t/std.t pair.

Or, of course, you could simply write the thing in plain old HTML;
full-blown TADS seems like overkill for this. (Unless, of course,
you're after something like the Steve Jackson _Sorcery!_ series,
with some extra mechanics bolted on top of a CYOA....)
--
Palmer Davis <pal...@secant.com>
Secant Technologies * 4853 Galaxy Parkway * Cleveland OH 44128

HarryH

unread,
May 12, 1998, 3:00:00 AM5/12/98
to

In article <EssM6...@world.std.com>, olo...@world.std.com says...
>> Stephan Hamat-Rains <sj...@student.canterbury.ac.nz> wrote:
>> >Does anyone know if there is shareware available for creating choose
>> >your own adventure style games? You know, of the sort if you do this go
>> >to page 267 or if you do that go to page 144. I'm afraid that this sort
>> >of thing is the limit of my creative ambition.
>> >Thanks

>> I'm pretty sure someone created a TADS library to let people create
>> this sort of game. Unfortunately I don't remember what it is, how it
>> works, or who the author is, so maybe they could speak up and point it
>> out themselves?

>Heh. Don't mind if I do.
>

>There is a TADS library which supports CYOA games. It is a replacement

>for the adv.t/std.t pair. The library (which includes a mini-manual,
>a sample game, and the source for the game) is on GMD at the following
>URL:
>ftp://ftp.gmd.de/if-archive/programming/tads/examples/cyoa_lib.zip

[snip]

Please e-mail me if you want to see Inform CYOA system. Actually, it has
never been released (even to alpha/beta testers). It helps if you read DM
chapter 1 and 2. Reading Chapter 3 is optional, but useful.

I keep thinking maybe somebody else has done this already. I did this back in
February when I have an afternoon off.

Does anyone care to give me feedback and make some example games?

-------------------------------------------------------
Of course I'll work on weekends without pay!
- successful applicant


John E

unread,
May 12, 1998, 3:00:00 AM5/12/98
to

Why not just use HTML????


HarryH

unread,
May 12, 1998, 3:00:00 AM5/12/98
to

In article <6j8p50$b...@suriname.earthlink.net>, johnDEL...@earthlink.net
says...

>Why not just use HTML????

You need something like JavaScript in order to have random event. Not all
browsers is JavaScript capable. You'll also have difficulty in saving and
restoring the game state. Also, it would be nice to have dynamic choice
generation where you have more options if you have certain key item.

IF

unread,
May 12, 1998, 3:00:00 AM5/12/98
to


Palmer Davis wrote:

> Mark J Musante wrote:
> > > Stephan Hamat-Rains <sj...@student.canterbury.ac.nz> wrote:
> > > >Does anyone know if there is shareware available for creating
> > > >choose your own adventure style games? You know, of the sort
> > > >if you do this go to page 267 or if you do that go to page 144.
> > > >I'm afraid that this sort of thing is the limit of my creative
> > > >ambition.
> >

> > There is a TADS library which supports CYOA games. It is a
> > replacement for the adv.t/std.t pair.
>

> Or, of course, you could simply write the thing in plain old HTML;
> full-blown TADS seems like overkill for this. (Unless, of course,
> you're after something like the Steve Jackson _Sorcery!_ series,
> with some extra mechanics bolted on top of a CYOA....)

I first suggested a CYOA system for TADS after trying to program it
in HTML. When you get beyond even four permutations of the choice tree
in a truly open game HTML quickly looses it's applicability.


Steven Posey

unread,
May 12, 1998, 3:00:00 AM5/12/98
to

On Tue, 12 May 1998 12:17:50 GMT, har...@iu.net.idiotic.com.skip.idiotic.com (HarryH) wrote:

>In article <6j8p50$b...@suriname.earthlink.net>, johnDEL...@earthlink.net
>says...
>>Why not just use HTML????
>
>You need something like JavaScript in order to have random event. Not all
>browsers is JavaScript capable. You'll also have difficulty in saving and
>restoring the game state. Also, it would be nice to have dynamic choice
>generation where you have more options if you have certain key item.
>

But the idea of a CYOA "game" is that it's not random at all. Like the CYOA books, an HTML version
follows very preset text and choices; there shouldn't be any random events (by definition, of
course). IMHO, this is what separates a CYOA from a "real" IF game.

Saving and restoring the game state would be as simple as bookmarking the page you were on (or
writing down the URL for the page). What's difficult about that?

Is my definition of CYOA not the same as everybody else's?

Play On!
Steven

Erik Max Francis

unread,
May 12, 1998, 3:00:00 AM5/12/98
to

HarryH wrote:

> You need something like JavaScript in order to have random event. Not
> all
> browsers is JavaScript capable. You'll also have difficulty in saving
> and
> restoring the game state. Also, it would be nice to have dynamic
> choice
> generation where you have more options if you have certain key item.

The original Choose-Your-Own-Adventure game format was entirely
stateless, so could be represented with pure HTML. Random events,
player state, etc. could be represented with a CGI script.

I've done a few experiments with stateless
Choose-Your-Own-Adventure-style games in m4 (a macroprocessing language
for Unix). It's really quite straightforward.

--
Erik Max Francis, &tSftDotIotE / mailto:m...@alcyone.com
Alcyone Systems / http://www.alcyone.com/max/
San Jose, California, United States / icbm:+37.20.07/-121.53.38
\
"Since when can wounded eyes see / If we weren't who we were"
/ Joi

Nizam U Ahmed

unread,
May 12, 1998, 3:00:00 AM5/12/98
to


There seems to be some confusion here between what is known
as "CYOA" and a separate type e.g. Lonewolf, Fighting Fantasy.

CYOA is purely "link" based and can indeed be produced using
HTML. However, CYOA can be more complicated: for example:

"If you know the passcode, turn to the paragraph with that
number, else turn to paragraph 97"

As soon as you make this transition, you enter the world of
Fighting Fantasy, skill stamina luck, dice etc. In this
instance, code is required, and I would recommend the TADS
libraries because I don't know of any other such systems
that will allow you to code these special cases.

HTML will produce very crude, boring and imbecilic games: just
look at the ones available on the web.

(IMHO, of course).

Paul Fernhout

unread,
May 12, 1998, 3:00:00 AM5/12/98
to

Nizam U Ahmed wrote:
> CYOA is purely "link" based and can indeed be produced using
> HTML. However, CYOA can be more complicated: for example:
>
> "If you know the passcode, turn to the paragraph with that
> number, else turn to paragraph 97"
>
> As soon as you make this transition, you enter the world of
> Fighting Fantasy, skill stamina luck, dice etc. In this
> instance, code is required, and I would recommend the TADS
> libraries because I don't know of any other such systems
> that will allow you to code these special cases.
>
> HTML will produce very crude, boring and imbecilic games: just
> look at the ones available on the web.

StoryHarp can do great CYOA games with complex states (as long as state
is expressed in terms of a set of yes/no booleans).

We've though about having StoryHarp spit out JavaScript which defines a
CYOA game. Maybe we should pursue this more vigorously. Would such a
feature make people more likely to use StoryHarp?

-Paul Fernhout
Kurtz-Fernhout Software
=========================================================
Developers of custom software and educational simulations
Creators of the Garden with Insight(TM) garden simulator
http://www.kurtz-fernhout.com

HarryH

unread,
May 13, 1998, 3:00:00 AM5/13/98
to

In article <35586709...@alcyone.com>, m...@alcyone.com says...

>The original Choose-Your-Own-Adventure game format was entirely
>stateless, so could be represented with pure HTML. Random events,
>player state, etc. could be represented with a CGI script.

Maybe we should make a distinction between stateless CYOA and normal
(stately?) CYOA. Indeed, creating stateless CYOA is so trivial that it can be
done in just about anything. However, an IF that plays the same way over and
over again is boring, too much like reading IMHO. Hence, the desire for
randomization/customization.

Using CGI script will solve most of the problems, true. But I'm wary of
solutions that require a functioning server for what amount to solitary
games. If the IF in question is multiplayer, then the use of server is
warranted, otherwise, it's too inconvenient.

Of course, this is just one person opinion. :)
Keep those ideas coming! We'll get to the best solution one of these days!

Erik Max Francis

unread,
May 13, 1998, 3:00:00 AM5/13/98
to

HarryH wrote:

> Maybe we should make a distinction between stateless CYOA and normal
> (stately?) CYOA.

I would question your referring to stately Choose-Your-Own-Adventure
games as "normal." I have a number of the original CYOA books, and none
of them are stately games. (One of them has a solution which you cannot
reach by playing normally, but it's an out-of-bounds puzzle, rather than
a stately puzzle.)

> Indeed, creating stateless CYOA is so trivial that it
> can be
> done in just about anything. However, an IF that plays the same way
> over and
> over again is boring, too much like reading IMHO. Hence, the desire
> for
> randomization/customization.

Agreed, stately Choose-Your-Own-Adventures will certainly make for more
entertaining play. I recently discovered in a used bookstore Steve
Jackson's _Sorcery!_ books, which are so state-filled as to make them
quite unique.

> Using CGI script will solve most of the problems, true. But I'm wary
> of
> solutions that require a functioning server for what amount to
> solitary
> games. If the IF in question is multiplayer, then the use of server is
> warranted, otherwise, it's too inconvenient.

I wouldn't say it's "too inconvenient," because people have no problems
using servers for stateless information all the time (after all, that's
why web surfing is so popular), and they don't seem to be complaining.
Further, there's also something to be said for not having to download
something to play it.

At any rate, I suggested the CGI alternative because someone had
mentioned JavaScript as a possible mechanism for getting stately games,
but, as had been pointed out, JavaScript is not available on every
browser. Java is even less appealing in that regard, and in fact is
probably overkill for the goal of making a CYOA game.

My solution for my purposes (for a stateless game, built into HTML) was
to use a meta file format, which contains all of the rooms, concatenated
with markers (this turned out to be a lot easier than maintaining
separate files). I then use awk to split the results up into different
m4 files, which are then macroprocessed to get the desired result.
Here's what the raw meta file looks like:

# outside.cyoa
TITLE(Outside the white house)
IMAGE(outside)

Here you are outside the house. It's not the one from Zork.
Really.

OPTION(forest, Do you want to take a walk in the forest?)
OPTION(around, Or perhaps peek around the back?)

Chris [Steve] Piuma

unread,
May 14, 1998, 3:00:00 AM5/14/98
to

In article <3559BB27...@alcyone.com>, Erik Max Francis

<m...@alcyone.com> wrote:
> HarryH wrote:
> > Maybe we should make a distinction between stateless CYOA and normal
> > (stately?) CYOA.
> I would question your referring to stately Choose-Your-Own-Adventure
> games as "normal." I have a number of the original CYOA books, and none
> of them are stately games. (One of them has a solution which you cannot
> reach by playing normally, but it's an out-of-bounds puzzle, rather than
> a stately puzzle.)

It's the one where there's some sort of paradise, which in the story is
described as someplace you can't choose to go to or be forced to go to,
right? And then one of the pages has a description of you arriving at the
paradise.

I went through the entire book several times looking for the link that
would take you to that page. Of course, after about four careful searches,
I (and I was about 9 at the time, I think) realized that of course there
isn't a link to it -- any movement from section to section in one of those
books requires a choice ("If you want to feezle the bognigogs, go to page
21.") or being forced ("You have lost the grangly bangle. Turn to page
34.")

This conceit has always stuck with me for its sheer "out-of-bounds"-ness.
The coolest part of the book is something you can't find out about by
playing the game by the rules.

I wonder if this could really be done in a standard IF game. I mean, unless
you're going to do a text dump on each game you play... Well, actually,
wasn't there a footnote in Hitchhiker's that you could only read by just
plugging in numbers? Not exactly the same thing, but still cool.

--
Chris [Steve] Piuma, etc. Nothing is at: http://www.brainlink.com/~cafard
[Editor of _flim_, Keeper of the R.E.M. Lyric Annotations FAQ, MST3K #43136]
order your copy of rec.tribute.rem v.2 now, dammit! email: j...@u.arizona.edu
Would you like to read the story of the three clever peas?

Erik Max Francis

unread,
May 14, 1998, 3:00:00 AM5/14/98
to

Chris [Steve] Piuma wrote:

> It's the one where there's some sort of paradise, which in the story
> is
> described as someplace you can't choose to go to or be forced to go
> to,
> right? And then one of the pages has a description of you arriving at
> the
> paradise.

Yep. I just dug out my books, and it's in _Inside UFO 54-40_ (#12), p.
101.

> This conceit has always stuck with me for its sheer
> "out-of-bounds"-ness.
> The coolest part of the book is something you can't find out about by
> playing the game by the rules.

I have some goofy little "stately" Zork Choose-Your-Own-Adventure (of
course they're not caled that since the term is trademarked), where it
would ask you if you had found objects that previously pop up in the
game. At one point it asks you if you've collected an object that never
appeared in the game, and if you say yes, it labels you a cheater. Heh.

> I wonder if this could really be done in a standard IF game. I mean,
> unless
> you're going to do a text dump on each game you play...

If it were an HTML game, the equivalent would be typing in a URL name
manually that you weren't linked to.

> Well,
> actually,
> wasn't there a footnote in Hitchhiker's that you could only read by
> just
> plugging in numbers? Not exactly the same thing, but still cool.

As I recall, the footnote said something like, "Having fun going through
the footnotes?"

Mary K. Kuhner

unread,
May 14, 1998, 3:00:00 AM5/14/98
to

In article <cafard-ya02408000...@news.micro-net.com>,

Chris [Steve] Piuma <caf...@brainlink.com> wrote:

>This conceit has always stuck with me for its sheer "out-of-bounds"-ness.
>The coolest part of the book is something you can't find out about by
>playing the game by the rules.

>I wonder if this could really be done in a standard IF game. I mean, unless
>you're going to do a text dump on each game you play... Well, actually,


>wasn't there a footnote in Hitchhiker's that you could only read by just
>plugging in numbers? Not exactly the same thing, but still cool.

_Jigsaw_ has sarcastic definitions of several Latin terms which
do not, in fact, appear in the game: you'd have to notice them
in the menu which lets you look up definitions, then ask for the
definition even though you hadn't seen the term. (Which I did,
because I was going to write down all the definitions so that I
wouldn't break game flow by looking up footnotes....)

My game-in-progress has a room you can't reach (I use it to store
objects not currently in use) and I'm tempted to put in a
sarcastic room description, just in case anyone somehow gets there.
(I've gotten there, actually, due to bugs--it was a shock the
first time!)

Mary Kuhner mkku...@genetics.washington.edu

David Glasser

unread,
May 14, 1998, 3:00:00 AM5/14/98
to

> In article <cafard-ya02408000...@news.micro-net.com>,
> Chris [Steve] Piuma <caf...@brainlink.com> wrote:
>
> >This conceit has always stuck with me for its sheer "out-of-bounds"-ness.
> >The coolest part of the book is something you can't find out about by
> >playing the game by the rules.
>
> >I wonder if this could really be done in a standard IF game. I mean, unless
> >you're going to do a text dump on each game you play... Well, actually,
> >wasn't there a footnote in Hitchhiker's that you could only read by just
> >plugging in numbers? Not exactly the same thing, but still cool.

"An Exploration of Color", a Textfire demo, has a few things like that
("Hi! I see you're looking at the source in txd", "This class only
available in a registered version of this demo").

> _Jigsaw_ has sarcastic definitions of several Latin terms which
> do not, in fact, appear in the game: you'd have to notice them
> in the menu which lets you look up definitions, then ask for the
> definition even though you hadn't seen the term. (Which I did,
> because I was going to write down all the definitions so that I
> wouldn't break game flow by looking up footnotes....)
>
> My game-in-progress has a room you can't reach (I use it to store
> objects not currently in use) and I'm tempted to put in a
> sarcastic room description, just in case anyone somehow gets there.
> (I've gotten there, actually, due to bugs--it was a shock the
> first time!)

And then there's the bug that takes you to the surrealistic Class
room...

--David Glasser
gla...@NOSPAMuscom.com | dgla...@NOSPAMfcs.pvt.k12.pa.us
http://onramp.uscom.com/~glasser | http://www.geocities.com/SoHo/6028
DGlasser @ ifMUD : fovea.retina.net:4000 (webpage fovea.retina.net:4001)
Interactive Fiction! MST3K! David Eddings! Macintosh!

pke...@my-dejanews.com

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

In article <355860...@surrey.ac.uk>,

Nizam U Ahmed <cs4...@surrey.ac.uk> wrote:

> There seems to be some confusion here between what is known
> as "CYOA" and a separate type e.g. Lonewolf, Fighting Fantasy.

...

> As soon as you make this transition, you enter the world of
> Fighting Fantasy, skill stamina luck, dice etc. In this

You can get all this using Miva (a.k.a. HTMLScript), it is written just like
HTML but allows variables, cookies, loops, just about anything TADS or Inform
can do and it works in ALL browsers (unlike JavaScript) since it is run on
the server. I've written a primitive CYOA script (no variables yet) that
lets you edit adventures online.

http://www.geocities.com/SiliconValley/Campus/6405/mivacyoa.html

I plan on adding more features in the future. Writting a Lonewolf style
adventure would be beyond simple with Miva.

Patrick

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/ Now offering spam-free web-based newsreading

Nicholas Daley

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

Choose your own adventure system?
I choose Inform.
--
Nicholas Daley
<mailto:link_...@geocities.com>

"Retail:The art of making money by convincing others that
they need or want things which they don't."
- Me

Nicholas Daley

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

Choose your own adventure system?
I choose Inform.
hehehe :-)

JC

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

On Wed, 13 May 1998 (HarryH) wrote:

>Eric Max Francis wrote:
>>The original Choose-Your-Own-Adventure game format was entirely
>>stateless, so could be represented with pure HTML. Random events,
>>player state, etc. could be represented with a CGI script.

>Maybe we should make a distinction between stateless CYOA and normal
>(stately?) CYOA. Indeed, creating stateless CYOA is so trivial that it can be

>done in just about anything.

"Stateless" CYOA is an FSA (Finite State Automata) and does have state. A
better distinction would be between those with _implicit_ (FSA) vs.
_explicit_ state.

';';James';';

Erik Max Francis

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

JC wrote:

> "Stateless" CYOA is an FSA (Finite State Automata) and does have
> state. A
> better distinction would be between those with _implicit_ (FSA) vs.
> _explicit_ state.

Any CYOA has an implicit state, the room you're in (page you're on, page
you're looking at, etc.). We were speaking of states beyond that
requried one. "Stateless" CYOA games have only the implicit state,
whereas "stately" CYOA games have more.

Thomas Aaron Insel

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

har...@iu.net.idiotic.com.skip.idiotic.com (HarryH) writes:

> In article <6j8p50$b...@suriname.earthlink.net>, johnDEL...@earthlink.net
> says...
> >Why not just use HTML????

> You need something like JavaScript in order to have random event. Not all

> browsers is JavaScript capable. You'll also have difficulty in saving and
> restoring the game state. Also, it would be nice to have dynamic choice
> generation where you have more options if you have certain key item.

I wrote a very simple cgi program to do just this (you can pass
around a character of extra state, and use a simple if/then command
to change the HTML presented at each step. It doesn't handle random
events, but you can write a really simple helper script to do this.

It's really really simple and probably not so well written, but if there's
demand, I'll tar it up and post a copy on gmd or my web site.

Tom
--
Thomas Insel (tin...@jaka.ece.uiuc.edu)
"I regret to say that we of the FBI are powerless to act in cases of oral-
genital intimacy, unless it has in some way obstructed interstate commerce."
-- J. Edgar Hoover

Erik Max Francis

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

Thomas Aaron Insel wrote:

> I wrote a very simple cgi program to do just this (you can pass
> around a character of extra state, and use a simple if/then command
> to change the HTML presented at each step. It doesn't handle random
> events, but you can write a really simple helper script to do this.

Note that one _can_ use pure HTML to get a stately CYOA game, provided
that you preprocess and create every possible state to start with. For
any kind of nontrivial state, though, this becomes impractical pretty
quick.

okbl...@usa.net

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

In article <355B1154...@alcyone.com>,

Erik Max Francis <m...@alcyone.com> wrote:
>
> Chris [Steve] Piuma wrote:
>
> As I recall, the footnote said something like, "Having fun going through
> the footnotes?"
>
The Interplay RPG "Wasteland" had a book of plot-point descriptions: The game
would say "Read paragraph #108" and you would go there and find something out
about what you were supposed to do next.

After you finished the game, they encouraged you to read through all the
paragraphs for fun, but as I recall, the very first paragraph was an, em,
enticing description of a woman taking a bath or shower or something, which
ended with her pulling a gun on you and chiding you for cheating.

[ok]

John Elliott

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

mkku...@evolution.genetics.washington.edu (Mary K. Kuhner) wrote:
: My game-in-progress has a room you can't reach (I use it to store

: objects not currently in use)

In _Shadows of Mordor_ it was quite easy to get to this room. In one
location is a "dark hole", and if you entered it, you arrived in a room
containing all the objects in the game...

>ENTER HOLE

Frodo disappears down the dark hole.
Frodo Frodo [sic]

>LOOK

It is dark.

>HOLD PHIAL

Frodo holds aloft the phial of clear crystal. Light streams forth from
the phial of clear crystal.
Frodo is nowhere. Frodo can see Faramir, a platoon of orcs, 2 cocoons,
...[lots of other stuff]... and an enraged Oliphaunt.

------------- http://www.seasip.demon.co.uk/index.html --------------------
John Elliott |BLOODNOK: "But why have you got such a long face?"
|SEAGOON: "Heavy dentures, Sir!" - The Goon Show
:-------------------------------------------------------------------------)

Erik Max Francis

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

JC wrote:

> This is exactly what I said.

I was merely pointing out that we already knew this.

Greg Ewing

unread,
May 15, 1998, 3:00:00 AM5/15/98
to

Chris [Steve] Piuma wrote:
>
> I wonder if this could really be done in a standard IF game.

Sure. It can be done even better in a standard IF game.
With a programming language at your disposal, you can
create hidden features which require arbitrarily obscure
actions to trigger!

> unless
> you're going to do a text dump on each game you play...

Which might not help, if the trigger isn't just an obscure
verb, but some unlikely sequence of actions. Then you'd
have to disassemble the code and figure out the logic...

> --
> Chris [Steve] Piuma, etc. Nothing is at: http://www.brainlink.com/~cafard
> [Editor of _flim_, Keeper of the R.E.M. Lyric Annotations FAQ, MST3K #43136]
> order your copy of rec.tribute.rem v.2 now, dammit! email: j...@u.arizona.edu
> Would you like to read the story of the three clever peas?

--
Greg Ewing, Computer Science Dept, | The address below is
spam-protected.
University of Canterbury, | To decode it, replace "splodge" with "."
Christchurch, New Zealand | and "curly" with "@".
greg curly cosc splodge canterbury splodge ac splodge nz

JC

unread,
May 16, 1998, 3:00:00 AM5/16/98
to

On Fri, 15 May 1998 Erik Max Francis wrote:

>JC wrote:

>> "Stateless" CYOA is an FSA (Finite State Automata) and does have
>> state. A better distinction would be between those with _implicit_
>> (FSA) vs. _explicit_ state.

>Any CYOA has an implicit state, the room you're in (page you're on, page
>you're looking at, etc.). We were speaking of states beyond that
>requried one. "Stateless" CYOA games have only the implicit state,
>whereas "stately" CYOA games have more.

This is exactly what I said.

';';James';';

Paul Francis Gilbert

unread,
May 17, 1998, 3:00:00 AM5/17/98
to

caf...@brainlink.com (Chris [Steve] Piuma) writes:

>I wonder if this could really be done in a standard IF game. I mean, unless
>you're going to do a text dump on each game you play... Well, actually,
>wasn't there a footnote in Hitchhiker's that you could only read by just
>plugging in numbers? Not exactly the same thing, but still cool.

Yes. The "Isn't it fun reading all the footnotes?" footnote. Of course, it's
somewhat unique in that the more modern games that have immitated the use of
footnote tend to adopt a dynamic footnote allocation where the footnotes are
always ordered in the order in which you find them, so you
--
Paul Gilbert | p...@yallara.cs.rmit.edu.au (The DreamMaster)
Bach App Sci, Bach Eng | The opinions expressed are my own, all my own, and
Year 5, RMIT Melbourne | as such will contain no references to small furry
Australia | creatures from Alpha Centauri.

JID

unread,
May 17, 1998, 3:00:00 AM5/17/98
to

In article <6jlvo3$dd5$1...@goanna.cs.rmit.edu.au>, p...@cs.rmit.edu.au (Paul
Francis Gilbert) wrote:

>Yes. The "Isn't it fun reading all the footnotes?" footnote. Of course, it's
>somewhat unique in that the more modern games that have immitated the use of
>footnote tend to adopt a dynamic footnote allocation where the footnotes are
>always ordered in the order in which you find them, so you

...can't do that anymore?

-------------------------------------------------------
Johanna (aka Joey): ow...@best.com
-------------------------------------------------------
"They honed his instinct for the jugular of weakness.
It got so sharp that sometimes he couldn't look at
himself in the mirror."
-- James Ellroy, "L.A. Confidential"
------------------------------------------------------
Rosencrantz and Guildenstern In Wonderland, American
Gothic, Jeunet & Caro: http://www.best.com/~owls
-------------------------------------------------------

Paul Francis Gilbert

unread,
May 17, 1998, 3:00:00 AM5/17/98
to

ow...@best.com (JID) writes:

>In article <6jlvo3$dd5$1...@goanna.cs.rmit.edu.au>, p...@cs.rmit.edu.au (Paul
>Francis Gilbert) wrote:

>>Yes. The "Isn't it fun reading all the footnotes?" footnote. Of course, it's
>>somewhat unique in that the more modern games that have immitated the use of
>>footnote tend to adopt a dynamic footnote allocation where the footnotes are
>>always ordered in the order in which you find them, so you

>....can't do that anymore?

Sorry, I accidentally cut it off and sent it without finishing. What I meant
to finish with was:

"don't see that sort of fixed footnote allocation which allows for that
sort of thing anymore."


>-------------------------------------------------------
>Johanna (aka Joey): ow...@best.com
>-------------------------------------------------------
>"They honed his instinct for the jugular of weakness.
>It got so sharp that sometimes he couldn't look at
>himself in the mirror."
>-- James Ellroy, "L.A. Confidential"
>------------------------------------------------------
>Rosencrantz and Guildenstern In Wonderland, American
>Gothic, Jeunet & Caro: http://www.best.com/~owls
>-------------------------------------------------------

Chris [Steve] Piuma

unread,
May 17, 1998, 3:00:00 AM5/17/98
to

In article <355BB6...@see.below>, Greg Ewing <not.t...@see.below> wrote:
> Chris [Steve] Piuma wrote:
> > I wonder if this could really be done in a standard IF game.
> Sure. It can be done even better in a standard IF game.
> With a programming language at your disposal, you can
> create hidden features which require arbitrarily obscure
> actions to trigger!

Um, yeah, but the point is that in the book I was referring to, it was
quite easy to stumble across the page that you weren't able to get to. It's
the nature of books, and especially in books where you're constantly being
asked to go to page X which is nowhere near the page you're at now, that
you'd notice the unattainable page. Whereas obscure actions are, well,
obscure. There isn't any way to have someone come across a section of the
game which is truly unattainable. Unless they do a text dump, or unless you
release a game with the debugging verbs still active.

There would be no way of recreating the paradise scene in the CYOA book I
was talking about in IF.

--
Chris [Steve] Piuma, etc. Nothing is at: http://www.brainlink.com/~cafard
[Editor of _flim_, Keeper of the R.E.M. Lyric Annotations FAQ, MST3K #43136]
order your copy of rec.tribute.rem v.2 now, dammit! email: j...@u.arizona.edu

Quindecagon?

GLEEMOTH

unread,
May 18, 1998, 3:00:00 AM5/18/98
to

>>>Yes. The "Isn't it fun reading all the footnotes?" footnote. Of course, it's
>>>somewhat unique in that the more modern games that have immitated the use of
>>>footnote tend to adopt a dynamic footnote allocation where the footnotes are
>>>always ordered in the order in which you find them, so you
>[...]

>"don't see that sort of fixed footnote allocation which allows for that
>sort of thing anymore."
Incidentally, WorldClass allows for this sort of thing.
Shay "$0.02" Caron
(Shay_...@letterbox.com
-or-
glee...@aol.com)

michael...@ey.com

unread,
May 18, 1998, 3:00:00 AM5/18/98
to

In article <cafard-ya02408000...@news.micro-net.com>,

caf...@brainlink.com (Chris [Steve] Piuma) wrote:
>
> In article <355BB6...@see.below>, Greg Ewing <not.t...@see.below>
wrote:
> > Chris [Steve] Piuma wrote:
> > > I wonder if this could really be done in a standard IF game.
> > Sure. It can be done even better in a standard IF game.
> > With a programming language at your disposal, you can
> > create hidden features which require arbitrarily obscure
> > actions to trigger!
>
> Um, yeah, but the point is that in the book I was referring to, it was
> quite easy to stumble across the page that you weren't able to get to. It's
> the nature of books, and especially in books where you're constantly being
> asked to go to page X which is nowhere near the page you're at now, that
> you'd notice the unattainable page. Whereas obscure actions are, well,
> obscure. There isn't any way to have someone come across a section of the
> game which is truly unattainable. Unless they do a text dump, or unless you
> release a game with the debugging verbs still active.
>
> There would be no way of recreating the paradise scene in the CYOA book I
> was talking about in IF.
>

I wouldn't say it's impossible. Code up a grammar line that transports the
player to Paradise if he/she simply types "GO TO PARADISE" or a reasonable
synonym thereof. It's not inconceivable that a frustrated player will
eventually type that in just for the bitter satisfaction of receiving an "I
don't understand that" message, only to find that he/she has just won the
game.

In Hitchhiker's Guide, typing the word "escape" at any point in the game would
immediately transport you to the plains of Mongolia, where you would be
trampled in short order by a vast horde of hairy horsemen. I would never have
found it if I hadn't been sarcastic at my computer.

--M.

Richard G Clegg

unread,
May 18, 1998, 3:00:00 AM5/18/98
to

michael...@ey.com wrote:

: In Hitchhiker's Guide, typing the word "escape" at any point in the game would


: immediately transport you to the plains of Mongolia, where you would be
: trampled in short order by a vast horde of hairy horsemen. I would never have
: found it if I hadn't been sarcastic at my computer.

Actually, not quite true. If you were in one of "the dark" locations
you could use escape to get to another connected to a different "sense"
(if you understand what I mean?).

--
Richard G. Clegg Only the mind is waving
Dept. of Mathematics (Network Control group) Uni. of York.
email: ric...@manor.york.ac.uk
www: http://manor.york.ac.uk/top.html


michael...@ey.com

unread,
May 18, 1998, 3:00:00 AM5/18/98
to

In article <6jpdbo$egt$5...@pump1.york.ac.uk>,

ric...@manor.york.ac.uk wrote:
>
> michael...@ey.com wrote:
>
> : In Hitchhiker's Guide, typing the word "escape" at any point in the game
would
> : immediately transport you to the plains of Mongolia, where you would be
> : trampled in short order by a vast horde of hairy horsemen. I would never
have
> : found it if I hadn't been sarcastic at my computer.
>
> Actually, not quite true. If you were in one of "the dark" locations
> you could use escape to get to another connected to a different "sense"
> (if you understand what I mean?).
>

Ah, I didn't know that. Would've reduced my playing time considerably if I
had.

But my point remains the same: "escape" isn't a very intuitive verb in
interactive fiction -- you wouldn't generally think that typing it would get
you an intelligent response. And yet people did discover it in HHGTTG.
Therefore, it makes a passingly good example of an option that you can only
discover by stumbling across it randomly.

David Given

unread,
May 19, 1998, 3:00:00 AM5/19/98
to

In article <6jfej0$bua$1...@nntp5.u.washington.edu>,[...]

>My game-in-progress has a room you can't reach (I use it to store
>objects not currently in use) and I'm tempted to put in a
>sarcastic room description, just in case anyone somehow gets there.
>(I've gotten there, actually, due to bugs--it was a shock the
>first time!)

I use this in MUD's.

---snip---
You are in the Caves of Chaos control room. You are surrounded by masses
of complicated, slightly fuzzy and badly described machinery.

There is a control panel here.
You can hear a faint humming sound.

> x panel

Active
Uptime: 7 minutes
Time till reset: 5 minutes
Active players in zone: 0

> reset panel

You press the reset switch. The humming sound stops.

> x panel

Inactive

>
---snip---

(Actually, this is a fake transcript; my prototype combat MOO never really
got off the ground; I hashed up the security and it needs a rewrite. But
this is what I was intending...)


--
+- David Given ----------------+
| Work: d...@tao.co.uk | Circular definition: see "circular
| Play: d...@freeyellow.com | definition."
+- http://wiredsoc.ml.org/~dg -+

David Given

unread,
May 19, 1998, 3:00:00 AM5/19/98
to

In article <355B1154...@alcyone.com>,

Erik Max Francis <m...@alcyone.com> wrote:
>Chris [Steve] Piuma wrote:
>
>> It's the one where there's some sort of paradise, which in the story
>> is
>> described as someplace you can't choose to go to or be forced to go
>> to,
>> right? And then one of the pages has a description of you arriving at
>> the
>> paradise.
>
>Yep. I just dug out my books, and it's in _Inside UFO 54-40_ (#12), p.
>101.
[...]

What! You mean there wasn't a link to that page? Aaargh! The time I spent
looking to try and work out how to get there!

IIRC that page had a (very bad) illustration, too.

David Brain

unread,
May 19, 1998, 3:00:00 AM5/19/98
to

In article <cafard-ya02408000...@news.micro-net.com>,
caf...@brainlink.com (Chris [Steve] Piuma) wrote:

> It's
> the nature of books, and especially in books where you're constantly
> being
> asked to go to page X which is nowhere near the page you're at now, that
> you'd notice the unattainable page

The only CYOA (or, rather FF) book I actually finished writing (as
opposed to the several dozen I started ;-)) was based almost entirely
around complex mathematical formulae for determining paragraphs (objects
had numbers on them and you had to multiply them by other numbers etc).
It was fun to design but a bugger to implement because one wrong
calculation threw almost the entire book out. At last count it had five
different endings depending upon how much of the plot you had managed to
unravel, as well as two endings you couldn't reach at all, and one "fake"
ending with six rogue paragraphs which were carefully placed to give false
numbers (so that it was theoretically possible to reach the fake ending
but only by reading one of the "cheat" paragraphs.)
It also featured a *very* basic conversation tree, since I was fed up with
reading books of this type that featured no conversations.
(The beta-readers all enjoyed it but said it was way too complicated for a
CYOA book :-)

I can't even work out how to implement this in something like Inform (let
alone a CYOA system) since at an IF level it would simply reduce to a
"take X to Y" game, which would hardly be pushing the boundaries!

David Brain
London, UK

> Light creates shadow; light destroys shadow. Such is the transience of
darkness <

Darin Johnson

unread,
May 19, 1998, 3:00:00 AM5/19/98
to

dg@ (David Given) writes:

> >My game-in-progress has a room you can't reach (I use it to store
> >objects not currently in use) and I'm tempted to put in a
> >sarcastic room description, just in case anyone somehow gets there.
> >(I've gotten there, actually, due to bugs--it was a shock the
> >first time!)
>
> I use this in MUD's.

It was somewhat common at times in some LPMUDs. Every object has a
parent, even rooms. If there is no parent, and one is needed, the
"void" object is used. Thus, sometimes a bug would cause objects to
be forcibly relocated to the room's parent, which would be the void.
Usually, one just found junk there, but sometimes it would a player,
stuck in a room with no actions, no description, no exit, etc.

It got to be a joke sometimes, with people coming up with elaborate
descriptions for the void, wizards holding secret get-togethers there,
and so forth. I even wrote a magic item that if you broke it, it
would print impersonate an error message, then open up a rift to the
void, which a player could enter and then see the backside of the MUD,
including the back of scenery drops. Much like the end game in
adventure.

--
Darin Johnson
da...@usa.net.delete_me

Mike Snyder

unread,
May 25, 1998, 3:00:00 AM5/25/98
to

> At any rate, I suggested the CGI alternative because someone had
> mentioned JavaScript as a possible mechanism for getting stately games,
> but, as had been pointed out, JavaScript is not available on every
> browser. Java is even less appealing in that regard, and in fact is
> probably overkill for the goal of making a CYOA game.
>
> My solution for my purposes (for a stateless game, built into HTML) was
> to use a meta file format, which contains all of the rooms, concatenated
> with markers (this turned out to be a lot easier than maintaining
> separate files). I then use awk to split the results up into different
> m4 files, which are then macroprocessed to get the desired result.
> Here's what the raw meta file looks like:

I use Javascript/HTML for client-side and Perl/C for server-side
programming. True, not all browsers support Javascript. However, the
stats for any site I've ever administered or worked with has been that a
good 50% use Netscape, 45% MSIE, and around 5% use "other." I believe
even WebTV and AOL now support Javascript in their browsers?

Not only is CYOA highly possible using the above tools, but I'd bet a
full Interactive Fiction game (not using the Inform java tool) is
possible as well... in fact, VERY do-able. I've planned on adding a
"real" IF work (not a CYOA, as is traditionally seen) to my Exertion
Gaming Arcade (http://www.cxo.com/~wyndo/exertion/) and maybe one of
these days I will.

(Speaking of real IF) I've seen many attempts and they all fell pretty
short. Why? They tried doing it with hyperlinks... or 5 frames with a
movement rose, inventory window, etc. You only need TWO frames -- a
static input frame and a fairly large dynamic output frame. There you go
-- IF on the Web. :)

Mike Snyder

Erik Max Francis

unread,
May 25, 1998, 3:00:00 AM5/25/98
to

Mike Snyder wrote:

> I use Javascript/HTML for client-side and Perl/C for server-side
> programming. True, not all browsers support Javascript. However, the
> stats for any site I've ever administered or worked with has been that
> a
> good 50% use Netscape, 45% MSIE, and around 5% use "other." I believe
> even WebTV and AOL now support Javascript in their browsers?

I would think that, of all places on Usenet, rec.arts.int-fiction would
_not_ be the place where you argue that the players should just get
modern hardware/software . . . :-)

For grins, I just scanned the last 100 000 hits to www.alcyone.com, and
the figures are roughly the same. 54% Netscape, 40% Internet Explorer,
and and the remaining 6% miscellaneous (most search engine spiders).

> Not only is CYOA highly possible using the above tools, but I'd bet a
> full Interactive Fiction game (not using the Inform java tool) is
> possible as well...

There's no doubt about that. But the point is, if you're going to go
through the trouble of coding up the thing, why not do it right and make
it a CGI script on the server side? That way, it's guaranteed to be
usable by anyone with straight HTML, and there's no cheating (peeking at
the JavaScript code in the page).

(I never had any fondness for JavaScript, anyway.)

George Caswell

unread,
May 26, 1998, 3:00:00 AM5/26/98
to

On Mon, 25 May 1998, Erik Max Francis wrote:

> > Not only is CYOA highly possible using the above tools, but I'd bet a
> > full Interactive Fiction game (not using the Inform java tool) is
> > possible as well...
>
> There's no doubt about that. But the point is, if you're going to go
> through the trouble of coding up the thing, why not do it right and make
> it a CGI script on the server side? That way, it's guaranteed to be
> usable by anyone with straight HTML, and there's no cheating (peeking at
> the JavaScript code in the page).
>

Though I -really- don't like javascript, I'd have to say it would be
better suited to writing an adventure system than CGI... response times
wouldn't be laced up with latencies of going to and from the server. And,
of course, the CGI system for such a thing would get pretty complicated...
it would probably need to support multiple sessions simultaneously, and
that introduces problems of mutex locks, IPC, game state passing, etc...

I think regular java would work better, at least better than CGI. (I
suspect better than javascript as well) Just make sure your program is
equipped to run on the crappy JVM's and libraries on most web browsers...
(I've heard MSIE's JVM is better than Netscape's, but I've never run
MSIE.)

> (I never had any fondness for JavaScript, anyway.)
>

I hate any web browser feature that lets people pop up annoying little
windows on my screen..

---GEC


pke...@hotmail.com

unread,
May 27, 1998, 3:00:00 AM5/27/98
to

> From: Erik Max Francis <m...@alcyone.com>

>Which one, Java or JavaScript? They're two totally different things.

JavaScript, I tend to forget to type the Script part :-) Java is cool, I
love playing a true emulation of Phonix in my web browser (who would have
thunk it possable).

>Of course. But the vast majority of people browsing don't change their
>reported agent, so the statistics are plenty useful.

Perhaps. I was amazed when viewing the stats for a movie database page I
used to run that about 2% of the 1000+ visitors a day were viewing the
page on a Sony playstation or Sega Saturn. Made me really want to buy one
of the machines to try for myself.

>Be wary when people you don't know offer something you should run on
>your server. :-)

Well, let's look at their customers... Simplenet, Tierranet, major ISPs
everywhere. Yeah, I think it's safe. I don't know who wrote Lynx but I
have no prob running it.

Patrick

Erik Max Francis

unread,
May 27, 1998, 3:00:00 AM5/27/98
to

George Caswell wrote:

> Though I -really- don't like javascript, I'd have to say it would
> be
> better suited to writing an adventure system than CGI... response
> times
> wouldn't be laced up with latencies of going to and from the server.

I thought the idea here is that you _would_ be playing off of a server,
rather than downloading the whole game system to your machine and
running it there.

> And,
> of course, the CGI system for such a thing would get pretty
> complicated...
> it would probably need to support multiple sessions simultaneously,
> and
> that introduces problems of mutex locks, IPC, game state passing,
> etc...

Not unless there is explicit interaction. Far more easy would be to
encode the game state in a "rock" which you would be the form data sent
to the CGI script every update. Worse yet, you could use a cookie
(though you will be fired upon by the authorities if you do).

Stately games hardly imply complicated servers.

> I think regular java would work better, at least better than CGI.
> (I
> suspect better than javascript as well) Just make sure your program
> is
> equipped to run on the crappy JVM's and libraries on most web
> browsers...
> (I've heard MSIE's JVM is better than Netscape's, but I've never run
> MSIE.)

We're talking about an interactive fiction game. How would Java
possibly be more advantageous than JavaScript?

Erik Max Francis

unread,
May 27, 1998, 3:00:00 AM5/27/98
to

pke...@hotmail.com wrote:

> >Be wary when people you don't know offer something you should run on
> >your server. :-)
>
> Well, let's look at their customers... Simplenet, Tierranet, major
> ISPs
> everywhere. Yeah, I think it's safe. I don't know who wrote Lynx but
> I
> have no prob running it.

There are quite different things involved, there. Lynx is a program you
run to look at certain websites (or ftp archives). Server-side programs
(such as CGI scripts) are far more likely to be dangerously insecure,
since 1. people who are apt to write such things do a worse job at
servers rather than clients, 2. poor programming makes servers far more
vulernable than clients, and 3. servers are up all the time, meaning
that they can be compromised when you're nowhere near the machine.

It's one thing to knowingly run a program on your machine. It's another
to knowingly install a service on your machine and leave it running
forever.

Mind you, I'm talking about accidental insecurities, not malicious
ones. Any idiot can write a program which deliberately compromises your
machine. The sinister compromises are from programs that are intended
to be utterly harmless, and are used to gain unauthorized information or
access by a _third_ party.

And, by the way, just because some big ISPs are willing to do something
does not mean that it is secure.

George Caswell

unread,
May 27, 1998, 3:00:00 AM5/27/98
to

On Wed, 27 May 1998, Erik Max Francis wrote:

> > I think regular java would work better, at least better than CGI.
> > (I
> > suspect better than javascript as well) Just make sure your program
> > is
> > equipped to run on the crappy JVM's and libraries on most web
> > browsers...
> > (I've heard MSIE's JVM is better than Netscape's, but I've never run
> > MSIE.)
>
> We're talking about an interactive fiction game. How would Java
> possibly be more advantageous than JavaScript?
>

bytecode vs. source code-- more compact and harder to cheat. A jvm
can potentially be made to run a lot faster than a javascript interpreter,
as well. Anyway, if you're going to do something, may as well do it right
and use a programming language rather than a scripting one.

---GEC


Erik Max Francis

unread,
May 27, 1998, 3:00:00 AM5/27/98
to

George Caswell wrote:

> bytecode vs. source code-- more compact and harder to cheat.

If your interest is in uncompromizibility, then you should be using a
server-side solution (i.e., CGI script), not a client-side one (i.e,.
Java or JavaScript).

> A
> jvm
> can potentially be made to run a lot faster than a javascript
> interpreter,
> as well.

Which goes double for server-side stuff -- all the computation gets done
on the server.

> Anyway, if you're going to do something, may as well do it
> right
> and use a programming language rather than a scripting one.

Right. Pick your language of choice, then do it as a CGI script.

Reply all
Reply to author
Forward
0 new messages