James Hague's 8-bit games

Giant List archive, April 3, 2004

I've run reminiscences from various 8-bit authors, and put together the interviews for Halcyon Days, but it occurred to me that I never talked about my own 8-bit game design days. I'll justify my pretentiousness with the excuse that this is from the point of view of someone who wrote "type them in from a program listing" games for then popular home computer magazines.

Early Experiments

The day my dad bought an Atari 800 I started to learn to program with the intent of writing games. I had the BASIC tutorial book and the Atari BASIC reference manual, and that was it. I remember that I was held up for at least a month by not realizing that the first joystick was read with STICK(0) and not STICK(1). I didn't understand color registers, so I used the default blue/pink/orange/green hues. Essentially I didn't know anything; I was truly starting from square one.

Over the next six months, starting in the late summer of 1982, I wrote four completely forgettable games: Solar Challenge, Machine Gunner, Fast Fingers, and Galactic Garbage. In fact, there are only two interesting things I can say about them. First, they pitted the player against themselves, not AI-controlled opponents. Second, they were each written entirely in one sitting. I only had a tape drive, and it was unreliable to re-record over previously used tape. After mulling a concept over in my head, I sat down for three or four hours, then saved out the final game to tape, never touching the code again.

Fast Cash

For my next birthday, in April 1983, I got two Atari programming books. With these I spent several months learning about Player/Missile graphics (sprites) and display lists and redefined character sets and all that good Atari-specific stuff. That summer I tried to pull it all together into a game, Circuit War, but it was too much for me at the time, and certainly more than I could attempt without a disk drive. Fortunately, my dad dropped $500 for an 810 disk drive not too much later.

Out of frustration, I rewound a bit. I don't know where I got the idea, but I put together one of those worm-eats-things-and-gets-longer games. I had played Atari's Surround, but not games like Snake Byte, so maybe I thought I was being original. I don't recall. I completely ignored the fancy graphics tricks I learned about and went with the standard Atari character set in text mode. Okay, this time I didn't stick to the default color set. The result was Fast Cash, my first non-embarrassing game. The end-of-level music was lifted from a program called Lottery in an issue of Atari Connection, written by Tom Hudson.

Electroids

Driven by the slick games printed in ANALOG Computing, I started learning 6502 machine language. I borrowed Kurt & Don Inman's Atari Assembler book from the library, and later got the oh-so-terrible Assembler/Editor cartridge. Then I spent the rest of 1983 figuring things out.

When 1984 rolled around, I started on a game to use everything I learned in the past year: Zoink. When I eventually gave it up, because it was taking over seven minutes to assemble the fragment of the game I had written, I had a complete screen with my own character set and horizontally split sprites for enemies. It was also not shaping up to be an interesting game.

In April, I received the much faster MAC/65 assembler cartridge for my birthday. I scrapped Zoink and started work on a new game. It was based around a shred of a play mechanic. The player jumped up for as long as the button was pressed, then fell when it was released. That was it. I didn't have any idea was the game was about.

Over the next four months I wrote this game, eventually adding little droplet creatures that could be attacked when in the air, but were dangerous when moving along ledges. I dubbed it The Electroids and submitted it to ANALOG with a sappy article. They rejected it, with suggestions for how to improve the game. Someone took the time to print out and annotate the source code, pointing out ways to optimize for size. This was eye opening for me, never having been concerned with optimization until that point. I made the changes, flashed it up a bit, and resubmitted the game in August. They bought it, bugs and all. I was paid $60 a page, capped at $360.

Bonk

Before Electroids was even accepted, I had an idea for another game. I envisioned a Berzerk-style open maze in which you were chased by creatures that moved in straight lines toward you. When they hit a wall in the maze, they would be stunned and thrown backward for a few seconds.

There's not much to say about Bonk. The development was smooth, and I don't recall any sticking points. I sold it to ANALOG in, I think, December 1984. Regrettably, I spent a lot of time getting the code right, then quickly threw together three levels. If I had spent more time on the levels, it would have been a better game. Bonk was the second game I had accepted by ANALOG, but it was the first to make it into print. Electroids showed up some months afterward.

Rockslide! (link)

Both Electroids and Bonk had taken roughly four months each. $360 for four months work? Plus Bonk was a lot of silent plugging away, and then everything was made or broken by the levels I came up with at the end. In that frame of mind, I decided to try to write an assembly language game as fast as I could. Over the two week Christmas break, late 1984 to early 1985, I wrote much of a game called Circuit War, no relation to the BASIC game I tried earlier. It wasn't turning out to be fun, but I had a first pass working before the break was over. I remember thinking that it took far too much time to add the little frills, like animated text introducing a level. This was using a line number-based editor to enter verbose 6502 assembly language, so this seems obvious in retrospect. I remember wanting to work on something simpler, something more direct.

Instead, I started on a new assembly language game I called Spring Into Action. The concept was really good, and though still an arcade game, it was more detailed and sophisticated than anything I had worked on. I independently rediscovered the concept of a state machine for player control. But work went painfully slowly. I took a detour and wrote an unoriginal Gravitar-inspired game for the Apple II called Galactic Cave. During some disk reorganizing, I accidentally formatted over it. Come the end of school in June, I still had a long way to go on Spring Into Action. In a fit of frustration, I deleted it.

Annoyed that I hadn't sold a game since Bonk, I decided to write something in BASIC. I came up with a design focused on one part of Sega's Pengo. It took only about two weeks from start to finish, and Antic bought it, to be published as a Game of the Month in 1986.

Uncle Henry's Nuclear Waste Dump (link)

I don't remember what I did for the rest of 1985, game design-wise. I really don't. I was still in a "this is all too much effort" frame of mind. In January 1986, I decided that I was going to be like those prolific magazine authors—David Plotkin, J.D. Casten, Tom Hudson—and get a whole bunch of programs published. And I did. Only they weren't games. By summer, I had already written and sold Atari Sound Commander, Rainbow Screenmaker, Life in the Fast Lane, and Streamliner—three utilities and one (unintentionally lame) rewrite of the famous Life program.

Antic magazine used to print a catalog of disks full of public domain games that you could buy for under ten dollars. Looking at the pictures—without actually playing the games, mind you—I kept thinking that so many of the games sounded simplistic, so easy to write. I got the impression that most of them had puzzle elements, though I didn't know for sure. Thinking along those lines, one evening after a dinner at Bojangles I had the idea for a simple little puzzle game which ended up being Uncle Henry's Nuclear Waste Dump (originally it was called "Oranges, Lemons, and Limes"). Looking back, it has an obvious Tetris-feel, despite not having known about that game. Anyhow, it took five summer days from start to finish, and it was an easy sale to Antic. I was getting a bit cocky, putting "another game from the demented mind of" above my credit on the title screen.

Current Events (link)

That was the end of my hardcore Atari game programming period. I went off to college, leaving my family's computer at home, and not touching it again until the following summer. I had flashes of writing a super version of Electroids during the year, but by 1987 the 8-bit days were rapidly fading (except on the C64, but I didn't know that) and it seemed silly. At the end of the school year, though, I decided to write another Atari game, just for the credit and money. Antic, ANALOG, and COMPUTE! were still going strong. The result was an interesting and fun two player game called Current Events. I was a solid programmer by that time, and the game was a hybrid of BASIC and assembly language, with effects running during the vertical blank interrupt. Again, I sold it to Antic.

As an aside, the design for each of these games came from constantly brainstorming and playing games in my head. I threw out a dozen or more ideas for each one I tried. Usually the decision was based on which ideas could be cleanly mapped to the Atari hardware.

I started work on another game featuring the names of Antic staff members, Agent Antic, but it was all gimmick and no design. I didn't want to start anything else substantial, so I wrote a bunch of tech tips for Antic for $25 each.

E-Racer (link)

Another year of college went by. This was 1988. The Amiga and Atari ST and Mac were all going strong. There were new magazines for each of them. I was on the verge of getting an Atari ST, but caved in and got a cheap, monochrome Packard-Bell PC in January. It was a good choice, because it let me run Turbo Pascal without having to go to the computer lab. But when summer started I wrote another Atari game, partially for the money and partially because I felt like the old pro at that time. The game was E-Racer, another BASIC/assembly hybrid. For a type-in game in BASIC, it was about as slick as you could get. I remember cramming as much code as I could into the 256-byte "page six" area, then pausing the assembler output to write down the addresses of all the relevant variables. The end result used BASIC more or less as a scripting language, with the bulk of the work happening in interrupts. I don't recall the genesis of the design, but it involved the Electroids jumping mechanic applied to a rocket car on a horizontally scrolling track. E-Racer took a few weeks to write, and Antic published it in the December 1988 issue.

That was the end of my 8-bit game programming and pretty much the Atari 8-bit era in North America. The magazines hung on until 1990, but they were unimpressive and poorly typeset for the year or more prior to that.