Gangsters

by Graham Askew

 

 

Issue 12

Nov/Dec 84

Next Article >>

<< Prev Article

 

 

Gangsters is an arcade type game for 1 or 2 players. Each player starts with three men and an extra man is awarded for a score reaching 2500. There are 9 levels of increasing difficulty to choose from initially with each level successfully completed leading automatically to the next until the highest level is reached.

Player 1 controls a blue gangster and Player 2 a green gangster and play commences at the top left floor of the building. Remaining men are shown above the building in the centre with scores at either side indicated by an arrow. The level(s) being currently played or reached are shown below the building at either side with the time in the middle. The object is to reach the exit door at the bottom right of the building after searching for and collecting bottles of bootleg. The whole floor of the building must be covered within the time limit and 50 points are scored for each bottle collected. Bonus points are awarded for any time left depending on the level.

To hamper your progress a rival gang are sending their own men in at the bottom exit to stop you taking the liquor. If one of them comes across a bottle he collects it and prevents you from colouring the floor and collecting any more bottles yourself. In addition if, whilst in this temporary state, an enemy gangster runs over any floor area you have already searched, he will turn it back to its original colour. It is essential that you track him down and shoot him with your machine gun by pressing the joystick fire button, thus gaining an additional 50 points and being able to carry on with your search. If you kill an enemy, another will immediately come looking for you. Remember, they are not stupid and, since they carry a machine gun as well, they will shoot at you as soon as they come within range.

Some additional features: You lose a man either by being shot or by running out of time. With each level the enemy action is faster, there are more bottles to be picked up, and the enemy gangsters will chase you more precisely and relentlessly. There can be some nasty shoot outs between you and any intervening bottles! You can shoot bottles out of the way but there is no score for spilt liquor! A high score is incorporated and, at the end of the game, options appear set at the previously selected figures.

The game features a very colourful main screen (10 colours) obtained by prolific use of Display List Interrupts initialised in machine code. It is essential to type in the title page in inverse video where shown in order to get the DLI cycling of colours there.

Background sound during the game is achieved by means of more machine code operating as a Vertical Blank Interrupt routine and great care should be taken in ensuring that the program is correctly typed in order to avoid crashing the system. The safest course of action is to SAVE the program before running it.

There are many variables in the program, thus allowing it to fit in 16K. It should be noted that O=0 and that this alone saves approximately 900 bytes of memory! The program will probably still work in 16K if the occasional 0 (zero) is typed instead of 0 but careful attention should be paid to this point.

There is a very smooth transition from the `READY' prompt to the main screen achieved through page-flipping.

When RUN the screen will go blank for about 6 seconds which is very fast considering that initialisation consists of the transfer (in machine code) of half a character set from ROM to RAM, redefinition of characters, setting up of a lot of variables and the implementation of multiple DLI/VBI routines.

Enough reading! Get that liquor and be prepared for a shoot-out!

AtariLister - requires Java

MAIN VARIABLES

B      50 points character

BO     Bottle shape

CL     Clear floor check

DL     Beginning of display list

E      Door exit screen display

EL     Floor colouring determinant

G      Enemy gangster screen position

GB     Character behind enemy gangster

GC     Enemy gangster climbing

GD     Enemy gangster vertical position

GK     Enemy gangster killed?

GL     Enemy gangster facing left

GR     Enemy gangster facing right

GS     Enemy gangster's shape

HI     High score

I1     Low memory DLI pointer

I2     High memory DLI pointer

IE     Interrupt request enable location

L(     Level for each player

L      Ladder shape section

LE     Level

LM     Left margin of screen

4ctbM( Number of men each player

ML$    Machine language for transfer of character set to RAM

MV     Background music/sound volume

NP     Number of players

P      Players screen position

PB     Character behind player

PC     Player colour

PD     Players vertical position

PL     Player shape facing left

PR     Player shape facing right

PS     Player's shape

RM     Right margin of screen

S(     Score(s)

S      Joystick

SO     Setcolor 0

S1     Setcolor 1

S2     Setcolor 2

S3     Setcolor 3

S4     Setcolor 4

SC     ANTIC enable/disable

T      Time

V0     Voice 0 distortion location 

W      First screen display location

WA     Wall shape

X      Move of player

XT(    Extra player

Y      Move of enemy gangster

top