bonus game
OMNIVENTURE
Do-It-Yourself Graphic Adventure
by JERRY A. LeMAITRE
A graphic adventure/arcade game in three versions-plus instructions
for easily customizing the game even more. The program runs on all
Atari computers of any memory configuration. Antic Disk subscribers
RUN "D:OMNIVENT.BAS"
The prefix omni means, roughly, "all-encompassing." Omniventure is a
fast arcade/adventure game written completely in BASIC. You can easily
modify it into many different themes that you choose. It's a great
practice tool for beginning graphics adventure programmers.
Listing 1 is "Dinoventure." Type it in, check it with
TYPO, and SAVE a backup copy or two.
RUN the program and you'll see your player, a small dancing
figure that you can move in eight directions with a joystick. Your
path through the randomly-created maze is blocked by two types of obstacles-enemies
and walls. There are two kinds of enemies, placed randomly about
the playfield. The number of enemies depends on the skill level at which
you're playing. To defend yourself, you'll find weapons in various
places about the maze. Pick one up by passing over it. If you're
carrying a weapon and standing directly beside an enemy, press the fire
button to use the weapon (each can only be used once!) and kill the enemy.
You need not aim the joystick.
You can also pick up "tools" throughout the maze.
Each of these can be used once to break through a "wall" (or whatever your
non-moving obstacles may be), similarly to destroying an enemy with a weapon.
Lastly, but not least, are the treasures. Pick up
as many of these as you can. They are also randomly placed, and the
number depends on the skill level.
You can only carry one item (excluding treasure) at a
time. Whenever you want to go to another screen, touch the wiggling
'space warp' line at the top of the screen. Your goal is to pick
up the highest amount of treasure points.
You start with three players, with figures representing
the number of remaining players displayed in the upper right corner.
DRAGOVENTURE AND ROBOVENTURE
Listing 1, the main program, is already set up for Dinoventure.
Listings 2 and 3 provide alternate data for the games-Dragoventure and
Roboventure. Type them in and LIST them to disk or cassette.
To convert Dinoventure, first LOAD the main program, then ENTER Listing
2 or 3. Antic Disk subscribers LOAD"D:OMNIVENT. BAS", then ENTER"D:DRAGVENT.LST"
or ENTER"D:ROBOVENT.LST". If you want to speed up the game, you can get
rid of a delay loop by changing line 500 to:
500 CH=CH+1:POKE 756,CH(CH):
IF CH=1 THEN CH=-1.
CUSTOMIZING OMNIVENTURE
Here's a step-by-step method for creating your own Omniventure games.
1. Think up a title and a theme for your game, and determine
what type of obstacles, enemies, weapons, tools, and treasures are best
suited for your theme.
2. Change the REM statements in lines 2 and 3 to show
your name and the new title.
3. Change line 9010. Make A$ your weapon's name, B$ the
tool's name, and C$ your prefix for "-venture" to make up the title.
NOTE: the length of both A$ and B$ should-equal nine -pad with spaces if
necessary. Also, C$ shouldn't contain more than seven characters.
4. See Figure 1 to find which lines change for the title
screen.
5. Change the numbers in line 10030 to represent the colors
you want. Here's how: a) choose the number you want from Figure 2. b) Add
a number between 0 and 15 for brightness (0=very dark, 15=very light).
c) Figure 3 shows which color registers are used for the game's various
elements. Find the corresponding POKE in line 10030, then change
the second number (the one after the comma) to the one you've selected.
6. Draw your figures on graph paper so they fit into an
eight-by-eight square, then calculate the eight data values for each character.
For each row, add up the values of the columns containing filled-in squares
(the bits are "on"). See Figure 4. Also see "Character Graphics"
(Antic, February 1984) for further information on developing custom characters.
Design two images or 'frames' each for enemies and treasures. This
creates a sort of animation when the program alternates between the two
images.
7. Use Figure 5 to place the data from step 6 into the
program. In lines 9230-9250, place data after the first number as
shown in Figure 5.
PROGRAM TAKE-APART
100- 300 310- 440 500 510- 570 6000- 6200 9000- 9020 9030- 9266 9270 9300- 9390 10000- 10110 |
Move man and adjust for carrying an object Check for fire button and use object being carried Delay loop and alternate character frames Move antagonists Death routine Title screen and dimension strings and variables Initialize character set Set movement variables Welcome screen Draw playfield and position characters |
(note: I did cheat a bit by using a Machine-Language subroutine to copy the character sets but it doesn't affect game play.)
Jerry A. LeMaitre is a high school student in Collingwood, Ontario. He is currently starting his own business selling software and computer accessories.
|
|
|
|
|