Prologue: This thing may well bore you to pieces. If so, just skim it. Most
         of what's here was for my own benefit during development.

The House of The Stalker
By Jason Clayton White

Back in the mid-80s when text adventures, now called Interactive Fiction by
its cult following, were the most popular kind of game out there, that would
have placed me(the programmer/writer) at about eight years old. I had Zork
and Wizard and the Princess, but I was young then, and I was looking for the
coolest graphics and sound my little 'puter(a C-64 then) could concoct. I
didn't really like text-adventures. I didn't pay much attention to those games.
I thought they were all roaming through dungeons, looking for treasure, killing
an occasional imp/gnome/troll/etc type nasty, and so on. Boring. So I was busy
playing arcade video games.

A few years later, I would have been about fourteen. I had an Amiga, but I
couldn't bring myself to sell my 128 and it's software(I still haven't to this
day. It will die in my posession.). I had by then gotten very heavy into
writing stories. Still, though, text adventures didn't appeal to me. Playing
them, or writing them. After all, in it's time, the Amiga had the best graphics
and sound available on a PC.

One day, though, I walked into a computer store to explore. I don't know where
they got them from or why, but they had an entire shelf full of old Infocom
games. Hundreds of copies of about ten different games. All in their original
shrinkwrap, and the versions WITH the little goodies included. If I had known
then what I know now, I would have raided that gold-mine. But not really into
them at the time, I bought Ballyhoo, and the Science-Fiction Classics pack,
which consisted of Hitchhikers, Planetfall, and A Mind Forever Voyaging. The
only real reason, honestly, that I decided to get the package was the fact
that AMFV used the native 128 mode. That would be the ONLY commercial game I
had that used 128 native. And the price? Get this. $3.99 for ALL three. I
had already played part of Hitchhikers, so no surprises there. Planetfall
didn't turn me on that much, but then I booted up AMFV. As I was waiting
for it to load(Remember loading Infocom games on the 64? Picture it taking
twice as long since it has 128K to fill. Scary.), I found myself reading the
introductory text. When I had finished reading, the game had started. I turned
out the lights, and sat down at the computer with my companion of munchies for
what I knew already was going to be an all night game-run after what I had read
in that text.

After that, I went around looking for text-adventures all-over, and found I
couldn't find any. All the rest of the games at the computer store I got the
first few from were for the Apple II, 8-bit Atari and so on. Again, if I had
known then what I know now I STILL would have raided the place, incompatible
or not. I should have expected it. Text adventures were dead. I knew it. But
at the time of the genre's death I was far from mourning it.

When I was maybe sixteen was when games started going COMPLETELY to hell. This
was maybe 1993, when CD-ROMs were getting cheap and readily-available. And we
all know what that did. Great graphics, breathtaking animation, booming sound,
and completely mindless games. Even Sierra, who I will confess to even having
LIKED, has since gone awry. Ever play Phantasmagoria? Don't bother. Go rent a
video. It's pretty much as interactive.

Even Shareware games were measured in how good they looked, nobody seeming to
care how they played. In my hunt for the good games, I went to the Internet.
And I found, gasp, a text adventure. A text adventure dated, gasp, '92. Wow.
You mean to tell me there are actually people still interested in those
text-adventures? Well, anyway, I got it, played it(wasn't too overwhelmed with
it's workmanship), and found it was made with a shareware program called AGT.
Being a programmer and a writer myself, I right away got this programming
system, and thought it was kind of neat. I couldn't make Infocom games, but,
hey, Infocom probably used this awesome development environment that I'd NEVER
be able to get ahold of.

The game I had downloaded pissed me off. I don't remember the name, but it was
a dungeon/treasure game. How original. Sheesh. But I started learning AGT. And
to teach myself, I started to program this game called The House of the Stalker.
Conceived purely as a simple game idea to help me learn AGT, I got the idea for
the first puzzle(exiting the attic), and found that the solution I wanted(The
same solution that I have in this version) wouldn't work right with everything
I did. I could keep opening the door over and over again, and never did figure
out how to fix that.

So I put it away and gave up for about two years, until 1995, making me my
present eighteen. Out of boredom, I went to go see if I could find a newer
version of AGT, as mine was dated from about 1988. Evil. Yeah, I found one.
Master's edition. But, alas, all it did was add a valiant attempt at object-
orientation, and, sigh, multimedia capabilities. Christ, that's what I was
trying to AVOID with these text adventures in the first place. He who can't
draw can't make arcade game. But on my AGT search, I found a web page. A web
page by Graham Nelson. Need I say more? Anyhow, with the new Inform I had
found, I set off to write The House of the Stalker again, written for the same
reason as before - to learn that language. This time, the attic door puzzle was
a snap. It took about five minutes. I knew I had found something. Something I
could use.

And now all my CD-ROM seems to do is play music CDs.

My rules for greek naming
-------------------------
Pre-Alpha:
A test version released before the game was even playable to the end. It is
to make a few immediate needed bug-fixes. There are few of these versions, and
they get little(!) circulation.
Alpha:
Not much more circulation, but the game is playable to the end.
Beta:
At this point, I make a public request for beta-testers to everyone on the
Net BBS(A local WI system), as the game is, at this point, ready for it. (I
hope)
Gamma:
It is publically posted as a file attach to the Net BBS - they don't even need
to ask me for it anymore. And, more importantly, it is posted to the Internet
at this point, as I have a mailing address for replies to be sent to.
Release: (A new greek letter of some sort, of course)
The 'done' version of the game. As good programmers know, a program is never
done. And as good writers know, a story is never truly done either. So a poor
interactive fiction game is never going to even get close. This is a now a
game, though, that could be presented as a final version. But, alas, bug
reports aren't going to stop for awhile, if ever, so the releases get numbered
and as the fixes increase, a new release with fixes is sent to the usual
distro. sites(usually The Net BBS and the Internet, not to be confused with
each other. (are we confused yet?))
Final:
As I said, no game is ever done, but this will be the last version released.
It doesn't mean I think it's done. It means I'm not going to screw around with
it anymore. So I retract all requests for bug-tests. I only do this if people
seem to lose interest, and no more bug reports get sent, or the bugs that are
reported are so obscure they aren't worth fixing, or, more probably, I have
another project to work on. Or...maybe...more than one project to work on. But
I don't do that. Really...I...don't...

README for Pre-Alpha 0.1 and Pre-Alpha 0.2
Hi. This is the Pre-Alpha version of The House of the Stalker. For those
of you who tested the other version, you may notice that there is no more
in the game than the old version. There is, in fact, less. The reason for
this one is that I switched programming languages. I'm using INFORM now,
and it is SO many worlds better than AGT.

**************

README for Pre-Alpha 0.3
Wow, this game is progressing FAST. There are now 24 complete steps needed
to reach the current end, there are two working daemons(timers).

-

Here are the stats the compiler gave me, just for your information:

Input 6307 lines (17066 statements, 215422 chars) from 4 files
Version 5 (Advanced) story file
 39 objects (maximum 511)      373 dictionary entries (maximum 1300)
 28 attributes (maximum 48)     28 properties (maximum 62)
 23 adjectives (maximum 240)   104 verbs (maximum 140)
122 actions (maximum 150)        0 abbreviations (maximum 64)
135 globals (maximum 240)     1537 variable space (maximum 4000)
3334 symbols (maximum 6400)     275 routines (maximum 500)
  0 classes (maximum 32)         8 fake actions (unlimited)
22577 characters of text (compressed to 17484 bytes, rate 0.774)
Output story file is  50K long (maximum 256K)
Essential size 50812 bytes: 211332 remaining
Completed in 10 seconds.

Now, I didn't make ALL of those entities - some of them were included with
the compiler's library, but it's still growing to be a pretty large game
considering the short amount of time spent on it.

**************

README for Alpha 0.4
It's not a Pre-Alpha anymore, because the game can now actually be played
to completion. I'm sure there are a plethora of bugs - especially on the
last scene, but that's what the play-testers are for. :)

-

Here are the stats for this release:

Input 6735 lines (17831 statements, 229171 chars) from 4 files
Version 5 (Advanced) story file
 56 objects (maximum 511)      416 dictionary entries (maximum 1300)
 28 attributes (maximum 48)     28 properties (maximum 62)
 23 adjectives (maximum 240)   110 verbs (maximum 140) built in)
127 actions (maximum 150)        0 abbreviations (maximum 64)
137 globals (maximum 240)     1537 variable space (maximum 4000)
3460 symbols (maximum 6400)     303 routines (maximum 500)
  0 classes (maximum 32)         8 fake actions (unlimited)
29890 characters of text (compressed to 22878 bytes, rate 0.765)
Output story file is  57K long (maximum 256K)
Essential size 58084 bytes: 204060 remaining

-

Enjoy, and send me feedback.

**************

README for Alpha 0.45
This is just a menial little bug-fix, and it is barely worth mentioning.

-

EXCEPT: I have a new distribution method now.

This format, called the ZIP format, is machine independent. So the .Z5 file
can be run on any computer, as long as there is a ZIP interpreter made for
that computer. (And if not, you can always get ambitious enough to d/l the
source and port it yourself). Well, the archive .ZIP(Geez, ZIP the language
and .ZIP the compression format are 100% different things. Ack.) contained
this README, the .Z5 file, and the IBM-PC JZIP interpreter, because I THOUGHT
the majority of my play testers would be using PCs. Well, that was foolish.
The first request was for a Macintosh interpreter. It exists. I got it. I sent
it to him. But all I did was send the .ZIP file that I sent to everyone else,
and a .CPT file for the Mac interpreter as an addendum. Then I got a request
for Amiga. Did the same thing. When I got a request for a Linux kernel, I
decided to change how I worked this:

1) The .Z5 file and this README are by themselves, in .LHA(for maximum
  portability).
2) The .LHA by itself does nothing, so when a person requests to be a tester,
  they have to tell what platform they are using.
3) The interpreter for whatever computer they specify(so long as it exists,
  and it probably does. I mean, hell, there's an interpreter for the Acorn
  Archimedes.) is sent separately.

(This only applies to local area testers, who probably have no idea what
Inform even is.)

-

No statistics this time, because they're identical.

**************

README for Beta 0.5
Welcome to the local test version of the game. This is being publicly
posted to the Net BBS for testing.

Thanks to Eric and Andy, this is the biggest bug-fix yet. I need more people
to do this, though.

-

Input 8023 lines (21599 statements, 270343 chars) from 4 files
Version 5 (Advanced) story file
 61 objects (maximum 511)      438 dictionary entries (maximum 1300)
 27 attributes (maximum 48)     28 properties (maximum 62)
 23 adjectives (maximum 240)   101 verbs (maximum 140)
112 actions (maximum 150)        0 abbreviations (maximum 64)
163 globals (maximum 240)     3915 variable space (maximum 4000)
4071 symbols (maximum 6400)     340 routines (maximum 500)
  0 classes (maximum 32)         9 fake actions (unlimited)
38130 characters of text (compressed to 29610 bytes, rate 0.776)
Output story file is  71.5K long (maximum 256K)
Essential size 73024 bytes: 189120 remaining
Completed in 14 seconds.

-

Also, I installed the new version of the include library(5/12), which was
just released today. (Although it doesn't seem to affect this game at all,
besides adding a K.)

-

The manual for Inform has been re-written, too, and in perusing it, I found
some really nifty things that the old manual didn't tell me. Most of the changes
are invisible to you, but they made the source smaller, and made me much
happier.

-

The most visible change is I found out how to print quotes. So a
direct quote that once was:

'I'm going to kill you and make a meal out of your entrails!'

now says

"I'm going to kill you and make a meal out of you entrails!"

Much nicer.

-

I also re-wrote the intro text. It's actually has a style now. Whoa.

-

I also have to thank Andy and Eric. If it weren't for them, this update,
while it probably would have happened, would not have been as enhanced as
it is now.

-

Added a help system. Type HELP or HINT(Among other things) to bring up a help
system, kind of like Infocom's Infoclues. One catch, though. Every entry into
the help system costs you a point. Moohaha.

-

Added the computer, which will play two freeware games(I didn't write them),
Tetris and Robots. How's THAT for making a game uselessly bigger? <g>

-

File grew by around 14K.

**************

README for Beta 0.6
Well, the game didn't make it to wide gamma by Halloween as I would have
liked, but I want a less buggy game. And there are still bugs this far into
testing as Jenni found out for me in 0.5.

-

Mostly a bug fix. I actually breached a limit on the game. Thanks to the added
little games on the COMPUTER, the MAX_STATIC_DATA(The variable that holds the
game's tokenized text) has to be increased when I debug it(and only then).

-

This may well be the last beta version. It may soon go onto the Internet as a
gamma version.

-

I added scenery objects. You can now examine the banister, the closet, and a
frightening number of other things.

-

Whee. I'm glad I didn't try to distribute this version, because, um, I made
a boo-boo. Suffice it to say that the stalker was put in the wrong room, and
therefore could not be killed. But. Nobody saw it. Nobody noticed except me.
So I didn't do it. It never happened. Nope. I don't even know what I'm typing
about here.

-

Edited the ending text. Nothing special - I just cut the 'thank you for playing'
jingle so there's no need to play the entire game all over again just to read
the end. So relax, all you out there who are completely obsessed with this game,
which I know you all are. (Uh...)

-

Added a Compass Rose, programmed by Joachim Baumann (21 November 1994). Thanks,
man.

-

Added a ROSE ON and ROSE OFF command in case you don't like the rose. (It does
slow the game down somewhat)

**************

README for Gamma 0.7
This is basically a version to playtest in preparation for the 1996 IF
competition.

-

A few appearance changes were made, nothing special.

-

I'm not including any more compiler statistics, because:
1) I expect nobody cares.
2) The changes are getting very small between versions now, as its near done.

**************

README for Gamma 0.8
Looking back on it, I must have forgotten to write this for 0.8. Oh, well.

**************

README for Gamma 0.85
Inform 6! Yay! So, all this is, then, is a compilation under Inform 6.3, to
see how many things break anew.

**************

README for Gamma 0.9
We're almost there, folks. This is nearing what is going to be entered into
the IF contest! Yeehaw!

Cool things to do:
KILL the CAT
KICK the CAT (Thank Jenni for that one)
USE (or TURN ON) the TV
USE (or TURN ON) the Computer
LISTEN (or HEAR) in any(and every) room
Swear at the game, it's cool. (I didn't code that, it's built in)
Read the HINTs after you win. THe help screen has the same attitude the parser
does.
Try to examine as many scenery objects as you can. Some of the best prose
in the game is locked away in the scenery objects.

If you find other cool things, let me know. Some of them are quite
hidden. >:)

And, for those of you on the Internet who know all about Inform, maybe even
more than I do myself(it's not hard, really), this README file is probably the
equivalent to an Elementary School textbook. But most of the testers are from a
local area BBS, and most of them have never even heard of Inform. But, these
people are as valuable as the veteran players, as they will be more apt to
complain about confusing, convoluted design, where a veteran player might just
work around it, as they know their way around the system, or maybe even the
library itself.

DO note that this game was purposefully designed to be genderless. It's simply
done - it just doesn't refer to gender at all. The game was simple enough so
that it worked out fine. Notice the ex-lover's name, Jamie, could be either a
guy or a girl, and so forth.

**************

Here are the stats put all close to each other for easier reading:

0.3
---
Input 6307 lines (17066 statements, 215422 chars) from 4 files
Version 5 (Advanced) story file
 39 objects (maximum 511)      373 dictionary entries (maximum 1300)
 28 attributes (maximum 48)     28 properties (maximum 62)
 23 adjectives (maximum 240)   104 verbs (maximum 140)
122 actions (maximum 150)        0 abbreviations (maximum 64)
135 globals (maximum 240)     1537 variable space (maximum 4000)
3334 symbols (maximum 6400)     275 routines (maximum 500)
  0 classes (maximum 32)         8 fake actions (unlimited)
22577 characters of text (compressed to 17484 bytes, rate 0.774)
Output story file is  50K long (maximum 256K)
Essential size 50812 bytes: 211332 remaining
Completed in 10 seconds.

0.4
---
Input 6735 lines (17831 statements, 229171 chars) from 4 files
Version 5 (Advanced) story file
 56 objects (maximum 511)      416 dictionary entries (maximum 1300)
 28 attributes (maximum 48)     28 properties (maximum 62)
 23 adjectives (maximum 240)   110 verbs (maximum 140) built in)
127 actions (maximum 150)        0 abbreviations (maximum 64)
137 globals (maximum 240)     1537 variable space (maximum 4000)
3460 symbols (maximum 6400)     303 routines (maximum 500)
  0 classes (maximum 32)         8 fake actions (unlimited)
29890 characters of text (compressed to 22878 bytes, rate 0.765)
Output story file is  57K long (maximum 256K)
Essential size 58084 bytes: 204060 remaining

0.5
---
Input 8023 lines (21599 statements, 270343 chars) from 4 files
Version 5 (Advanced) story file
 61 objects (maximum 511)      438 dictionary entries (maximum 1300)
 27 attributes (maximum 48)     28 properties (maximum 62)
 23 adjectives (maximum 240)   101 verbs (maximum 140)
112 actions (maximum 150)        0 abbreviations (maximum 64)
163 globals (maximum 240)     3915 variable space (maximum 4000)
4071 symbols (maximum 6400)     340 routines (maximum 500)
  0 classes (maximum 32)         9 fake actions (unlimited)
38130 characters of text (compressed to 29610 bytes, rate 0.776)
Output story file is  71.5K long (maximum 256K)
Essential size 73024 bytes: 189120 remaining
Completed in 14 seconds.

**************

Official List of Beta Testers
-----------------------------
Eric Kjellmann
Andy Reichert
Greg Buxton
Jenni Ruck
Diane White
Tyler Smith
Damon Sanchez
Kevin Johnsrud
Tony DiMaggio
Kati Western
Grey

(These are the people who played the game and actually reported back bugs.
Others have played it, but never gave any feedback, so they're not in the
list. Nyah.)

The Award for the finder of the worst bug
-----------------------------------------
If you have a pre-0.6 version around, try this:
GET the RADIO the normal way, go to a different room, PUT the RADIO DOWN,
then LOOK at the effect.

The finder of this bug? Jenni.

Known Bugs
----------
My testers told me that you should be able to unscrew the hinges from the
attic door to get out. Well, they're right - you should. But I am just so
sick of looking at this damned code, and I want to get started on Hybrid
Child. So, at least for now, just keep in mind that you CAN'T do that.

Another beta-tester, when I told him the above, actually nixed it. He kind
of jokingly suggested that maybe the hinges are on the other side of the door.
I laughed back, but then realized: Hey, they WOULD be. If the door opened
downward, which it clearly does, then the hinges would have to be on the side
of the door that the player can't get at until the door has been opened anyway.
So there. :)

(Does that mean my game is bugless now? Snicker snicker.)

Jason Clayton White
[email protected]