Having watched a couple of people play, I've noticed a few patterns:
1) The Monkey Island effect. People have often typed:
'walk to glass cabinet'
'use key in door'
'talk to scientist'
because these are the mainstays of graphic adventures (which Joe Popcorn is
a
lot more used to.)
I'm implementing menu-driven conversation because it's so much more
user-friendly. For 'use' I gently remind the player that they have the whole
of
the English language to choose from and should be a bit more specific.
2) Skimming through text. I made the mistake of putting an important
instruction at the end of a large chunk of text, and almost everyone ignored
it.
Instead I use menu-driven conversations to have long talks happen bit by
bit.
Other things I'm implementing to stop cries of 'I don't get it!' from
players:
- The game is divided into chunks, with passwords rather than savegames
(I use Winfrotz, which has unlimited undos). There aren't any dependencies
between chunks, so players can pick the game up from wherever they left off.
The puzzle to enter the endgame involves using numbers found in each chunk-
although some of these are hidden- to see how good a player really is. (I'm
thinking of it as the equivalent of getting all the hidden crystals in a
platform
game.)
- The puzzles start off easily. The first section can be solved just by
using the
'wait' verb ten times- although nobody has worked this out yet, and everyone
is convinced that they finished it by walking east ten times.
- The parser's been heavily modified. Many verbs have been extended so that
if the player types something that it doesn't recognise
('get key before anybody notices me') it tells them how they might rephrase
it. ('Why not just try 'get key'?)
Anyone have any other thoughts on this?
That's a great idea, and I hope you post your modifications!
(Also, with a modified parser its especially important to get lots of beta
testing in case you accidently break something fundamental.)
Joe
I've never yet seen an adventure game which wasn't IF. Though admittedly
there does exist a lot of IF which isn't adventure games...
Aris Katsaris
In fact, I wish somebody would convert those old Indy games into text
adventures. Maybe with the original music, too. That way,
_The_Last_Crusade_, which only works with the now-unobtainable 16 colors (at
least on a Mac), is useless. It'd be so cool!!!
Too bad about copyright issues. But maybe somebody should do an
"underground" thing for it, and then release it to a bunch of places
simultaneously, and it'd be so widely played it'd be impossible to regulate,
and LucasArts probably doesn't care about those old games, anyhow. (I
called tech support, and they did NOT release a patch for Indy to make it
work under 256 colors. Dang the luck!)
Just ramblings...
--
Andrew M.
Verb 'use'
* door -> Enter
* clothing -> Wear
* switchable -> Switch ! note: I've made a new routine, "SwitchSub"
* noun -> Use;
[ SwitchSub; if (noun hasnt on) <<SwitchOn noun>>; <<SwitchOff noun>>;];
[ UseSub; if (noun hasnt usable) "You can't usefully use ", (the) noun,
".";];
And in this way, if a noun has the "usable" attribute it can be used. For
instance, a candle object:
Object candle "candle"
with
name 'candle' 'wick',
description "It's a candle.",
before [; Use: <<Burn self>>;],
has usable;
Now, one might say, "What a waste of an attribute! Just use a property
instead!" And one might be right. And I may very well change all the
objects in my game to use a property rather than an attribute. But there
are so MANY objects that could provide a "use" response, that I'm probably
not, unless I'm positive it'll save some space.
--
Andrew M.
-- Gunther
Not a thought, but a question:
How on earth do you program THAT?
I agree. I found Fate of Atlantis masterful, and the conversations were a
major factor in this.
--OKB (Bren...@aol.com) -- no relation to okblacke
"Do not follow where the path may lead;
go, instead, where there is no path, and leave a trail."
--Author Unknown
> I'm sure there have been postings of this sort before, and I do
> know that there is a "use.h" library for Inform, but it'd be
> handy to make it standard--I'm implementing it all over in my
> games. For instance:
>
> Verb 'use'
> * door -> Enter
> * clothing -> Wear
> * switchable -> Switch ! note: I've made a new routine,
> "SwitchSub" * noun -> Use;
>
> [ SwitchSub; if (noun hasnt on) <<SwitchOn noun>>; <<SwitchOff
> noun>>;]; [ UseSub; if (noun hasnt usable) "You can't usefully
> use ", (the) noun, ".";];
>
While I'm not very INform literate, it sounds like it might be err
useful. You may want to consider that deafult message though:
"You can't find a reasonable use for " ...
might be a little better. I might just be a language freak though.
Just an opinion :)
Tom
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Tom Raymond adk AT usaDOTnet
"The original professional ameteur."
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Well, I will say this. I'll add that there's no need for an attribute at
all, because if an object provides a before routine with ##Use in it, it
will override the default verb routine anyway.
On a slightly different note, I made a Use routine which checked for
attributes (such as switchable, clothing, etc.) and then printed a
"(wearing the towel)" message, so the player could be sure what action was
being performed.
--
Alex Watson
http://www.watson1999-69.freeserve.co.uk/froup/
Replies to me[AT]watson1999-69.freeserve.co.uk
"The future will be better tomorrow." - Quayle.
In Inform, add a library messages object (or maybe you have to replace
something in the parser to do this, I'm not sure) saying something like
"Why not just try ~", (address) verb_word, " ", (name) lm_o, "?"; rather
than "I only understood you as far as wanting to etc."
--
Alex Watson
http://www.watson1999-69.freeserve.co.uk/froup/
Replies to me[AT]watson1999-69.freeserve.co.uk
"With the promise of 'milk and honey', no wonder so many vegans are
atheists, too." - till [afda]
According to this: http://www.microsoft.com/Office/clippy/default.asp
Microsoft's Clippy is looking for work.
Obligatory faux IF transcript follows:
=-=-=-
>maime greu with MY BARE HANDs nad eat it's entrail's!!!!11
It looks like you're trying to kill a grue. Would you like help?
=-=-=-
(Sorry. I deserve any "it looks like you're trying to be funny, would
you like help etc." post that follows.)
Robb
=-=-=-=-=-
Robb Sherwin, Fort Collins CO
Knight Orc Home Page: www.joltcountry.com
Reviews From Trotting Krips: ifiction.tsx.org
To avoid this problem, you must catch all use-actions that go to
objects that have no obvious purpose.
After all, I think implementing a "use" verb CAN be a good idea, but
it requires carefull coding and can result in unwanted spoilers.
That shouldn't be a problem as long as you only let
it perform obvious actions. Anything else should result
in "You'll have to be more specific about how you want
to use that" OWTTE.
--
Greg Ewing, Computer Science Dept, University of Canterbury,
Christchurch, New Zealand
To get my email address, please visit my web page:
http://www.cosc.canterbury.ac.nz/~greg
*SPOILER SPACE*
There is some evidence that the Lean and Hungry Gentleman from
Zork I found some sort of work at Microsoft after Infocom was
dissolved. A paperclip *is* rather lean and hungry looking. And
he wouldn't have had to give up his pastime of being annoying.
--
Neil Cerutti <cer...@together.net>
*** The museum bought your antique personal computer for $150. ***
That's probably because people new to IF won't know you can "WAIT" to let time
pass. They assume you must do some kind of game action.
-----
Al Staffieri Jr.
http://members.aol.com/AlStaff/index.html
Mac Game Creator Toolkit CD-ROM
http://www.macgamecreator.com
(Remove NOSPAM from my E-mail address when replying by mail)
-----
At the moment I use, for example, with go:
extend "go" * topic -> gohelp;
gohelp [; "You can only move in compass directions. Try ~go north~ or ~go
south~.^
Oh, and you can also use ~go up~, ~go down~, ~go in~ or ~go out~.";
];
(I'm not sure whether the syntax is perfect in this post, but it works in
the game
so don't point it out please.)
Admittedly this doesn't change depending on what the player typed. But this
is probably enough to stop them becoming despondent when the player types
"walk to the glass cabinet".
>I'm sure there have been postings of this sort before, and I do know that
>there is a "use.h" library for Inform, but <snip>
Yes, slightly over a year ago, this thread:
http://groups.google.com/groups?hl=en&lr=&safe=off&ic=1&th=e471cda4aa46a8f7,50&seekm=86ss9c%242usc%40edrn.newsguy.com#p