game of the month
by Jean Goulet
You'll feel like Spiderman as you shoot wires to zap your creature around the screen, eating dots and escaping the deadly touch of enemies. This abstract one-player arcade game has six screens and can be customized with a minimum of programming. The BASIC program works on all Atari compute's of any memory size, with disk or cassette.
Your joystick controls a creature we'll call Wireball. It looks sort of like a surrealistic ladybug. Wireball must eat all the green spheres on the screen while avoiding two enemies. There's an enemy shaped like a squashed dollar sign that goes bouncing all over. It's harmless except when Wireball accidentally glides a wire right into it at high speed.
The other opponent looks like R2-D2 disguised as a fireplug. It homes in on Wireball's position in implacable zombie style. At the higher-level screens, this foe chases Wireball a lot faster. Therefore, it will become essential to rely on Wireball's only mode of fast transportation. . .wire gliding.
A wire automatically whips itself out of Wireball if there's a visible object in the direction you're pointing the joystick. You want to speed Wireball around by wire whenever possible, because you get extra points for wire travel distance.
When you choose a joystick direction, the program searches along the path from your present position. If you are next to any object, you will move onto that space and enjoy (or suffer) the consequences. Otherwise, the program will continue to search along that path until it either finds something in the way, or reaches the edge of the screen. The wire then unfurls and Wireball scoots onto the object. If nothing is found in the path, there will be a delay before you move over one space. If you land on a sphere, it will disintegrate and increase your score. If you attempt to take over an enemy's space, Wireball will fail and die.
The score is updated only when you complete a level or die. The completion of a level will net you 500 points and increase your supply of Wireball lives, which is displayed at the top left. Each level presents a different layout, and the follower enemy speeds up. In many cases, your only way out of a tight situation will be with the wire. You'll find it necessary to develop a strategy which allows you to use the wire as often as possible.
The game wouldn't be complete if you never had a chance for revenge. At random intervals, a green sphere will glow and pulsate. You can temporarily destroy your opponents if you eat the pulsating sphere before it stops glowing.
Don't count on a pulsating sphere to appear when you're near the end of a level and few spheres are left. The more spheres there are on the screen, the more likely that a sphere will start to glow. if you eat the pulsating sphere in time, the screen will turn red and a high-pitched sound will be heard. Use the wire to reach faraway enemies quickly. When the sound ends, the screen goes back to black and Wireball loses all destructive powers.
Type in Listing 1, check it with TYPO II and SAVE a copy before you RUN it. However, lines 2270 and 2360 could be a real headache to type correctly because they contain a slew of special characters. To help you type these lines perfectly on your first try, I wrote a short program which prints out these lines for you.
So when you type Wireball, you can omit lines 2270 and 2360 if you wish. Then type Listing 2 with the main program still in memory. Type GOTO 3000, and line 2270 will be printed. Place the cursor over that line, then press [RETURN), and that line will replace the previous contents of line 2270. Now type GOTO 3100 to print out line 2360, and make it part of the program by putting the cursor on it and pressing [RETURN] once again. You can now delete lines greater than 3000, but this isn't necessary.
You can easily modify any of the screen layouts or add more screens to the program. If you take a look at the end of the program, you'll see six blocks of PLOT and DRAWTO statements. Each block is isolated between a line like REM SCREEN x and a RETURN statement.
Line 2490 contains an ON SCREEN GOSUB statement followed by six numbers. Each number represents the line number at which a screen is drawn. To make a seventh screen, add the beginning line number of your screen layout subroutine to the list of six numbers. Then add your subroutine to the end of the program, making sure to end it with a [RETURN].
When constructing your screen, keep your X coordinates between 1 and 38, and keep Y values within 1 and 22. Memory requirements for screen layouts are very small, so you can add as many custom screens as you want.
Jean Goulet is from Quebec and Wireball is his first program in Antic
Listing 1: WIREBALL.BAS Download