Supply Blaster

by Graham Askew



Issue 14

Mar/Apr 85

Next Article >>

<< Prev Article



Supply Blaster is an arcade-type game for 1 or 2 players. It is written in BASIC and uses redefined characters in Graphics 17 with a machine code transfer of half a character set from ROM to RAM and machine code Display List Interrupts (D.L.I's) which, among other things, splits the background into dark blue cloud level, lighter blue open sky and ground.

Initially there are choices of the number of players and of the limit of supplies which must be prevented from landing and remaining intact on the ground. A player's game ends either when he has lost all his ships or when the preselected number of supplies is on the ground.

A player starts with three ships and the number of ships left at any given time, including the one currently in play, is shown at the top middle of the screen. Player 1's score is indicated at the top left and, if playing, Player 2's score at the top right. A high-score stands at the bottom left and the number of supplies landed and still intact is at the bottom right.

A new ship is set up on the ground to the extreme left and the object of the game is to score as many points as possible by moving the ship, with a joystick, in any horizontal or vertical direction and preventing supplies, which drop from random points at cloud level, from landing on the ground and building up to the preselected number. This is done by positioning the ship under a descending box and firing up at it by pressing the joystick button. The Player's score is increased for each supply box hit with the number of points increasing proportionately to both the height of the box when hit and the height of the Player's ship.

A fuel line is built in just below ground level and this runs out by a 20th each time a shot is fired. When the last shot has been used an alarm sounds and a flashing arrow at the extreme left of the fuel line indicates that the Player must return his ship to the starting point in order to re-arm and be able to carry on with the battle. This operation needs to be performed as rapidly as possible because supplies are still falling and, if the Players ship is not available and armed, they will of course land!

Just to make life a little more difficult, random enemy missiles appear from either side of the screen above certain scores, vertically level with the Player's ship. These will automatically readjust their aim to any change in the Player's vertical position and the only way to avoid being hit and destroyed is to move down behind one or more landed supply boxes so that the missile impacts with one of those instead. It will be seen that it is not a bad idea to let a few boxes land, especially near the edges of the screen.

A second obstacle presents itself, depending on the supplies limit selected, when an occasional enemy ship appears from either side of the screen at varying heights. These chase across the screen towards the horizontal position of a Player's ship, and if the Player does not shoot quickly enough, they will fire a laser beam which will destroy the Player's ship. As the game progresses, these become more difficult to hit as they first begin to dodge the Player's line of fire and then later combine this strategy with that of coming down the screen towards him.

Thirdly, after the loss of a ship and providing a Player has passed a certain score depending on the level of play, the cloud level drops, thereby making it more difficult to cover the width of the screen to hit supply boxes which drop from a lower position.

Just to be fair, guided missiles and enemy ships will not be launched whilst the player's ship is in the left-hand column of the screen, which obviously includes the re-arming process, but remember, it is no good staying there for too long because further supplies cannot be prevented from landing in the main play area. A missile will, however, continue on its way if already launched from the right hand side of the screen. An enemy ship, if already on screen, will still align itself above the Player's ship and fire at him, unless he has commenced re-arming, in which case it will hover until he is re-armed, then it is matter of who can fire first!

The preselected last supply box trying to land is indicated by a different colour and warning sound as it descends.

If you fancy your chances of going up the screen to meet or even pass an enemy ship, just try it!


Points are scored for shooting a supply box.
A players score is also increased by 250 points for each enemy ship destroyed. An extra ship is credited at a score of 10,000 points or more.
Ships can be lost by

Being hit by descending supplies
Being hit by enemy missiles
Being shot or hit by enemy ships



L(  positions of each Player's intact landed supplies.
S( Player(s) score(s).
D( number of each Player's supplies down on the ground.
X( checks for extra ships.
G( number of each Player's ships left.
CL(  Each player's current cloud level.
Number of players.
Horizontal position of player's ship.
Y Vertical position of player's ship.
X1 difference in player's ship's horizontal movement. 
Y1  difference in player's ship's vertical movement.
E fuel level.
re-fuelling (re-arming) level.
EO selection of enemy object type.
type of enemy object subroutine line.
high score.
Player (0 for Player 1, 1 for Player 2).
random selection of enemy hor. position.
random selection of enemy vert. position.
B colour of enemy supply box or initial colour of enemy ship.
BO  normal supply box character/colour.
character/colour of Player's ship shot
DI  difference in hor. direction of enemy missile/ship.
character/colour of enemy missile.
waiting factor before enemy ship fires
character/colour of enemy ship's laser beam.
factor to synchronise refuelling alarm or sound of refuelling operation with explosion of landed supplies if supplies hit by an incoming missile at the same time.
S4 Setcolor 4 memory location 712.
NC  normal colour of sky.
VO Voice 0 distortion/volume memory location.
V1 Voice 1 distortion/volume memory location.
V2 Voice 2 distortion/volume memory location.
V3 Voice 3 distortion/volume memory location.
FL extreme left fuel line memory location.
SK DLI machine code location for sky colour.
SL Supplies limit selected.
SP top left screen memory location.
SC Antic enable/disable location 559


AtariLister - requires Java