CRASH REVIEWERS’ COMPETITION

Last month we brought you the winner and two of five runners-up in our Reviewers’ Competition. Now we have the remaining three runners-up with their winning entries. The order in which these entries appear is no reflection on their individual merit.

Steven Wetherill wrote about utilities, IS and FP Compilers by Softek, M-Coder by PSS and the OCP Editor/assembler.

E. Munslow wrote about Penetrator by Melbourne House, The Hobbit and Melbourne DRAW, also by Melbourne House.

Gary Bradley chose Ocean’s Kong, Imagine’s Jumping Jack and Melbourne House’s Penetrator.

STEVEN WETHERILL

SOFTEK ‘IS’ and ‘FP’ compilers

These are compilers for the 16K and 48K Spectrum — the ‘IS’ being an integer compiler, and the ‘FP’ a full floating point compiler. As these are similar in many ways, they will both be covered in this one review.

Each of the compilers contains 16K and 48K versions on the same tape and comes in a large video case. They are supplied with a short but informative instruction leaflet. While the packaging looks very game-like, any more than a cursory glance will show that they are in fact very comprehensive and useful utility programs.

To load the compiler you simply type LOAD "". The program loads in two parts, a BASIC loader then the compiler itself. When fully loaded you will be asked whether RAMTOP at 40000 is OK, and given the option to change this if necessary — your BASIC will be compiled immediately above RAMTOP.

Once RAMTOP is set, you are told that you can NEW and BASIC loader.

When the compiler is loaded, you can type in your BASIC program, or load it from tape or microdrive in the usual way. As you may expect, the ‘FP’ version will handle more of the BASIC than the ‘IS’, and your BASIC program will have to be written bearing in mind the list of allowed commands. Both compilers are quite comprehensive, in the string handling, for instance, strings are totally flexible and can be any length. String slicing is allowed as are LEN, STR$, CODE, CHR$, INKEY$, SCREEN$ "+" (for concatenation). Strings can be compared as in BASIC. This is far more powerful than the string handling in the MCODER compiler. When compiling BASIC programs from magazines and so on then obviously some modification is usually needed, but both compilers handle most BASIC commands and it is usually quite easy to make the required changes to programs.

When your BASIC is loaded and ready to be compiled you simply type RAND USR 59300 (26600 for 16K).

Various messages appear as the compiler passes twice through your BASIC — these are:

  1. START ADDRESS. This is always one byte above RAMTOP.
  2. END ADDRESS.
  3. VARIABLES END. This message appears when your program contains string or arrays. These are stored immediately after your compiled BASIC.
  4. FIRST PASS/SECOND PASS.
  5. ERROR/NO ERRORS.

After a successful compilation the message ‘NO ERRORS’ appears. If the compiler finds an error then the ‘ERROR’ message will appear, compilation will stop and the offending line is displayed with a question mark after the error. If this occurs then pressing EDIT will bring down the erroneous line for correction.

If compilation is successful your program can be run using RAND USR START ADDRESS (given in 1. above).

Error reports use standard Sinclair error codes.

Your BASIC program remains in memory after compilation. This allows modifications to be made if the machine code does not run as planned.

If all is well your compiled program can be saved as CODE in the normal way. Note, however, that the compiler must be saved along with the compiled code as it contains several runtime routines needed for efficent programs. As with the MCODER compiler, programs can be stacked in memory and used as subroutines; this is done by carefully setting and resetting RAMTOP.

Special Features

REM statements are used in both SOFTEK compilers to obtain facilities not available from BASIC. These include:

‘IS’ Version

‘FP’ Version

In Use

Both compilers proved very easy to use and the speed improvement is immediately noticeable.

There seemed to be some problem when trying to use READ and DATA statements within a program loop — the program in question worked under BASIC but gave an OUT OF DATA message when compiled. Also if a variable was assigned within a FOR-NEXT loop an OUT OF MEMORY error was sometimes encountered during compilation. This seemed to be intermittent and if it did occur, using CLEAR cured it. These minor irritations aside, both compilers worked OK.

Applications

Both compilers take up about 6K of RAM. The FP compiler is obviously capable of more accurate results in scientific and technical applications but also, as it uses time consuming (accurate) floating point notation, it is slower than the ‘IS’ version. The ‘IS’ compiler is more suitable for such things as games.

SOFTEK claim in their advertisement, ‘Superfast games involving hi-res graphics and movement are now possible even if you are only knowledgeable in BASIC.’ This is to some extent true, but the hi-res movement (using REM S) ranges from not particularly fast to downright slow. It is just not fast enough for fast-moving games. Both compilers would be ideal for use alongside other machine code subroutines with, for example, an interrupt driven sprite-moving routine. This would obviously need some knowledge of machine code, so it wouldn’t be quite fair to say that compilers are the complete alternative.

Conclusions

At £9.95 for the ‘IS’ compiler, and £19.95 for the ‘FP’ version these programs represent excellent value for money. If you are looking for a compiler these two are probably the best on the market at the moment. The ‘IS’ compiler is far superior to the MCODER from PSS, with the added bonus of (slow) mini-sprite graphics. Please note the copyright notice on the compilers, however — that the use of SOFTEK’S compiler must be clearly acknowledged on packaging, advertisements and on the initial screen title display if it is used for creation of commercial software.

M-CODER II by PSS

This is an integer compiler for the 48K Spectrum only. The program is supplied in a standard cassette tape box (i.e. not one of those overgrown video cassette ones) with an eight-page fold-out instruction leaflet, which is brief but to the point.

Loading the program is simplicity itself — just type LOAD "". There is a BASIC loader which tells you that the compiler is invoked by the RAND USR 60000 command, and that your BASIC is compiled to locations 40000 upwards. This is the default address, however, and may be changed using CLEAR n where n is the address at which your BASIC is compiled. This facilitates stacking of programs in memory, but more of this later.

MCODER must always be present in memory before any BASIC is entered. This is because the loader program does a NEW when you press any key after MCODER is fully loaded. BASIC programs can then be typed in as usual, or loaded from tape. Once your BASIC program is entered and checked you compile it simply by typing RAND USR 60000. If MCODER comes across an invalid line it will return to BASIC with a flashing question mark near the offending command. If this should happen, CAPS SHIFT and 1 (EDIT) will bring down the offending line for correction.

Some typical errors include:

  1. Using illegal variable names;
  2. GOTO 'variable' or GOSUB 'variable', which are not allowed;
  3. Illegal statement type such as LOAD or SCREEN$.

Actually most BASIC programs as printed in magazines and so on will not compile in their original form, and will have to be modified taking into account the list of allowed commands. As it says in the instructions, ‘You should be aware that you will probably have to make considerable alterations to your program before it will successfully compile as it is likely that the BASIC was not written to suit MCODER’. However most programs can be made to work, albeit in a modified form. Errors are reported using standard Sinclair error codes as listed in the Spectrum manual, appendix B.

At the end of a successful compilation three pieces of information are shown:

  1. A ‘compilation OK’ report;
  2. The length of the compiled code;
  3. The run address.

If all is well, and your compiled BASIC is stored safely above RAMTOP, it can be run using RAND USR 'address', where 'address' is given in 3. above.

As was stated earlier, it is possible to stack several programs on top of each other. This is achieved by moving RAMTOP around in memory. The procedure is to initially set RAMTOP to a fairly high place in memory and compile program A at this address. Then RAMTOP is moved down in memory to allow enough room for program B to be compiled underneath program A. This process is repeated for programs C, D, E. etc. Care must be taken not to overwrite any existing programs as no check is made by MCODER. These programs can then be treated as subroutines and called as required.

As MCODER is an integer compiler, it will only operate on whole numbers, and these must be in the range -32768 to +32767. As it has no time consuming floating point calculations to do there is a considerable increase in execution speed in compiled programs. However, as stated before, it will not compile all BASIC, and continual reference to the instruction leaflet is necessary to check which commands are allowed.

Variable names may consist of upper and lower case letters, and numbers. Multidimensional arrays and string arrays are not allowed. Strings have a default length of 32 characters but this may be altered with a poke.

By using special REM statements the BREAK key can be:

  1. Disabled except at ‘scroll’ and INPUT — this gives the most efficient code (i.e. fastest);
  2. Enabled — this gives less efficient code than 0) but allows the program to be broken into for debugging, etc;
  3. Enabled and with current line of execution displayed at the top right hand corner — this runs at about normal BASIC speed, but is very useful for debugging purposes.

Option 1. is chosen by default, but this can be changed as often as you like in programs by including a REM statement — REM # 0, REM # 1, or REM # 2 — corresponding to the options above.

The compiled code may be saved from BASIC (SAVE is not compiled) using the usual SAVE 'name' CODE n. However, as MCODER contains certain runtime routines, it must be saved along with the compiled code.

Applications

Compiled BASIC is generally more efficient than interpreted basic, which means that it runs faster and is more compact. This is advantageous for games writing as games will run much faster. As this is a mainly games orientated magazine some thought will be given to this.

In general, arcade games written in BASIC are slow and jerky — slow because of inherent qualities of the interpreter, and jerky because of the whole character block steps used for movement. Using a compiler such as MCODER can more or less solve the problem of speed. However, the jerkiness is still there. The result is games, which instead of being slow and jerky, are now fast and jerky. The speed partly compensates for this, but the results are never particularly realistic and in no way are they comparable to most commercially available games. Some people will accept this but many, I feel, will be disappointed.

Conclusions

MCODER II is easy to use, and if you can overcome the omission of some commands it could be quite useful. The speed improvement is significant, but the program is not really intended for beginners. Using a compiler is supposed to be an alternative to using machine code, but in reality some knowledge of machine code is needed to fully understand its operation.

At £9.95 I cannot help feeling that it is overpriced, as the SOFTEX IS compiler is the same price, and this offers far superior (in theory) facilities. However, there seemed to be some anomalies in the operation of the SOFTEK compiler, whereas the MCODER worked without fault, so this can only be in MCODER’s favour.

Full Screen Editor/Assembler by OCP

This is a machine code Editor/Assember for the 48K and 16K Spectrum. The cassette is supplied in a cardboard presentation box and comes complete with comprehensive instruction/tutorial manual. Also on the tape is a demonstration file for practise purposes, and a character generaor program, for designing your own UDGs! This makes for quite good value at £9.95. The editing functions can be quite complex so it is worth studying the instructions before attempting to write your own code. The demonstration file is provided so that you can practice the many editing functions and commands.

To load the assembler simply type LOAD "". The program loads in two parts — the first part being a BASIC loader, and when loading is complete the editor is automatically entered. A special printing routine is employed to give 42 columns on-screen. This aids text readability as most instructions can be printed all on one line instead of spread over two. Forty-two columns are also output to the printer for listings.

The Editor

The editor uses line numbers and these appear at the far left-hand side of the screen display. Moving right, next comes the label field — labels can be up to six characters long. Next comes the op-code field and after this the operand field. Comments can be written after the operand field, and these are indicated as usual by a semi-colon.

The line number can occur in any order and need not even be unique. The editing operations are carried out on a ‘text buffer’ which contains the source code. The editor provides commands to change, insert and delete individual characters within a line; to move, copy and delete single lines or blocks of lines as a whole; to locate, change and delete specified strings of characters as well as commands to output text to the ZX printer and to cassette tape. Commands are also provided to Save, to Load, Verify or Append files from tape. An expression evaluator is included.

The Assembler

The assembler is really quite separate from the editor. After your source code is completed and checked, the assembler can be called. Its function is to convert your source code mnemonics and operands into the machine code form understood by the Z-80 mpu, and to output this code to tape, memory, screen and/or printer. The assembler is invoked from normal edit mode.

The assembler makes two passes through the source code in the text buffer. The first pass checks the syntax of the source code and creates a user symbol table. The second pass converts the source code mnemonics into their object code equivalents. This is all displayed on screen during the second pass.

The assembly listing is displayed in three sections. The right-hand part is a copy of the source code from the text buffer. The two columns on the left contain the location at which the object code will reside, followed by the object code itself, both in hexadecimal.

Error messages are comprehensive and a complete list of errors and their causes, etc, is given in the manual. At the end of the assembly is given a count of the errors.

The assembler stores the code it produces in an object code buffer. This is usually not the place in memory that the code was designed to run — but when this is saved to tape the header is arranged to contain the correct information. Several assembler switches are available; these are for directing the object code listing on/off, etc.

In use

The package was very easy to use after a couple of hours practice. One slightly annoying thing is the speed of the repeat on the keyboard. This is much too fast and often results in a single key being read twice or more on the same depression. This is a small fault which spoils the program and increases wear on the keyboard as you have to jab at the keys. The expression evaluator is useful for automatically generating such things as table lengths, string lengths, constants, address and other data. This take a lot of the tedium out of assembly level programming and is a useful programming aid.

Applications

To use an assembler you obviously need some knowledge of machine code, and you probably have your own ideas as regards applications. For any serious (or indeed, if you’re writing games — non-serious) use of machine code the opposite of the above is also true — that is to use machine code you need an assembler, and this one does its job very well. The program can be recommended to beginners to machine code as it is quite easy to use. The more accomplished programmer, however, will probaby require something a little more flexible. OCP’s Editor/Assembler is quite adequate for general purposes machine code programming, offering powerful features at a reasonable price.

Conclusions

What’s left to say? This assembler is quite good value for money at £9.95 and usually does as it is told. There is however one bug: instructions of the form BIT b, (IX + d), and BIT b, (IY + d) are not decoded properly — you have to get around this by using DEFB pseudo ops. This is a bug that I personally uncovered when using the program and it caused me hours of frustration.

After contacting OCP I received an apology along with a corrective ‘patch’ which involves loading the program and then entering a few POKEs. Also, by way of recompense, OCP offered a £2 discount off any of their other programs. The ‘patch’ cannot be applied to the 16K versions, and OCP offer to replace the tape if needed. A corrected version should be available now.

E. MUNSLOW

Penetrator
Melbourne House

One of the first games issued for the Spectrum, by Sinclair favourites, Melbourne House, Penetrator has stood the test of time very well. Despite the huge software base that now supports the Spectrum, Penetrator is still probably in the top ten or so of most playable and most addictive games.

The game is a fairly faithful ‘steal’ from the arcade favourite, Scramble and, despite the obvious limitations of the Spectrum, even using the full 48K, stands comparison very favourably with versions on dedicated games machines. The object of the game is to fly your fighter through a series of caverns, all stoutly defended by guided missiles and policed with radar bases and ‘paratroopers’. As the jet starts on the screen, the landscape begins to scroll inexorably from right to left — once your mission has started, it is impossible to stop for more than, at most, a second, as more hazards, in the form of missiles and difficult jagged terrain, appear before you.

The progam starts with the usual attractive Melbourne House loading screen and, once loaded, after a fine display of screen fireworks, a menu offers a choice of three modes: play, train or create. The trainer mode is a welcome innovation — because of the complexity of the cavern system, it is very useful to be able to acquaint oneself with the layout whilst being able to squander an infinite number of lives. There are various tricks and techniques which need to be learned in order to make progress and the trainer is ideal for this. There is a choice of practising on any of the four continuous stages of the game, and once a stage has been completed, you are automatically moved on to the next phase, and so on. Throughout your practice, a score is kept, depending on the number of missiles, radar bases and paratroopers destroyed, so you can check on how your skills are improving before you dare to move to the game proper.

The actual game is for one or two players and each one of the players’ five lives starts with a rousing battle stations. The use of sound, although fairly limited in nature (jet sounds and explosions), is good, particuarly when amplified. The keyboard control layout is one of the now standard types, with Q/A for up and down, and P/O for thrust/brake, which are sensible for finding in a hurry. Your weapons systems comprise bombs (any key on the bottom row) and missiles (P again, when pressed rapidly, which is quite an annoyance when using a programmable joystick, since the stick has to be jerked rapidly to differentiate between fire and thrust). The use of a joystick does simplify movement tremendously, since the game requires a fair amount of dexterity on the keyboard. Unfortunately it is a programmable stick which is needed, since there is no option offered for any of the standard joysticks.

The graphics are fairly unsophisticated, compared with the best offered by Ultimate and Quicksilva and it would be interesting to see the quality of a 1984 version, on this score.

Once you have negotiated all four phases, your task is to destroy the neutron-bomb store, and then return the way you came. Easily said, but it will take you many many hours of play on the trainer before you get anywhere near proficient enough to even reach the bomb store, much less destroy it and return to base. However, such is the addictive quality of Penetrator that you will keep trying, again and again, if only to better your top score. There is a high score table provided, of course.

If you are finally triumphant, or if you find the cave system just too difficult, the game boasts a unique customising option, which enables you to simply edit the landscape and bases to your own liking — as easy or as tough as you can manage, with as many or as few missile bases as needed. Once created, a landscape can be saved to tape, so in effect Penetrator consists of a series of Scramble-type games of differing degrees of difficulty at the player’s whim.

One of the Spectrum classics and, hopefully, one of the first games to be upgraded for the QL!

The Hobbit
Melbourne House

The Hobbit has clocked up huge sales on the Spectrum and has been converted on to three other home micros, as the game has established itself in the affections of millions of computer owners as the most popular adventure game ever. Strange as it may seem, though, as adventure games go it is not nearly as good as it could have been. Certainly, to experienced micro-adventurerers, it is fairly easily mapped and solved, since it only offers 60 or so locations to be visited, which is pretty small beer by today’s standards of cheap RAM. With available memory of the order of 40K in many micros, it is feasible to squeeze well over 200 locations into a game, producing a scenario which has possibilities to test the most seasoned adventurer.

The great attraction of the Hobbit lies not in its basic complexity, but in the novel (and very sophisticated) approach its writers have chosen with regard to its operation. To begin with, its recognition of input from the player is amazing, compared to all currently available adventures. Scorning the usual limitations of a two-word input, consisting of a verb-noun pair such as TAKE SWORD or GO EAST, the Hobbit can accept lengthy and quite complex sentences of up to 128 characters in length. It is a great annoyance to players to be given the response ‘I can’t do that’ when a game lacks the vocabulary to carry out a simple instruction. The vocabulary of the Hobbit is high — three or four times that of the average, so the possibilities of action are correspondingly large. If the program does not recognise a word, it makes the fact clear, and differentiates between this and whether the desired action is possible. It is this quality of input analysis which explains the attraction of the game for first-timers: the Hobbit has been the first game played on a micro for many purchasers of the Spectrum, and very few will have been let down, as the game is so easy to get into, and enjoy, without being too easy.

There are two other great attractions of the Hobbit. Most obvious is that the game has popularised the use of graphic illustrations. Although not the first to use pictures of locations (the Apple has had several such adventures for some time) it was the first on a truly popular micro, and has generated a flock of imitators. In fact, there are less than 30 of the simplistic drawings, but they do add a certain something to the game, without wasting too much memory. and point to the future of Sinclair adventures, when a couple of hundred such pictures can be called from the Microdrive. Their only disadvantage in the Hobbit is that they cannot be turned off and when slowly drawn for the fiftieth time they can begin to grate on the patience.

The second novel feature is the apparent independence of action (named animaction by Melbourne) of the other characters in the game. Your co-adventurers, Thorin and Gandalf, as well as the elves, trolls, spiders and dragon encountered later, all seem to behave independently of you and each other, and so, if no entry is made from the keyboard, action will continue. GandaIf will flit in and out, Thorin will, at random, decide to help or hinder your efforts to escape from dungeons, and other inhabitants will appear to live out their lives as the game progresses. The object of the game is to regain the treasure of Smaug, the dragon but to do so you will need to explore and map the locations, collecting swords, keys and magic rings, on the way. Everything about the game exudes class, from the stunning loading screen to the thorough documentation provided. This comprises a 16-page booklet which describes the game and outlines some of the allowed vocabulary and a copy of the original Totkein book that the game is based upon. The latter is invaluable for hints, particularly concerning the trolls’ clearing and the wine cellar — problems which would otherwise be very difficult to solve. As an added extra, not usually provided for in adventure games, it is very easy to send screen output to the ZX printer, to be re-read at leisure.

The Hobbit has set the standard for micro adventure games and although rather highly priced compared with most, its extreme elegance, if not its complexity, makes it well worth the outlay — a great starter for the novice adventurer and, hopefully, not the last Tolkein adventure on the Spectrum.

Melbourne Draw
Melbourne House

Melbourne Draw, as the name implies, is a graphics utility for the Spectrum. Its main use, apart from the easy production of User Defined Graphics direct from the keyboard, must be considered to be that of the production of loading screens for games. From examining the loading screens of some of Melbourne House’s most popular game (Hobbit, Penerator, Terror-Daktil), it is easy to see the effectiveness of the Draw program in producing attractive screens.

The program itself is written in BASIC, with some machine code routines for greater speed, particularly in the useful Paint commands which can fill a pre-drawn shape with a given INK colour. Being rather short the program loads very quickly and first offers a main menu, which includes the option to edit (if an already drawn SCREEN$ has been loaded in from tape) or draw a picture, or Save or Load any UDGs. On selecting the mode for editing, one is presented with a clear screen, apart from a single pixel cursor. Below the screen is a two-line information window, which displays several important parameters of the program’s operation. On the right-hand side is the current INK, PAPER, BRIGHT and FLASH settings, which can be simply changed at will from the keyboard.

Movement of the cursor is by eight directional keys and can be used to set or reset pixels with ink colour, or, indeed, to skip over pixels to enable rapid movement over the screen without leaving a trace. To aid the latter, the co-ordinates of the moving cursor are displayed in the information window.

Once basic shapes have been drawn on the screen, the colour attributes of the picture may be edited, by a simple switch into the Attributes mode. As a consequence of the poor colour resolution of the Spectrum, in only allowing one INK colour per character square, the cursor grows to a full 8× pixelsquare, and this can be used to ‘wash’ over coloured shapes to fill them in with a new colour.

During these drawing operations, the input of text on the screen is not catered for, but this is covered by a switch to the text mode. This mode is equally versatile, allowing characters to be produced in any of four directions: left to right, upside down, and sideway (from top to bottom and vice versa), with a large arrow cursor on screen to point to the current print location and the direction of travel.

To aid the drawing of fine details, there is a facility for screen magnification, by a factor of eight or 16. These zoom into your work of art at the pixel level to help produce the subtleties of shading and detail that companies like Ultimate achieve in their loading screens.

These are the major facilities provided by the program, but there are several other options which are very useful. For example, a 760 position grid can be generated on the screen and any of these character positions can be copied simply into the UDG area, and, for reference, the eight bytes of the UDG data are displayed in the information window as the graphic is stored. The screen can be scrolled, pixel by pixel, in any of eight directions and, handily, the information window can be removed, to enable drawing of the picture to be continued on to the bottom two lines of the screen.

Accompanying the program are three of the title screens from Melbourne House games, which can be loaded into the program and edited, re-coloured and magnified to show the fine detail. In fact, any named SCREEN$ can be loaded in (and later Saved again) and altered, and great fun can be had with this option, using commercial games software.

A 16-page booklet is also supplied, an essential adjunct to the program, because of the sheer complexity of the keyboard controls used — 70 all told, excluding the usual text keys, a bewildering number to remember without constant reference to the hand well-written manual.

Overall then, a well thought out package, for the albeit rather limited area of Spectrum on-screen art, providing a few handy routines which are not readily available to the user who is drawing entirely from BASIC. Unfortunately, it does seem rather highly priced for what is not a very involved piece of programming, and the market is still open for a superior piece of software, possibly which can be used in conjunction with a light-pen to provide a package really worth buying.

GARY BRADLEY

Kong (Ocean)

“H-H-E-E-L-L-P!” screams the unfortunate damsel in distress. But even in the clutches of the tallest, darkest stranger in the world of video-gaming she needn’t worry — as our hero, Mario the carpenter, braves the barrels, scales the girders and pursues the great ape to the final conflict. In case you haven’t guessed yet, this is the basic plot of the classic arcade platform game, Donkey Kong.

Ocean’s Kong for the 48K Spectrum is generally considered the best version of the theme around for the computer. This may well be true, but it only goes to show the lack of a really good Spectrum implementation on the software shelves.

The game does boast almost all the features of the original and faithfully follows the four screens, but this is where any similarity ends. Kong is both uninventive and bug-ridden. It’s a pity really, as nowadays Ocean is producing some of the best games for the Spectrum on the market.

Anyway, back to the main format. The inlay gives an excellent account of the game and its controls. Kong loads reliably with a starting screen of Ocean’s motif (how did they get those three different shades of blue?). When the program has loaded, a nice menu of control options is presented. Kong accepts a Kempston or Protek joystick, or uses the efficient layout of keys characteristic to Ocean — A, S, X, N and M. While these are simple enough to master, playing the game is not. The action is very tongue-in-cheek and any challenge is not due to fiendish design but to bad graphics and playability.

Your animated Mario charges ungainly across the screen and performs the most unrealistic jump possible — making the hurdling of barrels and other nasties difficult to get used to. Moreover, the enemies are so eager to hospitalise the hopeless hero that a man is lost even when some fireball or other was obviously ‘millions of miles away'; and all too frequently the program kills you off most inaccurately on the elevator screen.

Discovering the many bugs is often more fun than actually playing the game! While the action becomes repetitive and downright boring, the bugs never cease to amaze. For a start, the bonus feature has gone really right off the rails; not only do you score less than half what the counter reads, but if you allow your bonus to depreciate to zero, you are awarded over 60,000 points for finishing the screen!

Experts and even novices at the arcade version will quickly lose interest with Kong because if you perform the same motions each time, all four screens are almost identical each time — even the paths of the fireballs.

Still it’s not bad (well, almost not all!) and if you like platform games, the demo mode, hall of fame, the training mode, and the hidden conveyor belts, and you can tolerate Mario climbing where there isn’t a ladder, crashing through holes that aren’t there and being crushed by barrels that didn’t touch him — then Kong is the game for you!

Kong is not worth the considerable price being charged (unless you’re looking for an alternative to sleeping pills) and Ocean should stay with their better class games like Transversion and Mr Wimpy and give us games players less of this monkey business.

Jumping Jack
(Imagine)

‘Jumping Jack is quick and bold, With skill his story will unfold..."

... or so we are told between screens in Imagine’s addictive best-seller Jumping Jack. It seems a millennium since Arcadia stormed across the Spectrum screens of Britain and set the scene for games to come. The company has released several notable progams since, and Jumping Jack is one of the best.

The basic theme is to guide your man, Jack, from the bottom to the top of the screen without falling through the multitiude of moving holes, thumping into girders or being flattened by the odd nasty on the way. It’s a game which is addictive through its simplicity and will be played for years to come. Splendid, often hilarious graphics, 20 levels, fast-moving action and constant excitement all help maintain that ‘just-one-more-go’ quality.

Jack starts at the bottom of the screen beside the scoreline and lives remaining (up to his neck in letters)! Above him two holes move across a dozen horizontal platforms — but the number of holes increases as play progresses! What you have to do is jump up a level whenever a hole passes overhead, while avoiding plunging down a level through holes travelling on the platform beneath his feet. Each jump creates a new hole (there had to be a catch, didn’t there?). Holes travelling left to right move down the levels when they leave the screen; those right to left move up. The most efficient strategy is probably to try to follow one hole all the way to the top and jump up to the next screen. This is often hindered by the holes moving down and the sheer number of aliens (one being added each time you complete a screen). Double holes can be most frustrating!

If Jack falls, or is hit by a nasty, he squirms pathetically on his back seeing stars (literally), thus he is immobile and vulnerable to further holes approaching. Happily, a life is lost only when Jack falls all the way to the bottom line again.

Basically that’s all there is to it. There are 10 different animated aliens and Jack himself is a masterpiece. The sound is nice too, and the ‘splat’ when Jack is paralysed by a nasty is most realistic (to tell the truth, I don’t know what it would sound like, but I’m sure Imagine have come pretty close)!

As a little extra to add to the addiction, further lines to a terrible limerick are added between screens — read it at your own risk! Oh, and there’s an extra Jack every five boards. Loading of the game is reliable, and in the middle, an attractive title is displayed. Several Jack-like characters (relatives no doubt) leap onto the screen to spell out the name of the game — it’s an hilarious and clever addition. Once loaded, the game starts straight away and there is no mention of a joystick. Oddly enough, Imagine seem to have got themselves a little mixed up with the keyboard controls: while most arcade games use the left hand for sideways movements and the right to fire or jump, Jumping Jack uses CAPS SHIFT to jump and SPACE and SYM SHIFT for movement — most unusual and a little annoying at first.

If you’re quick and bold and have enough skill, you might just see what happens after the 20th screen — although five of the bizarre aliens is hectic enough! So buy it, avoid the holes, dodge the snakes, ghosts, witches, aeroplanes and others less identifiable, and above all, have fun. This is one game you won’t tire of.

Penetrator
Melbourne House

Melbourne House’s Penetrator is a splendid version for the 48K Spectrum of the arcade favourite, Scramble. In case you don’t know (where have you been for the last few millenia?) Scramble is a game where your fighter soars across a horizontally scrolling landscape of caverns and narrow mazes, dodging ground-to-air missiles and flying saucers. You can bomb the buildings on the precipitous slopes below. Almost all the features of the original are included in Penetrator, and there are a few extra ones besides.

Due to your ship’s ability to fire at airbourne aliens or missiles and bomb the radar installations on the ground, Penetrator has six control keys. Fortunately they are distributed sensibly around the keyboard and the P key has been ingeniously programmed to thrust and fire depending on how long you keep it pressed — making life a lot easier!

Penetrator has five phases of action, ranging from open-air ground attacks to edge-of-the-seat manoeuvering along narrow corridors redolent with missile towers. A delicate operation, but it can be pulled off if you stay as far forward as possible at all times.

While the arcade version has a fuel gauge to keep your eye on, this has been replaced in Penetrator by a ‘danger level’ indicator: if too many radar bases are missed, this counter increases dramatically and the enemies become more intelligent — if the level reaches RED ALERT, then look out! You must now avoid guided missiles and crafty aliens who hide behind rocks away from your line of fire and swoop down on you when it’s too late to hit them.

The graphics incorporated into the game need only one word of introduction — stunning! It’s all hi-res, and so well animated that the rotating radar bases almost slip into three dimensions as they spin on their turrets. The explosions are satisfying and your ship’s laser blaster can keep up easily with your twitching finger even if you’re the fastest arcade gunner in the West! Unfortunately, you are limited to two bombs at a time — which is a pity as there’s so much to hit. The sound, too, is excellent, especially the sirens, explosions and game tune.

The sound and graphics add to Penetrator’s addictive qualities, but the actual game is very challenging and difficult, which can only be a good thing. The changing phases maintain interest, as does the incorporation of a mission which must be carried out rather than just blasting aliens all day. This task confronts you in the fifth phase, where you have one chance to bomb an alien base down a narrow chasm — miss and your ship obliterates colourfully on the end wall of the caves. If, on the other hand, you manage to hit the thing, you are rewarded with thousands and thousands of points and a lengthy fireworks display which is pretty at first but becomes tedious. Even then the fun’s not over! Now you have to get all the way back to your own base by negotiating all four phases in the opposite direction.

Penetrator, though lengthy, is a first class loader and boasts an excellent starting picture just like the drawing on the cassette inlay. A nice menu is printed and then you’re into the actual battle. If you should find all the action a little too much, then there’s an excellent training mode where any phase except the final bombing run can be practised with infinite lives at your disposal (must cost the training centre a fortune in ships and parachutes!).

Of all Penetrator’s first-class features, the most outstanding is the redefining command. If you ever master Penetrator (can I have your autograph?) the addiction isn’t lost: with this feature you can change the landscape (floor and roof) and the position and numbers of both missiles and radar installations in the ground. Each new landscape can be SAVEd on tape and then LOADed back at any time. Thus, you can have hundreds of different versions of the game in your collection and make it as easy or difficult as you like. One point to note, however, is that accurate positioning of the missiles is imperative, as any uneven surface below their foundations causes them to explode automatically during the game and creates errors in future explosions.

There are little or no criticisms to be made about Penetrator. If you’re an arcade addict, then Melbourne House have a real winner for you here. As the caption on the inlay says, ‘If you have a 48K Spectrum, then you must have Penetrator!’