FLASH ATTACK 64

Adaptation of the 1980 multi-machine game “Flash Attack” for the Commodore PET. See the Flash Attack Page

Since I had enjoyed Flash Attack so much on the PET, I didn't want to leave it behind when I moved to the 64, by that time I felt I had enough knowledge of BASIC and had enough Assembly Language savvyto pull off making a decent adaptation.

The two key parts in the game are the communications and the displays. Fortunately the November 198 BYTE magazine gave a great of example of how the cable communicates with BASIC and ML code. As far as the windows I did my own thing, I remember hand assembling the code on paper and then keying it into Supermon to see what would happen, the first couple tries I got the 'stop' value wrong and had two windows continue down the screen and into upper memory into the I/O chips where it locked up the computer then try again (power down, re-load supermon, then the window ML, examine code, tweak it a bit, save the ML, exit to BASIC and try the SYSs again…) Before I started on Flash Attack I played a bit with my new window routine, first making a 2-player surround game and then later to my 64 version of 1 player light cycles.

Sometime around this point one of my friends from high school moved into a nearby apartment and we both worked on Light Cycles, I was working on bit by bit, adding ML, programming features determining how to efficiently manage the game play, he has more of a direct hacker's approach of getting it to work regardless of how it looks. Somewhere we ended up with two versions, my 'I can do it demo' (one player), and his two player game. He added a few extra features, (like stereo sound via a second SID chip), I was still working on the ML (by that time I had in my mind a six player version so I was trying to make it more efficient for multiple opponents) Tweaking the window routine for faster refreshing and tank movement, as well as an all ML landscape generator.

Some of the improvements shared by either version is the use of Extended background color mode, which let's a program have a choice of one of four background colors per character cell but the sacrifice for this mode is that you can only use a quarter of the standard set (the first 64 characters, the upper 2 bits for a character on screen now indicates which background color to use). Once you subtract the necessaries (blank space, a-z, 0-9, - and :) you are down to 25 characters, but with background color mode, you can get a bit more mileage out of the same characters (with the green background it is a mine on the screen, with a black background, it is a mine in a status window). Another display is a tracking window assuming you could see where your missile was flying over, you could even fly one over an area for reconnaissance (at the expense of a non-replenishable missile). Also a targeting computer (in the original version you had to mentally -or with a calculator- convert rectangular to polar coordinates to target the missile), this computer would immediately target the missile on the tank's position (assuming you are near the opponent base, you would target the missile and then adjust the target coordinates to re-target the missile to the enemy base)

⇐ Here is Jeff's BASIC/ML first generation written (much of the ML by me) Does play, but only in two-player mode, note the missile radius is huge compared to the original, and with the targeting option it can make the game too easy.

I think we took a break at that point and then each of us got more involved in the Commodore BBS scene (I had the Silicon Realms, he had Byte's Mess BBS).

Here is a mock-up picture of a future version. though the general display and font/colors are accurate, the idea of adding a river still needs testing.

Six Player Flash Attack (M/L window display has been coded with this in mind, needs more ML and an alternative multi-node interface (see above).

Last modified:: 2020/11/22 08:55
   
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International