Flash Attack!

Flash Attack on a PETOne of the original microcomputer multi-machine games.

Written for the Commodore PET in 1980 by Ken Wasserman and Tim Stryker of Mach 1 Software, Flash Attack is one of the first and still one of my favorite muti-machine microcomputer games.

My brother and I intially paid $15.00 for the program back in 1980. The package included a cassette tape of the game, and a 'manual' consisting of a few photocopied dot-matrix pages. The (required for two-player game) cable was selling for $15 to $20, we built ours based on the diagram in the December 1980 BYTE magazine article. Their price list also listed other multi machine games such as backgammon, stratego, black box, etc.

The game was written to run on one or two original or upgrade ROM PETS with 8k or more of RAM memory and supports the popular CB2 sound generation. The connection between the computers is accomplished with a special cable.

The “standalone” mode in the game does not provide you with much competition but is intended and useful for solo practice. In order to truly appreciate the game you will need two PETs near each other.

How Flash Attack is Played

Typical two-PET Flash Attack setup Flash Attack Opening Screen - edited for spaceAfter connecting the PETs together with the Flash Cable, you turn them on, LOAD and RUN Flash Attack program off of the cassette on both machines and reviewing the key commands screen, you would then select the either a single or multi-machine game. This setting will stay till you end the game session (which will reset the computers). On a two player game, once communication has been established the computers create/transmit a common battleground (which takes a couple of seconds) and then the game begins.

The battleground is a 40 x 60 character terrain comprised of open terrain, trees, mountains, your 'base' and your opponents 'base'. The object of the game is to destroy your opponents base before he destroys yours. To do this you have five remote-controlled tank 'units' (only one deployed per side at any given time) which assist you in exploring, attacking, and constructing defenses; your base gun, used for defense; and three ICBM missiles (targeted by polar coordinates originating from your base).

[Screen Image from Player A]Player A

The game screen appears with you in your base (the four block diamond on the left 'window' of the game screen), in the other 'window' is your current tank unit, also starting at your base.

Below the base window is your base data (in rectangular coordinates, 0,0 is the upper left-hand corner of the battlefield), ICBM targeting settings, and your non-replenishable resources (ICBMs and TANK UNITS). To the left of the base window is an arming indicator for the base's gun.

Below the tank window is the current Tank/Game condition which reads GREEN when the tank is uninjured, AMBER when tank has suffered minor damage, RED when the tank has suffered major (operational) damage, LOUSY when your five tanks have been lost, and SUPREME or DEFUNCT depending on the final outcome of a game. To the right of the window is the tank arming indicator, and below that the current tank coordiantes. Below those are the replenishable tank supplies, land MINES (dropped with 'M') which are visible to your base and tanks *but not to your enemy*, tank gun shells (armed with 'SPACE'), phony base walls (dropped with 'W', for constructing decoy bases), and your tank's gas gauge. Tank movement and tank/base gun firing direction is done though the nyumeric keypad where 5 is center and the directions are the numbers 1,2,3,4,6,7,8, and 9 in relation to the 5 key, (i.e. up is '8' and down and to the left is '1'), The 5 key is a valid direction so that the base can destroy infiltrating tanks or you can 'kill-off' your own tank due to it being out of fuel.

The tank starts off with full resources and in full repair, every movement lowers your fuel by one, when you run out of fuel your tank cannot move. As you fire the tank's gun, lay down mines and/or walls those resources will deplete. Damage done to your tank by yours or your enemies tank/base-fire or mines can reduce your movement effiecincy when the tank hits condition RED (gas is decreased for each attempt to move, but there is a 50% chance at moving). ICBMs can destroy tanks in a single shot.

To refuel/repair your tank, you return to your base and press the 'CLR/HOME' key your tank will be as good as new with a full tank and max supplies, you can refuel infinitely as long as you have tanks.

[Screen Image from Player B]Player B

In this example the first thing a player does is lay mines around the perimeter of his/her base usually doing small stretches and resupplying the tank as mine supplies empty. Next they start to search for the enemy's base, along the way laying down a decoy base or two. During the travels one may run across the opoonent's base, but usually they will trip over one of the opponents mines first (two mines will take out a fully repaired tank). There is also the possibility of encoutering an opponents tank, which usually results in a fire fight between units (you don't want to lead them back to base) or maybe you trick them through a mine field.

In the journey you hit a mine out of nowhere (screen B), and above your tank (in the tank window) is the enemy, the sound of the mine exploding has him intently staring at his screen and he spots you in his tank window (screen A), he curses as he zips down and you land a couple shots on him, but he deals a fatal blow to your tank (being in condition RED you were an easy target). Your second tank now is ready back at your base, (you hear him feverishly tapping away at the keyboard, either in heated search for you or adding to his mine defenses.) You remember the general location of the encounter, and scooting through your mine fields you venture back, you hear a blast through the speaker. Nothing in your base window, it could be a mine out of your visual range or your opponent hitting one of his own mines, regardless he is limping back to base now. You start firing foward and moving (where your shell lands, 3 spaces in front of you, would destroy any potential mines.)you see a fragment of base wall not to far up and to the left, hoping it is his you plow toward it, laying mines as you go (a good way to thart your enemy). You glance at the coordinates.

*Bang* a tank appears in the center of the base and jumps out to blow you away (he probably bew up his own tank to get to base ASAP), you take a hit and while dodging your mines, you hit one of his. And you are one more tank down, but he seems to have hit one of your mines, and he curses at you.

Comparing coordiates you guestimate and enter angle and range for an ICBM shot, hitting 'I' the game pauses as the screech of the ICBM flys toward the destination, the sound of multiple warheads impacting, but no victory. You zip back out and find one of your mines missing, you know now he was there, so you set up a second wall and press on, he encounters you, this time you won with shots and him hitting your mines. You continue on and find that many of the mines you left are now missng, that ICBM was close… As you hear him firing upon your mine field, you fall back and adjust the ICBM coordinates and fire again. This time he groans as the missles hit (his) home, and his condition reads DEFUNCT, while yours says SUPREME.

Game over you get a look at the playfield and see where the bases really were as well as where you BOTH laid mines. You chuckle on how close you were to each other and he say's it won't be easy next time. And another game starts….

The Next Generation?

first Flash Attack 64 prototypeI and a friend (Jeff Wood) had been at work on and off for several years on a 64 version of Flash Attack. This screen is from the fully functioning beta we hacked together An early WORKING hybrid compiled BASIC/ML version was written by myself and Jeff Wood a few years back, but it is far from finished, it has all of the original features (though much in compiled BASIC) as well as auto-targeting and missile tracking, alot need to be optimised as the speed of the p-code is not near as fast as the PET version (which was written with a Forth style language for the PET.) With the 64 I utilized the custom character display with the extended background color mode (extended background color mode lets you have one of four background colors per character, but limits the set to 64 characters - EBCM is a real good way to test the thouroughness of a screen grabber/printer or 64 emulator). One of the drawbacks in this 64 version is the keyboard layout, We had to move the direction keys to center around the 'L' key (keys: IOP KL: ,./) I hope one day to make mine compatible with the KEYPAD 64 utility for the 128 (which lets you use the numeric keypad on the 128 in 64 mode, a great utility if you have a 128!).

FA 64: Wood/Anderson versionMy original intent was to make one interfacable to the PET, but I have yet to hack out the protocol for Flash Attack V1. The second idea is an enhanced version with a larger battlefield, or better yet, a scalable version that can be ported along the Commodore 8-bit line with variable requirements so VICs to 128s can run it. Last but not least would be a more than two computer version (I have been coding towards a limit of 6), this instead would utilize the high-speed serial ports to do a round-robin communication. (check out the March 1988 Transactor article on Interfacing Two 64s. -vol8:iss5:pg31-) and my ring networking notes.

Other additions I have already written are an improved ML window displayer/handler and comm routines. Adding rivers (where mines and walls won't work), a less accurate auto targeting option (which targets ICBM too well to your current tank position), and other stuff.

So, you ask, when will it be done?

Your guess is as good as mine. (=))

NOTES

Further Research:

  • Flash Attack was not the earliest multi-machine game, there is also Tele-Pong for the Apple where users could play an exciting game of Pong via modem connection - this was back in 1978. I think Flash Attack was a better example of the benefits of multi-machine gaming (info hidden from other players, strategy and speed.)
  • The article: “Multimachine Games” written by Ken Wasserman and Tim Stryker can be found on page 24 of the December 1980 BTYE Magazine. The article describes Flash Attack, as well as the programming/interfacing priniples of the PET-to-PET cable. I have written notes on using the cable with the VIC, 64/128 and Plus/4, you can find them here.
  • There were other multi-PET games produced by Mach II: Backgammon, Statego, and Black-Box. I recently received the tape and will have them in the files section soon.
  • Tim Stryker - Former President of Galaticom Inc., had written a newer version of Flash Attack (V3.0) for the Galacticomm multi-user BBS environment; it looks like each player (more then two players I think are allowed) can have up to four tanks out per base, it offers added weapons and defenses, as well as a larger battlefield (Jeff sent me a screenshot, see below…)
  • I was saddened to discover that the author of Flash Attack, Tim Stryker, passed away in August 1996.

Running Flash Attack on newer 4.0 ROM PETS:

A couple years back I was successful in making a functioning 4.0 ROM version of Flash Attack v1.0, but then I discovered that the cassette buffers' RAM is utilized for the battlefield map, and in the 4.0 ROMs the second cassette buffer space has 'active' DOS flags and present a flawed battlefield and thus unreliable game play. If interested the 4.0 version is also in the files section.

Just about the same time as Flash Attack - a game called “Commbat” was published through Adventure International for the Atari 400/800 and TRS-80. Many of the features match Flash Attack, but the game was designed for modem play and is cross compatible for play between platforms.

I contacted Scott Adams (formerly Mr. Adventure International, not the Dilbert Guy), he recalls comm-bat but didn't have any further details.

Flash Attack 3Screenshot of Galaticomm BBS's Flash Attack 3.0 (click to see full detail):

Last modified: 2011/04/17 16:50
   
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported