Click Here To Go To The Your Computer Archive



Written By Simon Phipps


Cover Art
Click Here To Enlarge Loading Screen

Loading Screen
Click Here To Enlarge Opening Screen

Opening Screen
Click Here To Enlarge Screenshot

Game Screenshot

Gridd Worz

Simon Phipps and his BBC Micro take on more than even three Shreaded Wheat can handle

Time once more for your fingers to hit the keyboard as Simon Phipps, author of the recently released Jet Power Jack from Program Power, presents a space megaspec¬tacular from his warped imagination. The game is a Basic and machine code original designed to tax both your brain - have you ever tried debugging assembler code? - and reflexes. Well, here we go...!

In the year 21867 man made a mistake. Not a very great one, not as big as deciding some several million years before to consider crawling out of the sea, but never the less it was for all intents and purposes a mistake. Some may have called it a great advance in the developments of psykinetics; the obscure branch of Vruggian metaphysics discovered by the equally obscure Earth scientist Professor Thruggon Botch, but still most called it a mistake.

The science of Psykinetic Transportation - or PT for short - was carefully studied by Professor Botch for many years and its true potential only realised after many experiments involving the passage of objects such as paper clips and biros into a strange dimension now named by most recognised physicists and loonies as the Meta Zone. The dimension exists in parallel with our own and is in fact responsible for many 0 called everyday occurrences.

Up until Professor Botch's discovery of the Meta Zone and the subsequent proof of its existence, anyone who had put forward ideas about parallel dimensionism was branded as suffering from severe paronoia or just generally laughed at.

The Professor's revelations at the discovery of the Meta Zone all related to a simple fact that everyone knows - when anything as small and important as that last paper clip is needed it always goes missing. He success¬fully broke the dimension barrier by carefully leaving a paper clip lying around and accurately monitored its position until it actually vanished.

By pure coincidence the moment that the paper clip ceased to exist as far as this Universe is concerned was exactly the same moment at which the Professor was looking for the aforementioned paper clip to hold his progress reports together.

Breaching the transdimensional barrier between our world and the Meta Zone in fact caused absolute havoc. Instead of simply enabling the return of all those missing biros and paper clips a gaping hole was produced in the dimension wall which began to suck up vast quantities of matter from our Universe. It was quite a few minutes before some bright spark had an idea that would stop the chaos caused by the dimension warp. Three Shredded Wheat were thrown in the general direction of the hole and immediately the havoc stopped. Of course even though the hole was well and truly plugged a few important things such as two-thirds of our Universe were at the other side of the Zone ... whoops!

Inside the Meta Zone things were not at all hunky dory. What few people had managed to pull most of their molecules back together had decided to get out and so the amazingly trendily titled Zonetracker Squads were formed.

Finding a weakness in the dimension wall known as the Gridd, the squads attacked its structure in an effort to break out. Their task was, as with most video games, not easy - even with the aid of the powerful Zonetracker Gridd Ships, which by pure coincidence just happened to be lying around the place when they arrived.

Strange mutant tar Googjies known a Drones were found to inhabit the Gridd wall and more such nasties appeared as the Zonetracker Squad disrupted sections of the Gridd and hence progressed to the higher energy Gridd levels. The Drones were highly advanced Meta beings whole sole purpose apart from being a general annoyance to everyone was to repair and eliminate any impurities on the Gridd which meant both short circuits and the Zonetracker themselves.

The idea of the game is to pilot your Zonetracker across the Gridd wall destroying the individual Gridd sections. After approx-imately 75 percent of the Gridd has been destroyed the network explodes allowing passage to the next Gridd level.

Can you save the humans at the other side of the Zone from a fate worse than missing the next issue ... ? Start typing now!

Game Controls

Control keys for the Zonetracker are:

Z - Left X - Right, : - Up, / - Down

Program Listings

Type in listing 1 and save it on cassette and then enter listing 2 and saving that under the title of "GWORZ".

The variable and procedure listing for listing 2 - Gridd WorZ.

Integers

A% 30,250;330,520 General doqs-body variable, used in INKEY statements and FNPeek(x%,y%)
AX% 290,300,350,710 Value of the memory address at which the x co-ordinate values of the drones' positions are stored from.
AY% 290,300,350,710 Value of the memory address at which the y co-ordinate values of the drones' positions are stored from.
B% 330 Seems to have slipped into the program by mistake - spot the untidy programmer.
CO% 160,170,200,290,300,470,480 Number of Gridd sections left to be destroyed by the Zonetracker before the Gridd destructs.
CODE% 360,530 Value of the memory address from which the machine code is assembled into.
D% 710,750,780 Doqs-body variable used in PROCRNDCHAR(C) and PROCRND.
E% 710 Simply used in PROCRND to select the value of the x co-ordinate increments on the chosen drone's x co-ordinate value.
H% 120,130,330 The value of the character representing the drones. This is constantly being altered to give the pulsing effect of the drones.
HI% 10,240,250 Value of the high score.
J% 1000,1010 Variable used to generate the explosion of the Zone tracker.
K% 420,430,1000,1010 Variable used in the same way as J to generate the explosion and also as the new value of the y-incrernent on the Zonetracker's co-ordinates depending upon the keys pressed in PROCSnake.
KI% 40,170,210,480 Variable used to check if the Zone¬tracker has collided with anything.
L% 420,440 Variable used to determine the x¬increment of the Zonetracker's x co¬ordinate depending upon the keys pressed in PROCSnake.
LI% 40,210 The number of lives left.
M% 830,840 Used in FNBIN(a$) to determine the value returned by the functions.
P% 530 Program counter - where the machine code is being assembled into.
R% 830 FOR...TO...NEXT loop variable in FNBIN(a$) which checks down the string passed to the procedure character by character.
S% 710,760 Dogsbody variable used in PROCRND and PROCRNDChar(c%).
SC% 750,780 String used in PROCRNDChar(c%) to store the string returned by FNBIN(as)
HI$ 10,30,250,910,920,960,970,980 Name of the current highest scores.
a$ 700,830,840 General dogsbody string variable used in PROCedures and functions.

Reals

A 890 Used as the length of the side of the box in PROCBox(x%,y%)
ALIEN 100 Value of the address at which the drone initialisation subroutine is assembled from.
B 890 Used as length of side of box in PROCBox(x%,y%)
C 520 Used in FNPeek(x%,y%) to store the value of the character at position x%,y%.
P 370 Variable used to read from the DATA statement in line 380.
T 1000,1010 Dogsbody FOR...TO...NEXT loop variable used in explosion routine.
YUK 150 Value of the address at which the drone movement subroutine is assembled from.

Functions

FNBIN 780,830 Converts the binary string stored in a$ to a decimal value stored in that string.
FNMIN 710,720 Function converting the values of + 1 and - 1 to 1 and 2 respectively for passing on to the machine-code sub¬routine.
FNPEEK 300,470,520 Checks to see which character is present at the co-ordinate X%,Y%. This has been modified from the version in the User Guide to work with both OS 0.1 and OS 1.2.

Procedures

PROCASS 360,530 Contains the assembler code for the drone element movement routine.
PROCB 290,320 Places a shortcircuit at the co-ordinates dictated by X% and Y%
PROCBOX 880,890 Draws a box of side T% as defined on being called. Note the y-axis side length is multiplied by 0.8 to produce a true square as seen by the viewer.
PROCCHARS 80,260 Calls up PROCRNDChar(c%) to define the drone characters - CHR$229 and CHR$230
PROCDED 210,1000 Blows up the Zonetracker after it has collided with an object.
PROCEND 200,880 Disintegrates the Gridd after about 75% percent of it has been destroyed.
PROCGRIDD 90,1020 Redefines character 224 depending upon the number of Gridds completed.
PROCHIGH 240,900 Contains the input routine for the name of the high scorer.
PROCINIT 20,340 Initialises the main variables as used in the assembler code and calls PROCAss(o%).
PROCINITSCREEN 30,860 Prints up the title page.
PROCRND 140,710 Randomly selects a drone and changes the x and y co-ordinate increments in order that it may chase the Zonetracker.
PROCRNDCHAR 260,750 Randomly defines the character stored by the variable c% to design the drones - this way new drones are defined on each game.
PROCSC 480,850 Displays the score at the bottom of the screen.
PROCSCREEN 90,270 Draws out the screen at the start of play.
PROCSNAKE 150,410 Controls Zonetracker movement.
PROCVARI 100,330 Initialises the main variables for each new screen.
PROCW 80,200,240,250,700,900 Writes out the text passed it by A$.