The February 1985 issue of Electronic Games had a positive review of my first console game. Click here to read it. I think the author of the article had quite an active imagination since he describes animation like spinning Zeppelin propellors that I didn't actually achieve with the few pixels there were to play with!
Multi-screen action and originality are Aquattack's strong suits. It's packed full of excitement and gaming fun, offering four different scenarios per level of difficulty. Such diversity really puts games through their paces! ... The graphics are nothing short of spectacular... It's worth the effort!
The game was programmed on a repurposed TRS-80 Model II, with great big 8 inch floppies, hand-soldered break-out boards that jacked the Coleco's Z80 into a Textronix logic analyzer, custom EPROM programmers, and a lot of office hijinks and practical jokes. We worked out some pretty unconventional uses for rocket igniters and ketchup packets.
Aquattack was the first side scrolling shooter on the Colecovision. In fact, at the time there were so few side scrolling shooters that I had to think about whether the player should travel towards the right or to the left. Scramble and Zaxxon provided inspiration, but most other games at the time were vertical scrollers. Gradius came out later in 1985 and established how side scrolling shmups should go, definitively, too late for Aquattack though. Of course if I had been paying attention to cinema at that point I would've known the western convention of travel left to right generally indicates going, and travelling right to left generally indicates coming back.
Ultimately, I picked travelling towards the left because I could scroll the playfield with fewer CPU instructions than if I chose travelling to the right, which meant I could fit a bit more game play into the tiny ROM. Parsimonious cycle counting not-withstanding, I did sneak a couple of easter eggs into the cartridge, including an alternative soundtrack - Lara's theme from Doctor Zhivago. I think I snuck it into the high nibbles of some initialization data somewhere.
Aquattack was the only pixel-smooth scrolling game ever shipped on the Colecovision. We rolled out our games at CES in Las Vegas in 1984. At that CES, I think we might have been the only independent Colecovision game developer, which made us a bit proud. The Coleco engineers stopped by to peer at my game, because smooth background scrolling was supposed to be impossible - I got a kick out of their speculations.
The trick I used was to rewrite the font making up the playfield instead of the playfield itself. Scrolling a single wall piece for example, would scroll all wallpieces on the screen simultaneously. Communicating to video memory was really slow, so updating a few font characters to move the whole screen was way faster than rewriting blocks of memory to redraw the screen in a more obvious way. I overcame a number of hardware limitations with that trick. There are more helicopters in the screen shot below than there were sprites. That was accomplished by rewriting a few lines of a couple of font characters over and over again. Sprites only had a single color, but I tricked up two or three by allocating the sprites carefully per scan line, and switching tables during horizontal retrace. Most Coleco games' sprites flicker pretty badly due to that sort of multiplexing, but I had a pretty slick manager that kept it from ever happening - I also tweaked the game play to play nicely with the limitations of my algorithm.
I was really reminded of the level of fun and invention that went into an old 8-bit game during the PS2 era; the restrictions and foibles of the VU in particular were very reminiscent of the mindset you had to get into make these boxes go. It's quite a different world when as a programmer or designer you can hold the whole machine in your mind and imagine what you can make it do. I'm very jazzed by what I see going on with new small systems like iOS, because the creative sandbox is very much like what we enjoyed way back when.
No comments:
Post a Comment