1994-05-30

Safari Sam is a platform game I developed for the Sam Coupé, sometime in 1994 — I didn’t have
the optional system clock for the Coupé so there are no timestamps on all except one file,
but the copyright message says a year earlier — The game is a standard platformer where you
control ‘Sam’ as he makes his way home through the tropics after an untimely plane crash.
It was built using the Sam Coupé Arcade Development System (SCADS) and written in Basic with
the SCADS extensions.

The following files are available for Safari Sam —

Disk Image (.DSK) to run on Sam Coupé or Sim Coupé

Extracted files in .ZIP format

Converted files including images + BASIC text



Story

The story of Safari Sam. I can’t remember whether it was deliberately awful.

Sam woke at about 12 o’clock, he was supposed to be going to the Bermudas for his holidays and so he got himself packed and set off in the general direction of the airport.

After taking a few ‘short-cuts’ and arriving 3 hours late he expected to be prodded away and be made to buy a new ticket. But as he walked into the terminal he heard over the intercom that his plane was just arriving, and was late due to engine trouble.

He was rushed through the security gates and then put on the plane. As far as luxury goes this plane wasn’t what you’d call very good, but it flew, for a while anyway.

‘Last Chance Airlines’ had always had a bad reputation but Sam being the sort of trusting (stupid) person he was decided he would put his life in their hands.

The engine roared and rattled into action then cut out with a bang. A few hours passed and then the engine started going again.

Sam was sat next to a small child of about three who insisted on showing Sam his dead beetle collection, but they were all the same which made it that bit more depressing.

As they flew over the sea the child started to count the waves and insisted that Sam should help…

“….10232…..10233…” the counting went on, and on, and on, until the child went to sleep. Sam took to reading the In-Flight magazine…

‘Arts, Crafts, Explosives’ was the rather ingenious title….Inside were things that had been designed to tranquilise any scared people who were on their first flight, using a special technique known as boredom..

…Then came the bang, the engine stopped and the plane began to slow down, then stop, then fall extremely fast towards the floor.

The floor grew closer and closer and closer and then the small child woke up..Totally oblivious to what was happening he started to count the trees that they were about hit..

Sam being a rational person began to scream, clutch his head, and beg for mercy and things…

Then as the plane his the first bunch of trees the plane disintigrated and Sam was left there falling in his chair…

Crunch! Sam (and his chair) hit a branch, the chair continued plummeting downwards while Sam sort of sprung up & down & up & down constantly…

Sam then began to fall towards the floor and he hit it with a whimpering sound that sounded sort of like “Awooouhahooow”.

When Sam came round it was night time, he knew his time had come, his time to fight for justice to lay down his life to save those of others, to find a gun…

“Aha” he said as a gun materialised in a sort of Star-Trekky manner.

He took the gun and set off on his Journey Home.

The story has no bearing on any of the gameplay,
except for the enemies that you face on the way — which include monkeys, parrots, tribesmen
and hunters. Being an ecological fellow, you lose points if you kill any animals.
The instructions are reproduced from the game below, and are also available from the main menu.

Instructions

Controls

To have even the slightest chance of completing this game you should know the following things.
As you know you can set the keys from the Options menu, but also at any point in the game you can also change your keys:

F1 - Joystick 1

F2 - Cursors, SYMBOL

F3 - Joystick 2

F4 - Q,A,O,P, SPACE

Also during the game pressing F0 will display the Quick-Guide help which shows:

Points Scored for killing things.

The damage taken from certain objects.

The key changing F keys.

How to die

There are 2 ways to die:

Running out of energy. As soon as your energy level reaches 0 you will die.

Falling Off The Bottom Of the Screen. By doing this you will die instantly.

In both cases you will return to the first level of the game.

Completing the Game

When you finish the 3rd level you will have completed the game, you may get a chance to enter your name in the scoreboard and the you will restart on level one at a higher difficulty setting.

Sam has a great deal of respect and stuff to animals and so if you kill one you will lose points.
Shooting your food is alright - It cannot be destroyed.
On each level there is a key that needs to be collected to exit the level. If you miss it you will have to go all the way back to get it.

Walkthrough

The game starts with a short credit roll mostly featuring me. There are also credits for Derek
Morgan, who ran the Sam Public Domain Library, and came up with the concept for the game; and
Rik Moore who wrote the music. The software is released under “Metropolis Software” which
was the name I was giving myself back in 1994.

The main menu follows the credit roll, which offers options to Start Game or change Options.
The game options allow sound and music to be turned on/off, controls to be changed (4 alternatives)
and the difficulty to be set (changing the damage done by enemies). The instructions, credits and
story are all reproduced in this page.



The pre-game splash screen, showing Sam in a suit perched on a branch. These screens were generated using
freely available clipart (probably from an early version of Microsoft Works), with adjusted
colours and addition of the background/text. I’m not sure what this clipart would be used for other
than a game about a businessman in the jungle.

The gameplay involves moving right while shooting things. Ammo is limited and must be collected
through the game and there is health to pick up in the form of pizza and cupcakes. There is also
some kind of diamond that gets you extra points.

All the other characters in the game are trying to kill you, and you can kill them by
shooting them. However, shooting animals is not nice and you lose points.

Rolling barrels and cupcakes. I’ve never been on safari.

Reaching the end of level with the key turns the flag green and completes the level.
Here I’ve not picked up the key (the zero in the top right), not sure if that’s a bug.

Unfortunately, a bug in the version I was able to recover makes loading of level 2 fail.
After some fiddling — and head scratching trying to remember Sam BASIC — I got it going.

But not quite. The following screenshot is supposed to be from the beginning of level 2,
but shows the level 1 platform placement. The sprites are landing in the right place,
and then falling to the bottom of the screen. Something to debug on a rainy day.

The complete set of splash screens are shown below. The PNG files were extracted as screenshows
from running within Sim Coupé, as I’ve not found a reliable way to convert the images
directly from the original files.

Code

The source for the game is shown below, as extracted from the disk — LLIST to file, using Sim Coupé.
The code requires the SCADS system files and the game data files to actually run. Note that
SCADS extensions to BASIC are shown with a tilde (~) in front of the keyword.

autoSAM

loader

level1

level2

level3

endit

10 LET diff=PEEK 458752
15 LET dead=PEEK 458755
20 LOAD "high" DATA high$
30 palblack:~INIT: PAUSE 2
35 IF dead=1 THEN palblack:~INIT: GO TO 80
40 ~PANEL "s4"
50 fade 1: PAUSE :fade 2:palblack:~INIT
55 IF diff=10 THEN GO TO 80
60 LET diff=diff+1
70 POKE 458752,diff
80 LET score$=""
90 FOR a=1 TO 4: LET score$=score$+STR$ PEEK (458747+a): NEXT a
100 LET score=VAL score$
110 LET high=VAL high$(31-3 TO 31)
112 IF high>score THEN GO TO 218
113 ~MAINSCR:fade 1:~VIEW:fade 1: PAUSE 2
115 ~PANEL "s6":fade 1
120 LET name$=""
121 ~TEXTA 10,110,high$
125 ~TEXTA 10,100," "+score$:~VIEW
130 DO
140 GET a$
145 IF CODE a$=13 THEN GO TO 215
150 IF CODE a$=12 AND LEN name$>0 THEN LET

Show more