Newsgroups: rec.arts.int-fiction,rec.games.roguelike.development
Path: news.duke.edu!newsgate.duke.edu!nntp-out.monmouth.com!newspeer.monmouth.com!newsfeed.icl.net!newsfeed.cwix.com!news.umass.edu!world!buzzard
From: buzzard@world.std.com (Sean T Barrett)
Subject: Re: IF devtool wanted for Roguelike game
Message-ID: <G6BBo7.230@world.std.com>
Date: Fri, 29 Dec 2000 04:40:55 GMT
References: <3a4b90a9$1@rpc1284.daytonoh.ncr.com> <G6AzF5.Jss@world.std.com> <wkd7ecxavp.fsf@thecia.net>
Organization: The World Public Access UNIX, Brookline, MA
Lines: 38
Xref: news.duke.edu rec.arts.int-fiction:81733 rec.games.roguelike.development:5968

Dan Schmidt  <dfan@thecia.net> wrote:
>I don't remember at this point whether the servant strike bug was due
>to bad logic (i.e., a problem that could have been detected through
>some independent 'plot sketching' tool) or just to a bug in the
>implementation (in which case we really would have needed something
>that automatically took our conversation code and some knowledge about
>the rest of the game and could detect problems with it, which is
>nigh-impossible).

I was led to understand that the servant strike bug was
actually a bug within a single conversation; UW conversations
generally allowed you to repeat them so you could come back
and get information you'd forgotten, or even come back and
try different avenues. Oftentimes you could do this without
leaving a conversation--just cycle back to the main list of
topics and run through them again.

My recollection was that there was a problem with talking to
Lord British, getting a particular speech from him, then cycling
back around and getting the same speech again (or maybe it
was an alternative choice from the same menu)?

This puts me in a mind to think about dataflow technology for
compilers, which can determine properties of loops like
constants in the loops, variables which are guaranteed to
be set in the loop, detect induction variables, etc.  I can
imagine a tool which you feed it some assertions, and it
validates that there is no path through the graph (including
loops) that violates the assertions (or perhaps reports if
it isn't smart enough to determine it).  While this wouldn't
have solved the whole problem--and would require people to
write good assertions, and I don't know enough about this
scenario to know whether it was something one might catch
with an assertion--it seems an interesting level to tackle
(although most likely not for the roguelike-with-plot that
began this discussion).

SeanB
