Planet Of Muton

By Duckworth

Originally published in EUG #58

Introduction

This adventure game was not originally written for the Electron but has been fully converted for Mode 6. The game is fully text based and gives detailed descriptions of the caverns, caves, tunnels and halls that lie under the surface of the planet Muton. In case you're wondering why you should be under the surface of the planet I shall explain.

Background

You are in your last year of Space Training College taking your second level test. This is a computer simulation of what it would be like to be alone after your space ship crashed on one of the most dangerous planets known. The planet Muton is dangerous because of its radiation level; after a few hours you start to mutate into something like the other things that walk the caves of the planet. The test starts after you have made your first mistake; you have climbed into a pit and you are now below the surface of the planet.

All you have to do now is survive until you find a space ship. The only help you were given was that you would need the dark rod of Muton to escape the planet. Another problem you must contend with is that the planet Muton was once the size of the Earth but has shrunk under the effects of its own radiation to the size of a small asteroid. This means that you can walk around the planet in a very short time and this can be very confusing. Also the planet is constantly changing so each time you start this computer test, the planet will have changed. Note: as this is a second level test you are not expected to escape first time.

The test computer understands 16 verbs. These are: GO, GET, TAKE, DROP, THROW, SHOOT, DROP, WAVE, LIGHT, HELP, OPEN, PUSH, QUIT, RUB, INVENTORY and LOOK. When you refer to objects you do not need to give the computer the full description. For example GET TREE would have the same effect as GET LARGE CARNIVOROUS TREE. Also GO NORTH can be abbreviated to N and the same applies to all other directions. Finally, if you fail this test five times you may have to forget about Star Fleet and apply for a job with the Merchant Fleet.

Technical Information

On being run, this program first makes sure the computer is in Mode 6. It then dimensions its arrays. These are:

JO This contains information as to which rooms are joined to which, and the codes for the exit descriptions between the rooms.
OB% Holds the room number of each object or monster etc.
CO$ This contains a list of command words (verbs) like DROP, GET, N, S, etc.
TBUFF% Is the text buffer used in the printing routine PROCP and holds the current line of text being printed.
OB$ This holds the list of object descriptions like LAMP, LASER, STATUE OF A BAT, etc.
DOS$ This contains the exit descriptions. Descriptions of an even number are the open version of the next one in DO$. For example, "a large hole in a steel panel" is the open version of "a steel panel".
WAS$ This contains the key words for the descriptions in DO$. In the above example, the key words would be "STEEL PANEL". The key words are compared with the second part of the command line, to see if the command refers to an exit, eg. PUSH WEB.
DIS$ This holds NORTH, SOUTH, etc.

How It Works

During the pauses in printing the title and introduction, the program initialises the above arrays (initialisation routine 4050-4070). All the text for the arrays comes from the data statements and the required numbers are generated at random, subject to some conditions.

It then enters the main program via the inventory routine (line 3300) so that the objects being held are displayed. This then does the normal exit for verb routines to the look routine (line 520), thus displaying the current position and objects present.

Next the program enters the random events section (670-720). If you survive this, then the subroutine for delayed events (410-480) follows next. For instance, the countdown to explosions or being eaten by something unfriendly. Then comes the input routine (760-1110). The program accepts a line of text and strips off leading spaces. The line is then split into the first word and any remaining words. The first word is compared with the verb list and the rest of the line compared with the object descriptions. The number of items they matched with, is stored in the variables OB% and CO (single variables with the same name as the arrays they point into). No match found is indicated by the value -1. CO is used at line 1100 to branch to the right verb routine. When they are finished they re-enter by 520.