[inform] not undoing

4 views
Skip to first unread message

Jim Aikin

unread,
Apr 28, 1999, 3:00:00 AM4/28/99
to
To prevent players from using an outside-the-scenario shortcut to solve
a particular puzzle, I'd like to make the 'undo' verb not work in one
particular room.

Is there a canonically approved method of proceeding? (Zarf, are you
reading this?) I've located the @save_undo line in parserm.h, but I'm
not at all sure how to hack it, since that routine is using all sorts of
internal variables and I have no clue what they are. Also, the
@save_undo opcode is not documented in the DM; it looks as if it's
returning a value to i, but even if I knew what the value was, I'd still
be in danger of crashing whatever I touched.

There doesn't appear to be anything in the DM on this rather esoteric
concept. Any guidance would be much appreciated.

--Jim Aikin (remove .no_spam when replying)

***********************************
"Those instances of it which lack
the quality referred to as 'swing'
are meaningless." --Duke Ellington
***********************************

Digby McWiggle

unread,
Apr 28, 1999, 3:00:00 AM4/28/99
to
In article <37276761...@pacbell.net>,

Jim Aikin <jaikin....@pacbell.net> wrote:
>To prevent players from using an outside-the-scenario shortcut to solve
>a particular puzzle, I'd like to make the 'undo' verb not work in one
>particular room.

Maybe you could just Replace the *grammar* definition for UNDO, and divert it
to your own routine which checks if you are in that particular room or
whatever, and if not call the usual undo routine.

Or is that just too simple a solution to actually work?

Cheers,
Digby

BWilliams

unread,
Apr 28, 1999, 3:00:00 AM4/28/99
to
Wouldn't this work?

[@UndoCheckerSub;
if(location==room_with_no_undo)
"error message goes here.";
<<Undo>>;];

Replace "undo" * ->@UndoChecker


Or am I not understanding how the replace function works?

--Brandon

Evin C Robertson

unread,
Apr 28, 1999, 3:00:00 AM4/28/99
to
Excerpts from netnews.rec.arts.int-fiction: 28-Apr-99 [inform] not
undoing by Jim Ai...@pacbell.net
> To prevent players from using an outside-the-scenario shortcut to solve
> a particular puzzle, I'd like to make the 'undo' verb not work in one
> particular room. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^

You misspelled "be tortured by corn eating monkeys until you're unable
to use vowels."

> Is there a canonically approved method of proceeding? (Zarf, are you
> reading this?) I've located the @save_undo line in parserm.h, but I'm
> not at all sure how to hack it, since that routine is using all sorts of
> internal variables and I have no clue what they are. Also, the
> @save_undo opcode is not documented in the DM; it looks as if it's
> returning a value to i, but even if I knew what the value was, I'd still
> be in danger of crashing whatever I touched.

It's documented in the z-machine standards document. Basically, just
add a line in before the @restore_undo like:
if(location has gameauthorisevil) "You can't do that now.";

> There doesn't appear to be anything in the DM on this rather esoteric
> concept. Any guidance would be much appreciated.

You will only annoy your players and not prevent them from 'cheating'
(they can still save/restore). If you think you have a good IF puzzle
which is ruined by undo, you don't.


Dylan O'Donnell

unread,
Apr 29, 1999, 3:00:00 AM4/29/99
to
digby_m...@hotmail.com (Digby McWiggle) writes:
> In article <37276761...@pacbell.net>,
> Jim Aikin <jaikin....@pacbell.net> wrote:
> >To prevent players from using an outside-the-scenario shortcut to solve
> >a particular puzzle, I'd like to make the 'undo' verb not work in one
> >particular room.
>
> Maybe you could just Replace the *grammar* definition for UNDO, and divert
> it to your own routine which checks if you are in that particular room or
> whatever, and if not call the usual undo routine.
>
> Or is that just too simple a solution to actually work?

It is, I'm afraid. UNDO doesn't have a grammar entry; it's hardwired
into the parser. You can hack it messily out of parserm.h, or cheat
and set undo_flag to 0 when you want to disable it (you'll need to do
this each turn, and also in AfterLife() if you want to prevent UNDO
after death); doing that lies to the parser "I'm running on an
interpreter that doesn't support UNDO". (You'll want to modify
Miscellany 6 of the LibraryMessages to return something sensible for
this case.)

Standard caveat: don't disable UNDO unless you're sure that's what you
want to do, and that it's absolutely necessary to the situation, or
your players will lynch you. Also, this only prevents the UNDO command;
interpreter-level undo such as that found in Frotz isn't able to be got
round by the game author.

--
: Dylan O'Donnell : "Product is. Product is Product. Warehouse :
: Demon Internet Ltd : produces Product. Members(Warehouse) do :
: Resident, Forgotten Office : jobs --> Product is produced." :
: http://www.fysh.org/~psmith/ : -- Dan Shiovitz, "Bad Machine" :

Jon Petersen

unread,
Apr 29, 1999, 3:00:00 AM4/29/99
to
Jim Aikin wrote:
>
> To prevent players from using an outside-the-scenario shortcut to solve
> a particular puzzle, I'd like to make the 'undo' verb not work in one
> particular room.

HAHAHAHAHAHAAAAA

Even if you take the arcane steps necessary to disabling undo, there are
lots of interpreters (the Frotz ones for example) which have built-in
undo powers unstoppable by any mere mortal. You should probably rethink
your puzzle instead.

Jon

BWilliams

unread,
Apr 29, 1999, 3:00:00 AM4/29/99
to
Oops! Should have written

Extend "undo" replace

in my previous message (I think).

BWilliams <pre...@sprynet.com> wrote in message
news:7g89g6$38d$1...@juliana.sprynet.com...

Jim Aikin

unread,
Apr 29, 1999, 3:00:00 AM4/29/99
to

> HAHAHAHAHAHAAAAA
>
> Even if you take the arcane steps necessary to disabling undo, there are
> lots of interpreters (the Frotz ones for example) which have built-in
> undo powers unstoppable by any mere mortal. You should probably rethink
> your puzzle instead.
>
> Jon

Waaahhhh.... <sniffle sniffle>

Okay. It's certainly not a central part of the game concept. All it is
is, [SPOILER FOLLOWS}


I'm creating a maze where you hear certain sounds when you leave the
correct path, and other sounds when you return to the correct path. If
the player can undo each time s/he hears the bad sound, the maze
becomes, as Holmes said, mere child's play. If you need to wander around
for a minute until you hear the GOOD sound, it makes the maze much more
involving and realistic, IMHO. In general, I have no problem with the
idea of letting the player undo something that makes him/her dead, for
example. Come to think of it, though, I've just created a naughty puzzle
in which you aren't supposed to eat some cookies, and if you do you
won't find out about it for five turns. Can't undo that ....
hahahahahaha!

--jim aikin

+++++++++++++++++++++++++++++++++
Your clever slogan in this space.
+++++++++++++++++++++++++++++++++

Adam J. Thornton

unread,
Apr 30, 1999, 3:00:00 AM4/30/99
to
In article <37292659...@pacbell.net>,
Jim Aikin <jaikin....@pacbell.net> wrote:
[SPOILER SPACE]



>I'm creating a maze where you hear certain sounds when you leave the
>correct path, and other sounds when you return to the correct path. If
>the player can undo each time s/he hears the bad sound, the maze
>becomes, as Holmes said, mere child's play. If you need to wander around
>for a minute until you hear the GOOD sound, it makes the maze much more
>involving and realistic, IMHO. In general, I have no problem with the
>idea of letting the player undo something that makes him/her dead, for
>example. Come to think of it, though, I've just created a naughty puzzle
>in which you aren't supposed to eat some cookies, and if you do you
>won't find out about it for five turns. Can't undo that ....
>hahahahahaha!

OK. The maze puzzle would be sufficient reason for me to stop playing your
game and never return.

If the cookies weren't well clued, then that would be too.

Both of these seem like sadistic puzzles that exist only to piss off the
player.

Adam
--
ad...@princeton.edu
"There's a border to somewhere waiting, and a tank full of time." - J. Steinman

Jim Aikin

unread,
May 2, 1999, 3:00:00 AM5/2/99
to

> OK. The maze puzzle would be sufficient reason for me to stop playing your
> game and never return.
>
> If the cookies weren't well clued, then that would be too.
>
> Both of these seem like sadistic puzzles that exist only to piss off the
> player.

Well, I'd have to say much the same thing about a lot of IF that I've
played (or tried to). Not to kvetch about particular authors or games,
but have you played Christminster? Were you able to get into the college
without downloading a walkthrough? I sure wasn't. It's a good game, I'm
not complaining, but if the author thought that was an easy puzzle that
would never piss anybody off, I'd have to say he was wrong. Or consider
the very fist puzzle you have to solve in Zork: The Undiscovered
Underground. After being eaten by a grue about 20 times, I gave up and
downloaded a walkthrough. The solution to that one is dead simple,
nowhere near the level of complexity of the opening puzzle in
Christminster, but I would _never_ have thought of it. And as far as I
can see, there's NO hint anywhere. You just have to think of trying a
certain action. Here again, from what I've seen so far it's a good game,
but this tightrope we have to walk between too easy and too hard is not
a clean white line incised in the air. It has more the consistency of
air pudding, or a quantum wave probability space.

What I'm doing in my game, to have pity on players who are as hapless as
I, is this: I'm implementing a COMPLETE online InvisiClues-style help
system. You can't get stuck, no matter how tricky the puzzle is. And
yes, there are clues liberally scattered about that should (I hope) help
you with the trickier stuff without your ever having to consult the help
file. Consulting the help file will reduce your score, naturally.

My question for you (and whoever) is, would having an online help system
make you more willing to continue playing a game that has some tricky
puzzles in it? Assuming the help is properly done, with a series of
clues for each puzzle leading from fairly oblique hints through direct
solutions?

My goal is to create a game that's both fun and amazing. (And without
shedding my cloak of modesty, I might add ;-) Amazing and sadistic both
seem to be locations within that quantum wave probability space, of
course, and I'm not sure how far apart they are.

--Jim Aikin

Florian Edlbauer

unread,
May 3, 1999, 3:00:00 AM5/3/99
to

Jim Aikin wrote:

> My question for you (and whoever) is, would having an online help system
> make you more willing to continue playing a game that has some tricky
> puzzles in it? Assuming the help is properly done, with a series of
> clues for each puzzle leading from fairly oblique hints through direct
> solutions?

Of course it would! Though the puzzles still would have to be logical.

Florian


Reply all
Reply to author
Forward
0 new messages