Newsgroups: rec.arts.int-fiction
Path: gmd.de!xlink.net!sol.ctr.columbia.edu!spool.mu.edu!agate!library.ucla.edu!europa.eng.gtefsd.com!uunet!pipex!sunic!kth.se!lysator.liu.se!isy!liuida!d91frera
From: d91frera@odalix.ida.liu.se (FrEdRiK rAmSbErG (wiilllDDDDCCCCaaarrd))
Subject: Re: Debugging Strategies (was Re: The Wizard of Wishbringer
Message-ID: <1993Oct20.191123.19360@ida.liu.se>
Sender: news@ida.liu.se
Organization: CIS Dept, Univ of Linkoping, Sweden
References: <)> <29pbmvINNfkq@life.ai.mit.edu> <29qe27$1ss@Notwerk.mcs.com>) <29s2d9INNmak@life.ai.mit.edu>
Date: Wed, 20 Oct 1993 19:11:23 GMT
Lines: 75

dmb@min.ai.mit.edu (David Baggett) writes:

>In article <29qe27$1ss@Notwerk.mcs.com> jorn@Notwerk.mcs.com (Jorn Barger) writes:
>>>It might be useful, however, for authors to make a pass through their games
>>>once they're done, looking at important decorations and items while
>>>simultaneously eyeballing a verb list.  Many of the more obvious
>>>interactions might pop right out.  Then again, maybe not.  :)
>>
>>A verb list, and also a list of carryable items, right?

>I actually meant that you'd be looking through the *entire* code (which
>includes carryable items) while looking at the list of verbs.  Carryable
>items are necessary but not sufficient here -- you need to look at fixed
>items as well.  The outhouse in UU2, for example, is not a carryable item
>-- it's a decoration.  But to catch the bug I mentioned before I'd have had
>to have looked at the outhouse code while looking through the verb list.

>Here's the scenario of how it would work:

>1. I look through all the UU2 code, object by object.
>   2. I look at the outhouse
>   3. I look at the verb list
>      4. I notice "burn"
>      5. I think "burn + outhouse" ... Hmmmm.
>      6. I add code to handle this case.

>Again, I have no idea whether this is actually workable in practice.  You
>could very well end up sitting there slaving away tediously to no avail
>whatsoever.  We should look at attempts to mechanize creativity with a
>great deal of suspicion, after all...

Great suspicion indeed!
I've written a few IF games, and I have found a way of debugging and
finding out what code to write that suits me. It goes something like this:

1. Write the code parts that players are SUPPOSED to go through, and those
   that you can think of right away that players are likely to try.
2. Write code that stops the player from doing anything else. A 'default
   declaration' that says "You can't do that" or something like that
   at the end of every verb-function will do that for you.
3. See to it that the game can be played from start to end.
4. Send it to your testers, force non-computergeeks to try it, and play it
   yourself, trying to think as little as possible of the game design and the
   fact that you are actually the author. In this way, you will find a lot of
   things that people try to do.
5. Try to implement AT LEAST sensible (or funny) answers to those things that
   come up, and at the best you should let some wacky things happen. (Good
   example: Use the 'open' spell (can't remember its name now) on the turtle in
   Enchanter!)

As you are going through stage 5, you are likely to think of more things that
could have a better answer to them. Implement that as well!
 
>Dave Baggett
>__
>dmb@ai.mit.edu            Boot up, log in, drop out.             MIT AI Lab                                                                                  
>ADVENTIONS: We make Kuul text adventures!  Ask about Unnkulian 1, 2, 0, 1/2
>  PO Box 851 Columbia, MD 21044 USA / CIS: 76440,2671 / GEnie: ADVENTIONS



            / Fredrik

  --------------------------------------------
 ! Fredrik Ramsberg, LiTH, Linkoping, Sweden. !
 !--------------------------------------------!
 !    Confidence is the feeling you have      !
 !    before you understand the situation.    !
  --------------------------------------------

Now available: Two MS-DOS V5+ BAT-file shareware adventures;
The Hobbit - The True Story
The Terror of Mecha Godzilla - The True Story
Just drop me a note if you want them!

