I had been writing many games in BASIC
since my parents bought me my first computer, a 16K TRS-80 Model 1 with Level
II BASIC. Once mastering BASIC, I had begun learning assembly language but
didn't feel confident yet that I could write a complete assembly language
game in it so I decided to start with a hybrid.
Stellar Odyssey was my first commercial programming effort. It was a combined
graphic and text adventure written in BASIC with machine language subroutines
for the redrawing of the map background and the generation of simple sound
effects. Even though I preferred arcade style games, I chose to do an adventure
first because I knew that BASIC was not fast enough to do a commercial grade
arcade game .
Original Story Pretext
"Cruising through the tranquility of space, you are awoken prematurely
from suspended animation by the ship's on-board computer. Trouble lurks for
the ship has stopped, power is low and the rest of the crew's tubes haven't
opened yet. You must explore the craft, being cautious of any dangers
that may exist so as to bring your mission back in control."
I developed a simple command interpreter with a limited vocabulary of basic
verbs. These verbs were accessed by the single press of the first letter.
The following noun if needed, would be typed in full.
||SPRINT , WALK , REST , TURN
||INVENTORY , GET , MOVE , DROP , PULL , BOOT , EXAMINE , KEY
||ATTACK , CONVERSE
For example, pressing 'G' would bring up the verb 'GET'. Then a noun such
as 'PISTOL' would be typed in full.
Most of the adventure games at the time were all text only with some from
'MED Systems' such as 'Deathmaze 5000' and 'Asylum' utilizing a 3D vector
environment. Several role playing games from 'Automated Simulations' (name
changed to Epyx) such as 'Rescue at Rigel' and 'Invasion Orion' used a
graphical overview perspective. I liked that idea but wanted to incorporate
the text entry element of a traditional adventure game. I wanted the game
to have the look of an arcade game but the play of an adventure.
When the command SPRINT is issued, your character actually walks, fully animated
in monochrome low res graphics to the next 'square'. Likewise when you fire,
your character actually points his pistol and fires a bullet across the room!
The entire program was created using a cassette tape based TRS-80 Model 1
with 16K of RAM. I couldn't afford a disk drive so most of my early games
were developed this way. The memory of 16K of RAM was tight and what I did
was to create a loader program written in BASIC that would allocate some
memory and install the machine language subroutines into a high area of memory.
Then it would load up and run the main BASIC program. The BASIC code was
also very tight. To squeeze as much space and speed as possible, I had mastered
the art of packing as many instructions as possible per line number
(multi-statement lines). It was difficult for anyone to read my program
listing but somehow I knew where everything was.
I had marketed my game under the banner name of 'Supersoft Software' which
I later renamed and officially registerd as 'Fun Division'. I had to draw
up my own package artwork and duplicate my own tapes, write my own instruction
sheets (printed on a small Tandy plotter printer) and sold to anyone I could
via user groups and small adverts in local TRS-80 magazines. It sold for
$10 per package and I still have my sales receipt books with my first software
sale dated December 8, 1982 to Erik Salko for a copy of Stellar
Yes, those were the days and little did I know that this program was to be
the first of many games to follow!