Newsgroups: rec.arts.int-fiction
Path: news.duke.edu!newsgate.duke.edu!solaris.cc.vt.edu!news.vt.edu!netnews.com!xfer02.netnews.com!newsfeed1.cidera.com!Cidera!portc01.blue.aol.com!uunet!dca.uu.net!ash.uu.net!world!not-for-mail
From: buzzard@TheWorld.com (Sean T Barrett)
Subject: Re: [inform] printrank
Sender: news@world.std.com (Mr Usenet Himself)
Message-ID: <GpDqnt.Dw5@world.std.com>
Date: Thu, 3 Jan 2002 20:38:16 GMT
References: <3c30f4e1$0$79553$3c090ad1@news.plethora.net> <a0tf3s$2j9$1@foobar.cs.jhu.edu> <a0vuvc$26r$1@ddawson.ddawson> <a115tk$df0$3@foobar.cs.jhu.edu>
NNTP-Posting-Host: shell01.theworld.com
Organization: The World Public Access UNIX, Brookline, MA
X-Newsreader: trn 4.0-test72 (19 April 1999)
Lines: 51
Xref: news.duke.edu rec.arts.int-fiction:96804

L. Ross Raszewski <lraszewski@loyola.edu> wrote:
><ddawson@nospam-altavista.net> wrote:
>>Core
>>Grammar
>>World
>
>This is fairly consistent with what I do; looking at the main source
>file for Moments, I find:
>Switches and ZCharacter directives
>Abbreviations, constants and constant strings, global declarations (3 files)
>Parser, verblib, and Library extensions (quite a few files, bundled
> into a single file for Inclusion)
>Entrypoint and "miscelaneous code" (1 file)
>Grammar, and library modules which have entry points (1 file)
>Class declarations (1 file)
>Timed event declarations (1 file)
>The model world (14 files)
>Initialization code (1 file)
>Verb declarations (1 file)
[lightly trimmed]

I find it depends on the game. Heroes is divided roughly
like this:

The main file:
   include libraries
   initialization
   general player class
   metagame handling (switching characters)
   include the five character files

Each of the five character files defines the PC, defines generic
classes for this "sub-game" (e.g. orderable NPCs, pockets and
pocketable objects, smash/burn-able objects), the definitions
of the rooms and objects for this sub-game, and then any custom
grammar&verbs intended for this character (with error messages
for other characters).

I believe strongly in defining things "near" where they're used.
It's possible that, say, defining all five implementations of
"temple square" near each other might have led to more effort on
my part to keep the writing for the characters different, or
making sure the exits were consistently described in each, but
in practice it made more sense to track each of them as if they
were their own little game.

Of course, this is a particular uniqueness to Heroes that wouldn't
even be shared by, say, Suspended, but I think you shouldn't
ever expect to find the one true organization.

SeanB
