THE DISCOVERY INCIDENT By David Woolley You awake suddenly, and find yourself with slight amnesia. The only thing you can remember is that you are captain of the starship Discovery, which should be on a direct course from the star system Nu Draconis to Earth. But what has happened while you were unconcious? Why has the crew mysteriously disappeared? And does the strange, alien cannister in the launch bay have anything to do with it? XXX Your job is to find out what went wrong aboard the Discovery, and, if possible, correct the situation. You use one- and two-word commands, with the basic sentence structure of a verb and a noun. In this adventure, you use the standard commands of GO (followed by a direction), GET (followed by an object), and INVENTORY (which displays a list of your current objects) and others. XXX You'll find The Discovery Incident on disk as ADVENT.BAS. You can run this game directly from the disk, but it you want to SAVE your games you MUST copy this program to another disk containing the DOS.SYS file. When you first RUN the game the menu will appear, with options 0-4: 0- PLAY GAME 1- LOAD GAME 2- SAVE GAME 3- SWAP SETS 4- LEAVE XXX Option 0 starts the game where you left it. To return to the menu during the game, simply type MENU. Option 1 loads a saved game, and option 2 saves the game in progress. If you are using a cassette data recorder, add these lines: 9155 OPEN #A2,A8,O,"C:" 9185 OPEN #A2,A4,O,"C:" This will SAVE and LOAD from tape instead of disk. XXX Option 3, swap sets, toggles between the special character set I designed, and the standard Atari character set. Option 4 returns you to BASIC, clearing all variables. XXX Playing the Game Select option 0. The screen turns black, and at the top of the screen is a short description of your present location, including any nearby objects that you could carry. Note: the items listed beside OBJECTS are not the only objects in that location, just the ones that you can pick up. You can still manipulate other objects described in the text. XXX When referring to items you can pick up, always use the name that is listed under OBJECTS, but when referring to items listed in the description, use only one word. So, when you are talking about the alien cannister, use CANNISTER. You can use several commands to move in a certain direction. For instance, to go up a ladder you could type GO UP, UP, U, or CLIMB LADDER. Other commands you will use frequently are GET, DROP and INVENTORY. To repeat your last command, just press [RETURN]. XXX Program Take-Apart All verbs and nouns are assigned a number. This is done in the subroutines from 8030 to 8060. The program finds the number by sorting through either the ACT$ string for verbs, or the OBJ$ string for nouns. The number of the command is its starting position in the string. So, the number for the verb INVENTORY is 13, because ACT$(13,15)="INV". Note that only the first three letters are used. The variables VB and NN are made equal to these 'command numbers'. XXX A set of variables, A0-A9, O, and LI, are established in the first line, and are used in places to refer to numbers. This is to save memory. So, instead of using 0, we use O(see line 3), A0 instead of 10(as in line 9077), and LI to refer to line 52, which is often used. XXX The custom character set was designed to add "character" to the game. Lines 9036 to 9045 contain data for numbers 0-9, and lines 9046 to 9071 contains data for letters A-Z.Line 9072 contains data for the ? character, and lines 9073-9074 contains data for characters ( and ). If you have no experience with custom character sets, try reading the article Ultrafont (Antic August 1986), or take a look at Instedit(AP0117) from The Catalog. XXX Which line the object is on depends upon its position in the OBJ$ string. So, WATCH is at line 11019, because WAT holds the positions 19-21 in OBJ$. The coordinates of each object that can be picked up and moved are contained in the two-dimensional array OBJECTS, which is DIMed to a maximum of (11,3) because there are 11 objects that can be TAKEn, and there 3 coordinates. So, OBJECTS(3,x) would refer to the Manual, because it is the third object in the OBJ$ string. Take a look at this: XXX OBJECTS(3,1)=7 OBJECTS(3,2)=4 OBJECTS(3,3)=3 This means that the Manual's coordinates are (7,4,3).If the player was carring the Manual, then three zeros would be placed into OBJECTS(3,1-3). The starting position of each object is placed into the array at lines 9900 to 9925.
Back to previous page