Motivating the EnemyCreating unit artwork was often a time consuming and frustrating process. To speed things up we designed some of the enemies to look as if they had all been produced in the same factory. Unit designs were sketched with a view to reusing or swapping their parts:
Keeping a consistent visual style allows us to mix and match the parts, adding variety to the basic unit. Below, a range of tank turrets that could be used with a number of different ground base units:
The game engine was designed to be flexible, with most of the gameplay created through data editors instead of being programmed. This reduced programming complexity, helping to keep the game stable. Almost everything in the game is a unit, and every unit can spawn any other type of unit and any number of them. They are created and modified in the Unit Editor. Each unit can be a script telling the game to do things like pause the scrolling, award points, finish a level, and so forth.
A common use of the editor is to link two units in a parent and child relationship. Here we see a Panzer tank base being set up to spawn a child turret:
Building the LevelsOnce the units and background art for a level have been created, it's time to add these resources to the game. This is achieved through the level editor, which allows drag-and-drop unit placement and the setting of level attributes such as the music track, level name, background image, etc. The following shot shows the placement of the Panzer tank:
Below left, we see a Panzer complete with child turret. It also has a pink warning beacon child unit attached to it, which will flash when the player moves into range, and the tank has spawned tread marks in the Martian soil. On the right we see the same enemy, having spawned the beacon lighting effects, gun lighting effects and bullets: