The demonstration on this disc shows only a small part of the capabilities of GamesSuite. It is a single level game and easily within the capabilities of anyone with a little experience in using the software and Acorn's !Paint application. It was written entirely using the GamesSuite editor without any additions or enhancements.
The game controls are as follows :
Z - Left
X - Right
É - Up
/ - down
Space - fire
There are four read outs at the bottom of the screen (three of which you can modify by changing the file Éusercodeæ). From the left : your current score, your current reserve of bullets, your energy bar and lives remaining.
GamesSuite
The package is mainly aimed at the novice to middle grade programmers, ie people using interpreted or compiled languages (eg BASIC or C), or with no programming experience at all.
The package is based around two sections,
Å A compact (5k, so it sits in a StrongARM cache) module
Å A programmers interface/editor
The editor is for those of little programming experience, ie BASIC only. All the functions of the front end are available through a SWI interface, or via a branch table.
It features a huge number of features, and now includes its own macro language.
The Editor
Briefly the user creates a data file in the editor. This data file will eventually be compiled into a fully functioning game. To do this the user must consider ten different stages, five specific to each level and five global.
Level Editing
Levels can be up to any length in the actual application, and up to six levels can be linked with a password system.
Å Landscapes
These are everything in the game apart from 'you'. They can be 'baddies', obstacles, bonuses etc..
Each of these objects will need to have a defined walkpath (how the computer moves it during the game) and animation stream (how the object is displayed if it is more than one sprite - a bird flapping its wings would need to be made up from several spites displayed one after another).
Å Key Mapping
This links a macro (see below) to be executed on a specific key press eg. space bar = fire.
Å Time Code
Allows macros (see below) to be executed at certain points during the game automatically, and recursively, ie to create a stream of aliens, finish a level, apply gravity etc.
Å Macros
Are short sections of macro code (a series of simple instructions) that can do all sorts from changing object statistics to creating new objects, to altering scores to keeping track of how many times an object has been hit.
Å Collisions
In most games, things happen when a collision occurs eg. you step on something or your bullet finds its mark. Collisions are macros that determine what happen when two objects collide.
Global Editing
Å Walkpaths
These are a list of vectors (instructions) for moving game objects and landscapes objects during the game.
Å Animation Streams
An animation is a series of sprites, all slightly different, that are displayed one after another to give the effect of movement eg. wriggling, walking or flying. The animation stream tells the computer how to display the series of sprites during the game. Standard sprites are used such as those used in !Paint.
Å Introduction
The Introduction defines where the game will find its sprites, the scrolling introductory message, which loading screen to use and details displayed on the game's 'Info' option.
Å High score table
This allows many of the usual scoring options
Å Game compiler
When complete the game is complied and saved to disc or hard disc. Games can be reloaded for further development or editing
Statistics
The elements above are enough to create quite a complex and intricate game. There are facilities for a wide range of things including full modelling of vector motion, with friction etc. This is one of the nicer features of the package and handles acceleration etc. The editor allows for accelerated landscapes, objects (including your object or powerups/bullets etc) and a starfield can be plotted in parallax relative to your current velocity.
The suite accepts standard Acorn sprite files, making editing and saving images very easy.
Both animations and walkpaths take no extra time to apply which means that static unanimated objects do not appear to be faster than moving animated objects. (the figure is something like 30 cycles for both walkpaths and animations).
GamesSuite will also handle levels and passwords. The compiled applications install onto the icon bar and, although it does not produce ARM code, it generates an ASCII script which is then converted into a compact binary at run time. This code is then run through the 100% hand written ARM code module. This is very efficient, requiring only 13 extra cycles over producing the arm code in situ with minimal memory overheads.
The Macro Language
One of the major features of GamesSuite is that is easily expandable, the macro language has a possible instruction set of 2048 instructions, allowing extra modules to be easily added. Plans are already underway for a 3D version.
The macro language currently contains 37 instructions for altering aspects of the game as diverse as animation streams, walkpaths, killing objects, handling score, lives etc. A list of these is included on this disc as a text file called 'MacroList'
We are keen to improve on our products, and welcome positive criticism or suggestions for improvements. The engine is all but finished, and we should be ready to ship version 2.0, and the upgrades to our existing customers during February.
If you have any queries or comments mail me at the address below.