The Rise and Fall of the Hobbyist Game Programmer
By James Hague
When the next wave of hobbyist computers came along--the 16-bit Amiga and Atari ST--there was an immediate reaction to the increase in complexity. Programmers wondered why Atari's official development kit contained a huge stack of documents. And they wondered why the first wave of development systems weren't integrated and couldn't reside entirely in memory, even though the amount of RAM had increased by eight times.
Rapidly, much of the complexity was done away with. Most game programmers realized that Atari's operating system, with it's several layers and GUI on top, could be ignored and the machine was simple at its core. In the Amiga camp the same thing happened, even though Commodore tried to integrate all the nifty hardware features into the OS. As one well-known Amiga programmer put it, "all you need is the Hardware Reference Manual," making all the other volumes of Amiga documentation seem frivolous exercises in over-engineering.
Now the PC had been around throughout most of the lives of all these systems, first appearing in 1981. It wasn't until around 1990 that it started moving to the forefront of gaming.
The 1990-1992 period in PC game development was an odd one. Even though they were a decade old, it was still surprisingly difficult to learn to use many of their features. Sound card and timer programming were two issues I remember. Even after pouring through the best bookstores I could find, I came up empty handed. There were a few treasured bits of code on Usenet and SIMTEL that gave away the secrets.
The best example of this was Michael Abrash's famous--and well-written--articles on "Mode X" that appeared in Dr. Dobb's Journal in 1991. At that time, the VGA standard was already four years old, having been introduced with the PS/2 machines in 1987, and yet very few people had ever seen the official VGA documentation or even knew where to find it.
Mode X had two core features: a custom resolution of 320x240 and a special way of accessing VGA memory called "chain4." In many ways, the first was the interesting and tricky one (resulting in square pixels), while enabling the second one was simply a matter of sending values to two or three documented ports--a feature that was designed into VGA cards from the beginning. But it was the chain4 concept that sent shockwaves through the game programming community. Apparently, almost no one knew about it until that point. Imagine if it had taken four years to discover what a register was for on the Commodore 64!
Those times were also times of rising complexity. A 320x200 VGA screen had 64K of memory, yet with an 8 MHz ISA bus it was only possible to update a fraction of the screen every frame and still run at the coveted 60 frames per second of earlier machines (the common speed of most Atari 800 and C64 games). Different makes of sound cards--each with its own hard to find and poor documentation--were appearing. Supporting EGA was still an issue, requiring two sets of graphics routines. Compilers started getting very feature-laden and shipped in twenty pound boxes. DOS extenders were causing the headaches of the day. This complexity was still manageable, but it was getting in the way of creativity, with the primary concern being to deal with all the nonsense and actually get something working.
Consider Galactix, a shareware game released in 1991 or 1992 that caused quite a stir among the free game grubbers. Now Galactix wasn't anything special; it was a Galaxian clone, and a fairly weak one at that. But someone had managed to get it finished, VGA graphics and digitized sound and all, so it was one of the best shareware games of its time. It didn't matter that in most ways the gameplay wasn't as good as similar games on the Apple II from a decade earlier, like Threshold and Bandits.
Shareware in general made those times seem bright for the little guy. Games like Duke Nukem and Wolfenstein 3D were shareware hits, proof the independent hobbyist could still make it big. At the time, though, no one seemed to notice that shareware was being written by full-time professionals and most of the small-time productions were derivative and overlooked. Whereas many games published by Broderbund in the early 80s were written by teenagers working at home after school, releases from Apogee and Epic and id were from programmers on a salary or at least a monthly stipend so they could pay the rent.
|Credits: Illustration © 1998 Mike Sanzone. The Rise and Fall of the Hobbyist Game Programmer is © 1998 James Hague. All other content is © 1998 loonyboi productions. Unauthorized reproduction is strictly prohibited, dangit.|