The Wedding, release 2 source code - notes
- - - - - - - - - - - - - - - - - - - - - -

The source code within this package is for the last version (v2.19) of
release 2 of the game. It has been written for use with Inform 6.05, and
library 6/2. There is a more up-to-date version of The Wedding available in
game file format only - release 3, which is a small expansion.

A note about version numbers: I employed these because I wasn't happy with
the release number / serial number system. V2.19 (961124) was the last
version of release two issued to the if-archive - but the source code
enclosed here, also labeled v2.19, is actually slightly different, several
bugs having been removed. Needless to say, this version number system will
not be employed in any future games of mine, as it is just too confusing.

The files in this archive are as follows:-

HISTORY  - A history of changes made to the game from the very first release
           1 to the final release 2.

NOTES    - This file.

PART1 }
PART2 }  - Solution files - see note below.
PART3 }

WEDDING2 - The source code. No attempt has been made to make it readable
           to people other than myself; however, it shouldn't be too
           difficult to follow. It may at times seem a little odd,
           inefficient or inconsistent - this is because a lot of the game
           was written when I was still learning the Inform language and
           didn't know of the more advanced features.


Solution files
- - - - - - - -

These are in a format suitable for input into the Acorn application !Tester
by Graham Nelson (available on the if-archive), and are therefore not very
descriptive.

They are split into three because two commands are not pre-defined. At the
end of Part1, the player is expected to give Chloe an answer, which can be
looked up in the Battlebase episode guide. At the end of Part2, the number
given on the television advertisement must be dialled.

There appear to be problems running these files through !Tester while using
the !Zip2000 interpreter - in 'run' mode, everything goes so fast that some
of the commands appear to be left out. (Particularly while waiting for the
guard to go back outside.) 'Step' mode is recommended in this case.


Compiling The Wedding
- - - - - - - - - - -

There should be no problems compiling the single source code file if you are
using compiler version 6.05, and library 6/2 (the most recent version of
Inform available for Acorn machines at the time of writing). Compilation on
my A3000 produces the following statistics:

RISC OS Inform 6.05 (September 24th 1996)
In:  7 source code files              9610 syntactic lines
 10659 textual lines                401944 characters
Allocated:
  1026 symbols (maximum 6400)       503749 bytes of memory
Out:   Version 5 (Advanced) story file 121.5K long containing:
     4 classes (maximum 64)            110 objects (maximum 511)
   126 global vars (maximum 233)      1682 variable/array space (maximum 4000)
   105 verbs (maximum 140)             670 dictionary entries (maximum 1300)
    26 prepositions (maximum 240)      120 actions (maximum 150)
     9 fake actions (unlimited)         32 attributes (maximum 48)
    30 common props (maximum 62)         9 individual props (unlimited)
109951 characters used in text       77584 bytes compressed (rate 0.705)
     4 abbreviations (maximum 64)      432 routines (unlimited)
  8843 instructions of Z-code         2750 labels
124000 bytes used in Z-machine      138144 bytes free in Z-machine
How frequently abbreviations were used, and roughly
how many bytes they saved:  ('_' denotes spaces)
      you_   363/  482         the_  1106/ 1473        that_   165/  328   
      and_   435/  578   
Completed in 38 seconds

(After this compilation, I had to remove a couple of bugs, so it will be
slightly different now.)

No special options are needed, so the command should be something like:

(command line prompt) INFORM6 WEDDING2 WEDDING
                      (where WEDDING2 is the source code and WEDDING is the
                       name of the game file to be created.)


Problems with interpreters
- - - - - - - - - - - - - -

This game has been tested successfully on Edouard Poor's !Zip port, !Zip2000
by Kevin Bracey and DOS-based JZip by John Holder. Two other interpreters I
have tried (which shall remain nameless, but one is for Risc OS, the other
is for Windows 3.11) display text incorrectly. This is the fault of the
interpreters, not the game itself.


Copyright and ownership of code
- - - - - - - - - - - - - - - -

The Wedding is copyright (c) Neil James Brown - by providing the source code
I am in no way disowning my copyright. This has been provided for interest
and learning purposes. Fiddle around with the code if you wish, compile the
results and learn about Inform coding that way. DO NOT, however, attempt to
distribute any game file which contain chunks which are recognisably part of
The Wedding. (By this I mean the game text or puzzles that have obviously
been lifted straight from my code into your own.)  Inform code (algorithms,
methods), as opposed to text and game design, is not copyright - if you find
any slice of code useful, you're welcome to use it.

If you are unsure of these conditions, contact me at the address below and
I'll do my very best to confuse you even more.


-- Neil James Brown, 19 January 1997

   email: neil@highmount.demon.co.uk