REVIEWS COURTESY OF ZXSR

Fifth
by Richard M. Taylor
CRL Group PLC
1983
Your Computer Issue 4, Apr 1984   page(s) 77,78

48K Spectrum
£9.95
CRL
130 Whitechapel Road
London E1 1EJ

Producing fast-action games without the need to learn machine-code programming - Simon Beesley reviews a crop of games designers including the newly-released Hurtg.

There are few more dismal experiences than playing a version of Space Invaders written in Basic. The invading aliens dawdle across the screen while your missiles take an age to reach them. The fact is that Basic is usually too slow for writing adequate arcade games. For best effects you need the speed and flexibility of machine code. But for most of us learning machine code is a daunting task.

As an alternative there are now a number of programs which offer a more painless way of writing arcade quality games. These are either extensions to Basic or full-blown games designers.

Melbourne Houses's Hurg is such a program. Hurg, incidentally, stands for High-Level, User-Friendly, Real Time, Games Designer. The terms High-Level and User-Friendly refer to the fact that by using Hurg you can design a game without writing a line of code - the entire system is menu driven. It offers, in fact, an extensive hierarchy of menus and sub-menus which between them cater for almost every aspect of designing a game.

DEFINE EIGHT OBJECTS

Not only, for example, can you define up to eight different objects but you can also animate each in a different way and determine how it is to move. Movement can be described in considerable detail. You could instruct an object to mimic the movement of another object or give a weighting to movement in certain directions. Alternatively you could define eight paths and link four of them together.

The animation facility is extremely impressive. Each object can be given up to eight animation sequences. It can either be allotted two different shapes for each direction or be made to pass through an entire eight shape cycle in every direction. Once you have defined its shapes you can set the speed at which animation occurs as well as the speed with which the object moves across the screen. Two Shape Generator is one of the most enjoyable features of Hurg. In effect it lets you construct the frames for a cartoon. As soon as you have defined at least two different shapes you can see tour cartoon character in motion.

There are a host of other options such as a regeneration menu, a collision table, and a games variation menu. To take just one of these, the games variation menu allows you to alter the pattern of a game after a specified event. Thus you could instruct the ghosts in a PacMan-type game to move away from the player when a power pill has been eaten.

Although there is no facility for designing a background you can load in a predefined screen. This means that an assortment of different games can be designed. Two of the demonstration games included with Hurg show its range. Manic Koala is a creditable Manic Miner type game - with only one screen - while Ms Hortense is a Pac-Man variation.

Designing a complete game with Hurg is quite a complicated business. The program's facilities are so extensive that they need much fuller explanations than are given in the manual. More examples are needed. The manual gives an example of how to write a simple game but this is rather sketchy. When I came to design an Invaders type game I was unable to make my missile leave its silo. Doubtless I had made an elementary mistake but detailed step by step instruction would have been handy.

Quicksilva's Games Designer is easier to use bin more limited in its scope. Essentially it is an instant shoot em up kit. Seven game formats are open to you - Invaders, Asteroids, Scramble and so on - but these are really a matter of fixing the directions the aliens come from and how your character moves. The program does not allow you to design a game at the same level of detail as Hurg. So you are confined to producing variations on the same shoot-em-up theme: aliens approach and you blast them out of the skies.

Again it is menu driven. There are eight options on the main menu; Play Game, Select New Game. Alter Sprites, Configuration, Movement, Attack Waves, Load from Tape, and Save to Tape. Selecting any one takes you to you to another section. The sprite option, for example, takes you to a character definer where you can define either your own player and missiles or the enemy characters and their missiles.

Included in the configuration sub-menu is quite a sophisticated sound editor - a feature lacking in Hurg. By moving a slide up and down on five scales you can create he sound of your choice for explosions or missiles. Given the range of different sounds that can be produced this is particularly simple to use as well as being fun to play with.

Although you can give the aliens a limited degree of animation and set their flight path you cannot animate your own character. This feature does not begin to compare with Hurg's extensive facilities for defining animation and movement. Only one set of aliens can appear on the screen at any one time and all move in the same way.

Nor is it possible to define the background. The background option reduces to a choice of colours and the decision to include stars or not.

But for all its limitations Games Designer is a highly effective package. The eight are predefined games which are included with it show that you can certainly design games of commercial quality. If shoot-em-ups are your taste then this program will allow you to indulge yourself to the full.

Games Designer programs, however, have their frustrations. They restrict you to a set course menu. With Hurg, for example, it is possible to design a Pac-Man game but you could not instruct the ghosts to move intelligently. As the blurb for Interactive Software's puts it, such programs cannot satisfy those who enjoy the challenge of true programming.

Scope is a computer graphics language. It has 31 command words which are tagged onto Basic Rem statements. They cannot, however, be intermingled with Basic. Once you have written a Scope routine it needs to be compiled into object code in another area of memory. The idea is that once compiled your graphics routine can be called from Basic.

ENTIRE GAME IN SCOPE

You could also write an entire game in Scope: although with only 31 commands on hand this would be a daunting task. Scope does not allow floating point variables so the sine and cosine functions cannot be used. Nor are there commands for multiplication and division. User-defined graphics need to be set up in Basic.

At first glance Scope's syntax seems rather complex. To set up the equivalent of the empty loop FOR A = 0 to 100 NEXT requires the following commands:

10 REM Var,a,0;
20 REM Label; A;
30 REM Inc;a,1;
40 REM Test,194,a,100,A;

But the language's graphics commands like Plot, Draw and Attr are familiar enough; while Fscr is a useful addition which scrolls the screen pixel in any direction.

By using Scope to build up graphics routines you could undoubtedly speed up your Basic programs considerably. It is also an interesting introduction to lower-level languages - a compromise between Basic and assembly language. As an alternative to Scope one could use a fully-fledged Basic compiler or Forth.

Richard Taylor's Fifth is a more accessible aid to writing fast games and, arguably, just as effective. One of Your Computer's regular contributors Richard Taylor needs, as they say, no introduction. In an interview he once said that he like to make machine do thing they are not designed to do. Having given the ZX-81 high resolution and speeded up its loading rate, he is now doing amazing things for the Spectrum.Fifth is a 4K extension to Basic which lets you harness effects normally only available through machine code. It supplies 25 new commands and a further 13 functions. To use them you simply enter the commands and their parameters after Rem statements.

The largest group of commands provide the Spectrum with a sprite facility. The beauty of this is that since the sprites are interrupt driven they move independently of your program. You can specify the direction of one of up to 255 sprites and then set the speed and number of pixels un;p at a time. Once set in motion the sprites carry on moving while the program attends to something else. If a sprite collides with another object or veers off the screen control returns to Basic whereupon you can redirect it.

Along with the spite facility Fifth offers a number of other new commands. Among them are Sound, a far more powerful instruction than Beep, and Replace which changes colours on screen in a similar way to the BBC's VDU 19 command. With Get and Put you can store away any rectangular section of the screen and then reprint it at a new position.

Put together these facilities make up a hugely useful tool for writing games without dipping into machine code. The sprites are particularly impressive. As they can be set to move pixel by pixel at a rate of 50 jumps per second they are both fast and smooth.

The Commodore 64 already has sprites but using them in Basic is a slow and tedious business. Almost unchanged since the days of the PET Commodore's Basic now looks a little long in the tooth. It has no specific commands to handle sprites, high resolution graphics or the 64's sophisticated sound chip. To access these facilities you must instead rummage through the manual in search of the requisite Pokes.

Simon's Basic remedies this state of affairs. It is an extension to Basic which makes good the resident Basic's shortcomings with a further 114 commands.

NUMBER OF NOVELTIES

With the Simon's Basic cartridge in place Commodore's Basic can hold its own and indeed feel superior to any other versions of the language on the market. Before writing it David Simons drew up a shopping list of all the commands and features he would like to see in his idea of Basic. And here they all are: structured programming features such as Repeat Until and local variables; programming aids such Auto, Trace and Remember; error trapping commands, extra string handling commands, scroll commands for any direction; and, of course, an extensive range of instructions to deal with sound, high-resolution graphics and sprites. There are also a number of novelties like Delay which varies the rate at which a listing is printed and Disapa which hides a program line as a security aid.

The graphics commands, in particular, do all you could hope for. To mention just a few, Paint fills in an enclosed area, Rec draws a rectangle, while Rot will rotate and expand a predefined shape.

In return for 8K of your RAM Simon's Basic gives you a remarkable number of new software features. Some were sorely needed, other cans be considered bonus extras.The pity is that Commodore did not think to rewrite its Basic at the outset incorporating some of these features in the ROM.


REVIEW BY: Simon Beesley

Transcript by Chris Bourne

All information in this page is provided by ZXSR instead of ZXDB