On February 1, 1991, id Software was officially founded. After gathering our CDs and boombox from Softdisk, John, Adrian and I set up shop at the lake house at 7450 South Lakeshore Drive. The house itself was large, more than 2,700 square feet, and was set on a half-acre lot that backed up to Cross Lake. In addition to the regular rooms, it had two large rooms that were, presumably, for entertaining. We took one for our office. Jay, who was still primarily working at Softdisk, already had a desk on one wall of the large room, and so Carmack, Adrian, and I decided to set ourselves up on the wall opposite him, but next to one another, so we could communicate and exchange disks quickly. At the time, proximity mattered. We didn’t have any source control in the cloud or on a server because there was no cloud or server. Everything was handled by 3.5" floppy disks handed back and forth.
After dropping off our measly office furnishings, we set off for Sam’s Club, where we got three $40 brown folding tables for our desks. Getting computers was next on our list. Thankfully, we had the commitment check from Apogee because we were going to need a good chunk of it. We purchased the same kind of computers we had at Softdisk, three 386 DX/33s, and five monitors. Carmack and I got two monitors each, a color 14-inch VGA monitor for the game and a 12-inch amber monochrome monitor for debugging, and Adrian got a 14-inch VGA as well. Tom was still at Softdisk, with plans to join us in a few months. We could worry about his computer and setup later.
Our Softdisk schedule had worked well for us, so we decided to keep our hours what they were: 10 a.m. until we were done. Every morning, Jay headed off to work at Softdisk while Adrian and I headed to the lake house. We felt great. The sense that we were working for ourselves and that we didn’t have to go to Softdisk was energizing, even if we were still satisfying our contract for them. At least we were working toward our future. Our initial goal was to satisfy the Softdisk agreement, creating one game every two months for Gamer’s Edge. In the second half of the year, we planned to pivot to a second Commander Keen trilogy.
We weren’t really corporate types, but the setup of a company forced us to become those types real quick. We talked about who should take what role. In reality, the titles didn’t mean anything to us, but they were a necessary part of our company formation. We decided Carmack would be president, Tom would be secretary, Adrian would be VP, and I’d be treasurer. Internally, we didn’t give ourselves any titles like CEO, CCO, or lead this or that. We just started making stuff.
Shortly after forming id Software, I had my first real disagreement with Carmack. It was about equity in the company. The original id team had 25 percent shares allotted to me, Carmack, and Tom Hall. Adrian got 15 percent, and Jay, who was working evenings balancing the checkbook, payroll, and bill-paying while still at Softdisk, got 10 percent. Despite what has been reported elsewhere, Adrian was totally engaged in what we were trying to do, and if he was miserable about working on Commander Keen or any of our early games, he sure didn’t show it. In fact, he worked his ass off, even though we’d brought him in with a smaller share of id ownership. I was so impressed with his talent and professionalism that I told Carmack I thought we should make him a full partner. Carmack immediately said no. I kept pushing. We were both adamant about sharing knowledge and not patenting technology, but when it came to sharing the fruits of our collective labor, he became proprietary. Looking back, I think part of his reluctance may have been inexperience; he didn’t realize that equity terms often get overhauled as start-ups evolve. I kept pushing him. We would never have made all the Gamer’s Edge games we were working on as quickly as we did without Adrian delivering stellar work in a fast and efficient manner. I finally wore him down. The four of us would each get 22.5 percent of the company. It was the right thing to do.
Our first year was going to be a busy one as we hustled to fulfill our obligations to both Softdisk and to Apogee. First up was Dangerous Dave in the Haunted Mansion in January and February, followed by Rescue Rover, a puzzle game in which dognapping robots capture a mutt named Rover, and players navigate a maze to get Rover and then help him escape. These games fulfilled our Softdisk obligations up to April 30. Dangerous Dave was a sequel to my 1988 design, and the other came from Tom Hall. We were flying, working as hard as we could to get these games finished and out the door. Not only were we responsible for the design and development of our games, but we were also responsible for finding errors, glitches, or bugs in the game as well as assessing its ability to run on a variety of machines and hardware. Today, most game companies have their own QA department. At id, we tested our own stuff before we checked it in. Carmack and I were competitive about it, too. Finding a bug in one another’s code was something of a sport, and so we worked hard to bulletproof our work. If we found a bug, we immediately fixed it—we did not believe in building new code on top of a shaky foundation. Gameplay-wise, we didn’t really know how our Softdisk games were hitting with players, so we relied on our own opinions. Softdisk was a vacuum and, at the time, the game press wasn’t interested in covering smaller releases.
Outside of the Gamer’s Edge obligations, we made four other games that we sold to Softdisk: Catacomb 2, Double Catacomb, Double Dangerous Dave, and Dark Designs III. Carmack and I had a coding competition to see who could convert our hi-res Apple II games, Catacomb and Dangerous Dave, to double hi-res the fastest—Carmack won.
In April 1991, we made our first real exploration into the design and development of 3D games. It was a significant turning point for us and for the industry.* At the time, there were a number of 3D games out there—notably 1987’s Deep Space: Operation Copernicus by Paul Neurath and Ned Lerner and 1989’s Archipelagos by Astral Software—and while they were interesting, they were also slow or sacrificed detail for the sake of speed and therefore looked incredibly sparse. Archipelagos lacked graphic details, while Deep Space restricted the view of the player to a small window. No one had cracked it yet. The limitations—either the sparseness or slowness or both—made immersion difficult. Theoretically, these games had the ability to envelop the player, and critics seemed to love them, but they lacked speed. Fast 3D, we knew, was the next frontier beyond horizontal smooth scrolling.
Up to this point, we had been mostly poking around the edges of 3D. Earlier in the year, Carmack wrote a 3D demo of a rotating cube, and he followed up with a 2D scaling Gamer’s Edge logo for Dangerous Dave in the Haunted Mansion. Carmack and I wanted more of a challenge from technical point of view, and 3D provided that challenge, but it wasn’t just the technical challenge that spurred us. Devising more realistic perspectives and depth of field wouldn’t just look better; coupled with good design, we hoped it would create the immersive experience gamers had been waiting for.
With those goals in mind, development on Hovertank One, a pre-apocalypse rescue mission where players drive the titular hovertank and blast away enemies while rescuing survivors, began in April. Hovertank One was our first foray into a new dimension—literally—of graphics programming and game design. Carmack’s approach to 3D graphics started here, rendering objects with a depth of field that required an entirely new type of math calculated at high speed on a PC in 1991 without a math processor (or floating point) chip.* His high school education left him without the skills he needed to approach the problem, though. So, before we programmed Hovertank One, he bought some books and decided to teach himself trigonometry and the higher-level math necessary to understand the problem before him. There was no room for failure; if the new math and screen drawing slowed our frame rate, the game would be forgotten, because nobody wants to play a slow action game. Carmack devised some rendering optimizations and a wall-line projection algorithm to determine how to draw the screen in vertical strips intermingled with 2D images for the characters—key to creating the illusion of 3D on the two-dimensional computer screen.
While Carmack focused on the engine, I got to work on all the tools the team required to interface with the engine to put the game together. While tools will always be the least sexy form of tech and game dev, tools make game development easier, and well-designed and -developed tools make it not just easier but fun and enjoyable.
First, I focused on updating TED, our Tile EDitor. The idea for TED came from a tile editor I made when I was developing Dangerous Dave in 1988. Rather than having to do the time-intensive work of creating levels by hand or putting text on the screen as a replacement for graphics as we did on the Apple II, I used the Dangerous Dave level editor to create the levels. When Carmack and I first met, he was impressed by the editor in Dangerous Dave, and we knew we wanted something similar for our upcoming games. So I improved TED steadily over six months, starting with our game Slordax, moving from TED 1.0 to 5.0. Each version of TED had more features added—tileblock† copying, more planes of information, game launching, map printing, and more. TED ended up being used for thirty-three shipped games—not just our own products, but games at Gamer’s Edge as well as Corridor 7: Alien Invasion, Rise of the Triad, and lots more. It was even used to create the Dangerous Dave in “Copyright Infringement” demo. TED was designed and coded to be as useful for 2D games as it was for simple 3D games. It even worked in multiple graphics modes: CGA (4 colors), EGA (16 colors) and VGA (256 colors). At the time, it was an innovative tool, and Tom and I loved using it. In addition to TED, I developed MUSE, our MUsic Sound Editor and IGRAB, a tool that took everything that was required to play the game and put it into a single data file. Great tools make great games. I think it’s important to spend as much time on tools as possible.
Design-wise, just like Carmack, Tom and I were operating in a new dimension. It’s something we take for granted now, but 3D required us to rethink the possibility space* of gameplay. Everything from movement to AI to the player’s tactics and strategy was affected. It’s a design we learned by jumping into it—putting ourselves in the game and walking around, wondering what could happen and asking ourselves questions like every game designer does. What does the player want to do? How can we challenge and surprise the player? How can we do this without ruining Carmack’s rendering optimizations? Throwing ourselves into this new space, we learned on the job to design the levels for Hovertank One.
Hovertank One only made its May 31, 1991, deadline due to Carmack’s heroic programming hours. In comparison, the levels were easy. He knew he could do it, and basically didn’t let up his focus until it happened. It was an incredibly tight two months writing our first 3D engine and game. We were creating this game for Softdisk, but we always had tremendous pride in our work. No matter who it was for, we wanted to do our best.
Hovertank One pushed the PC envelope hard at the time and marked our first steps into first-person shooter games. It also introduced the first comically sinister elements that came to define id sensibilities—you could run over or shoot the people you were supposed to rescue. Despite all this innovation, the game is largely regarded as a footnote and a sign of greater things to come.
In retrospect, I see plenty of good reasons for Hovertank One’s lower status in the id pantheon. First, it was released by Softdisk on Gamer’s Edge, so it didn’t have the viral potential of our shareware games or any retail distribution. Second, the game itself was inferior to Atari’s 1980 tank classic Battlezone. Speaking critically, the game also just didn’t feel great. The tank’s gun never felt as immediate, or as immersive, as other weapons we eventually created. Any amazing tech is only as good as the design that uses it. Carmack’s tech would get better. So would my design.
Financially, however, the newly minted id Software was doing great. In addition to the $5K that we received from Softdisk for each game, we also received money every month from Apogee. We took out only what we each needed to live and not a penny more; everything else was saved. The money increased at a steady monthly rate, and by January 1992, we were up to $50,000 per month. Two of us grew up below the poverty line. Two of us grew up in middle-class homes. It was a shocking amount of money no matter how we looked at it, and we held on to all of it because we didn’t know when it might end.
After Hovertank One, it was time to start working on a new Keen release. Tom Hall’s plan for Keen was to follow George Lucas’s vision for Star Wars—to create a trilogy of trilogies. The goal was to hammer out three more episodes of Commander Keen in time for Apogee to release for Christmas 1991. We also wanted to introduce some next-generation enhancements with new technology, including showing Keen from a tilted perspective instead of straight-on from the side. This would require a lot more complex tile work and level design skill. In the new Keen engine itself, there would be a major improvement in the way the EGA memory was used to draw the screen so we could gain more speed. Discussing our strategy, Carmack and I began talking about the most efficient way to complete the next set of Keen releases—episodes four, five and six. Collectively, the three would make up the next trilogy—Commander Keen in Goodbye, Galaxy.
We were really excited to start work on them. At this point, Carmack knew most everything there was to know about video graphics cards—the removable circuit board used to display images on a monitor. This more advanced Keen engine would be faster because it would slide the monitor-viewable display area throughout the entire EGA screen memory space, only drawing new tiles at the scrolling edge. It was vastly more sophisticated than the graphics code we used in the original Keen game.
We had all this new technology and ambition, but we needed to fine-tune it, and fast (we wanted to take advantage of holiday gift giving). So we decided to kill two birds with one stone: We’d make a single episode as a game—Commander Keen in Keen Dreams—for Softdisk, which would allow us to experiment and to prepare for building out our full three-episode Commander Keen trilogy.
The one-off game, Keen Dreams, was filled with good-natured gags, puns, and references to the evils of television, as our eight-year-old hero turns enemies into flowers and battles the ever-sinister potato king Boobus Tuber, who has a Dream Machine that enslaves children. As we got deeper and deeper into making Keen Dreams and prepping for Goodbye, Galaxy, Carmack and I created and shared code that we began calling the Keen engine. At the time, I don’t recall ever having heard someone refer to a game engine. That was partly because, for so many years, game development was a solitary pursuit with programmers making games single-handedly. Carmack, Tom, and I had all worked solo, writing code for all aspects of a game. So each game had code that made everything work, but there was never a specific name for it. Now that we were collaborating, the idea of a game-creation system and management tool made a lot of sense. We wanted something with some extensibility, something we could reuse so we didn’t have to invent the wheel again and again. I suppose we could have called it the Keen Brain or the Keen Heart or the Keen Processor, but we both loved cars, and engines are what give vehicles the power to make everything run. That is how we visualized the Keen engine—a multilayered program that was the central core with which we could make any 2D game.
The Keen engine was conceived of as a reusable device to power different Keen episodes, each with new rules, images, soundtracks, and characters while reusing the central core engine tech like drawing graphics on the screen and playing sounds. There was no reason to limit it to Keen, however. As the de facto business strategy guy at id, and mindful of my experience at Origin Systems and Inside Out Software, I was always thinking about finding new revenue sources. When we were done making Keen Dreams and the engine was in place, I thought, What else can we do with this thing? What if we showed other game companies our engine? They might license it to save development time. They could, theoretically, make games as cool as ours.
If it was useful to us, it had to be useful to others. We just needed to show it off. I thought we could have a summer seminar of sorts at the lake house where we demonstrated how the engine works, and we could help some developers, plus prove the concept. I called Scott Miller at Apogee because we really valued his input. He was also an ideal partner since, as a game publisher, he knew a ton of authors. We put the word out and made plans to show off our new Keen game, the existing engine, and talk about what it could do.
A battalion of great programmers and game developers descended upon the lake house. Scott was there, of course, as was George Broussard, who later helped found 3D Realms and made Duke Nukem 3D. Developers who worked with Apogee also came, including Frank Maddin, Todd Replogle, and Jim Norwood. Ken Rogoway and Dave Farquharson also showed—they were authors who had worked at Epyx, a prominent game company that published a lot of games in the ’80s. We started to go through the engine and answered questions, but I knew the best thing we could do was to create a game right in front of them.
We built a Pac-Man knockoff called—what else?—Wac-man. Over the course of a couple of hours, Adrian drew ghosts and dots and other design assets on his computer. Meanwhile, Tom made the level and sounds, and Carmack coded like a madman. I was the proverbial master of ceremonies, the only one comfortable and technically able to discuss anything from the engine through to the gameplay. I discussed how all the elements fit together and talked about how our engine might work on a case-by-case basis. All told, it took between 90 and 120 minutes, but we did it. Wac-man was chomping on dots and our guests were impressed.
Today, game engines are a massive business. Millions are spent on building engines, and billions more are made by licensing them. In 1991, we were ahead of our time. Engines save time and money, and they mitigate risk. In the early 1990s, a team might save mere months with our engine; now engines save development teams years. Factoring in a 1991 team size as compared to a modern-day team, the cost-benefit analysis is even stronger today. In 1991, a large team might have ten programmers. Today, a large team has hundreds, even thousands. That’s a lot of time and money saved. It’s possible our marketing outreach was flawed, but for whatever reason, our id Summer Seminar resulted in only a single offer: Jim Norwood licensed it, cutting a revenue share deal that gave us a percentage of his earnings. With it, Jim built a game called Bio Menace. But we weren’t disappointed; one license was one more than we had, and we were growing.
When Bio Menace was done, though, Norwood didn’t license the engine again, and we discovered a flaw in our plan. Giving out our engine also required giving out the source code so that the game could run. Once developers had that code, they didn’t need to renew anything. They had the keys to the kingdom and could potentially use it or refer to it to write their own engine. We didn’t really have a huge problem with this, per se. Carmack and I were both programming evangelists, and we believed in sharing information to make better games. My attitude was shaped as a young teenager by my hero Bert Kersey, the founder of Beagle Bros. He ran a company that created software tools and regularly shared them. In fact, when you bought a utility, he included a manual, and the first thirty pages were filled with cool programmer knowledge. He was just giving stuff away. In doing that, he took a stand against software copy protection. If people copied it, then they copied it, but it was more important to him that people who needed information got it. We took that idea and were very open with our technical information. Jim Norwood and Apogee had the source code so they could create and sell Bio Menace. We heard rumors—we don’t know if they were true—that they then allegedly gave our engine to a programmer who adapted our work slightly. We heard even more unfounded rumors, and we also didn’t know if they were true, that it was shared with other Apogee developers to build other games—without paying us a dime.
Carmack and I thought, if these rumors were true, that it was uncool of Apogee. We had no problem with anyone using our work, but in the spirit of shareware, if a company was using our engine to make money, they should have shared the wealth. Surprisingly, we didn’t think to check with Apogee. We had learned a lesson, regardless. If we pursued the engine licensing deal as a real moneymaker, we needed to figure out how to retain the source code to make engine licensing a scalable, proprietary business.*
The rumors around the Keen engine’s use at Apogee caused me to question whether the company was the right fit for id. Scott had certainly helped us build our company, but I thought we could do it ourselves, too—sell the games and keep all the profits. Shareware made distribution easy; all we needed to do was produce the disks and packaging, take orders, and fulfill them. If Scott’s outfit could do it, we could, too. I mentioned this to Carmack, but he didn’t want anything to distract the team from our core mission of making the best games around. It was a valid point. Our first diversion into engine licensing hadn’t exactly convinced him otherwise.
By this time, we were averaging $35,000 per month between Gamer’s Edge checks and royalties from Commander Keen. I was multitasking in unexpected ways, almost by default. I started to think about the fiscal future of id Software and its business prospects. We were doing fine, but that didn’t mean that planning wasn’t necessary. Just as I got us a game publishing deal with Apogee, then the bimonthly Gamer’s Edge yearlong deal, I thought about how we were all working full-on every day, but no future planning was happening other than what the next game was going to be. I wanted more time spent on company strategy. I didn’t want id to become another Inside Out Software.
Carmack, Tom, and Adrian had no business experience, whereas id Software was my fourth game company. I had created and sold twenty-three games and had the most experience, so handling of business deals and business development fell to me. Fortunately, it was something I enjoyed. Finding a way to distribute games and connect with an audience to buy them was easily just as important as creating the kickass games themselves, since sales paid for game development. Despite my aptitude on this side of things, though, I wanted someone else to handle it so I could continue making games.
Enter Mark Rein, a Canadian gamer and businessman from Toronto who contacted me in March 1991 about a bug he found in Commander Keen 2. Mark was a upbeat guy, something I related to. Initially, I asked Mark if he wanted to be a beta tester, but he had another idea: handling business for us. He had business experience and even offered to fly down to Shreveport to discuss things further. In the end, we signed him up for a six-month unpaid probationary stint. During that time, we let him represent himself as the company president. Since Mark was making $100,000 a year at his day job, and we were still at $2,500 per month each, we told him it had to be pro bono (id was pulling in good income at this time, and we kept as much money in the bank as possible). He accepted, and Mark got to thinking about what he could do for us. Knowing that the end of 1991 was going to be challenging development-wise (we had to make Commander Keen games and Gamer’s Edge games at the same time), I told Scott Miller that Mark was going to represent our business so we could focus fully on development. Scott agreed he’d communicate with Mark from then on.
To solidify our break with Softdisk, we decided to leave Shreveport. That led to another recalibration of ownership, because we told Jay he needed to be all in or give up his 10 percent. He wanted to stay at Softdisk, and he said he understood. So, now the four of us—Carmack, Adrian, Tom, and me—each owned a quarter of the company.
The world was our oyster. We could have moved anywhere, but in the end, we chose Madison, Wisconsin. It wasn’t exactly a software mecca, but then again, few places were at that time. Madison was Tom Hall’s hometown. He went to college there, too, and loved it. It was a great college town, he promised, which sounded appealing. The other reason we moved there was that, well, we were game programmers. All we cared about was having a place to sleep and code. I remember when Al Vekovius was wooing Jay, Lane, and me to come to Softdisk and he drove us around Shreveport. The oil industry had left years earlier, and downtown Shreveport was a grim sight, with empty and boarded-up buildings, but Al was playing tour guide. He tried to show us the best of the town. I remember thinking, “I don’t care about the town. I care about Softdisk’s offices. That’s where I’m going to be all the time.” So I had a similar attitude about Madison. Affordable rent, electricity, and pizza deliveries were my three main criteria. Carmack felt the same.
Tom and I flew up in August to survey the scene and find a place for id Software. In August, Madison was amazing and full of big leafy trees, boulevards bustling with small shops, and lots of restaurants. The University of Wisconsin dominated the city’s landscape. Its prosperity stood in stark contrast to Shreveport. We looked for four apartments in close proximity, one of which needed to also double as our office. We didn’t have any time to waste since we were still working on Commander Keen 4: Secret of the Oracle and had more games to make to fulfill our contract with Softdisk.
We found the apartments and office we were looking for in nearby Fitchburg in The Pines apartment complex on High Ridge Trail just off Fish Hatchery Road. There was nothing particularly outstanding about the apartments, but they fit the bill—four units together in an area that was safe and wouldn’t leave us worrying that our computers were going to get ripped off. Our office was walking distance away, at 2622 High Ridge Trail; Carmack lived upstairs. It was an efficient setup, which was lucky because we had a mountain of work to do.
Flying back to Louisiana with the news, we were eager to pack up our stuff and leave Shreveport behind. We hired a single moving truck, threw most of our belongings into it, and prepared for our journey north. Carmack and his cat Mitzi rode with Tom, as his MG had died recently. Our computers and monitors traveled with us. Each night, we carried them from the trunk or back seat of our cars and into our motel rooms for safekeeping. Nothing else mattered except what was on those computers. We had no backups except the data replicated on our four machines. If the whole moving truck had caught fire and then fallen into an alligator-infested bayou, we would have cared far less than if even one of our computers had gone missing. Looking back on this time, and other even earlier times, I remain amazed that a single machine and a whole lot of work can so dramatically change the trajectory of one’s life. We knew what those machines meant to us and to our livelihood.
On September 1, 1991, we agreed to meet for our first day of work in the new location. It was a two-story brick building that had a kitchen and workspace on the ground floor and a bathroom, washer and dryer, and game room for D&D and our Super Nintendo Entertainment System (SNES) upstairs. Carmack’s bedroom was also upstairs. I never paid any attention to his bedroom, but one day I peeked my head in. There was a pillow, a lamp, and a stack of computer books on the floor next to a blanket. He had no bed. I felt sorry for him. How could you sleep on the floor and still work long hours and not be fatigued? I went out to the local mattress store and got him a single mattress so he could at least sleep well. The rest of the bedroom setup was up to him.
We settled in, hooked our machines up, and got back to work on Commander Keen 4. Our goal was to get the second Keen trilogy done by Christmas. We also had two more games due for Gamer’s Edge, but we could worry about them later.
At this point, and like many PC games, our audioscape consisted of whatever the PC speaker was capable of, which wasn’t much. While consoles had evolved and featured fantastic soundtracks, the PC market lagged well behind. PCs required a special sound card to produce music of any quality. The AdLib was the first sound card to hit the market in 1987, followed by the Soundblaster in 1989. More and more gamers were adopting this hardware, and in reading magazines, I could see that the bigger companies were developing for it. The Secret of Monkey Island and Ultima VI were the first games I played that featured FM Synth MIDI. It transformed the play experience.
Everyone on the id team had spent years designing games, but out of all of us, only I really cared about the sound. Maybe this was all an extension of my obsessive interest in music and the sound quality of my own games in the ’80s, but I embraced the responsibility of handling id’s audio performance. We were going to be able to play MIDI music starting with the engine for Keen 4, so I asked Scott Miller if he knew anyone that made MIDI music. He told me about a guy named Bobby Prince, a lawyer turned musician who had just gotten into computer MIDI music. Bobby is an interesting guy. He started his career as an original member of The Jesters, a soul band that shared bills with top R&B acts in the mid-sixties. He led a platoon in Vietnam. He got a law degree in 1980, but also pursued his interest in jazz, eventually leaving law altogether and making music full time when Apogee had several games in development.
I contacted Bobby and told him we were just starting to get music playing in our new game, and I asked if he could send us a short song so we could test it out. By that point, we had a modem, so Bobby sent a short MIDI tune titled “Too Hot.” I converted the music file to our own proprietary IMF format or ID Music Format, and showed the game off to Carmack, Adrian, and Tom with Bobby’s music in place. The song was great, and we felt that its inclusion took our games, if not to the next level, then to a higher standard of quality. Bobby was hired as a contractor. Adding music to Keen 4 put it on the same level as games produced by bigger developers.
While we were working on Keen 4, we got a surprise. Mark Rein called to tell me that he signed a retail game publishing deal with a Toronto-based publisher named FormGen. We had never heard of them. The surprising news was that Mark had promised them a new Keen game in time for Christmas. It was early September 1991, we had just moved to Madison, we were almost finished making Keen 4, and we were ready to start on Keen 5. We had two more games to deliver to Gamer’s Edge in 1991, too. Five games in fewer than four months! Even if Keen 4 was almost done, it was still a monumental task. And now he wanted to add another game? To top it off, he had already signed a deal. This was a challenge that even a death schedule could not solve.
We had to talk it over and decide what to do. It was a good problem to have, but a problem nonetheless. The only answer that made sense was to shorten the second Keen trilogy, Goodbye, Galaxy, to two games, and the third game would be for FormGen. We knew this would disappoint Scott Miller at Apogee, but there was no way we could get four Keen games made by Christmas on top of the two games we had to deliver to Gamer’s Edge. We’d be lucky to finish the five we planned to make during the last six months of 1991 as it was. I called Scott to tell him the bad news, and he explained exactly what we knew already.
“You cannot split up the trilogy,” Scott said. “It’s a proven marketing win, and anything less means fewer sales.”
“Mark already signed us up,” I explained. “Plus we still have to do those Gamer’s Edge games.”
Scott doubled down, reiterating his concerns.
“We can’t squeeze any more time into the day,” I told Scott. “It’s already an impossible task.”
There was genuinely no way we could do it all, and we didn’t want to cancel the FormGen deal. Getting onto store shelves was an important next step for us, and it wasn’t just one game, either. After we delivered a Keen to them this year, they wanted another game in 1992.
Seeing no other alternative, Scott decided to go with our plan and see what kind of sales a two-game Keen set might bring. With the benefit of hindsight, I can answer that question: not as many. The second Keen set had one-third the sales of the original trilogy. It’s a pity, because Keen 5 was the best game of the bunch.
At least we had our plan for the rest of 1991. For a game to hit retail game stores, we needed to finish the retail Keen 6 immediately after Keen 4 shipped. Retail games required a much longer lead time than mail-order games. First, the games were boxed, then sent to a distribution outlet, and last, sent off to retail stores where they are available for purchase. We could start on Keen 5 when Keen 6 was done.
On September 14, 1991, we finished work on Keen 4. Beginning to end, it took us two and a half months. The following day, we started working on Commander Keen 6: Aliens Ate My Baby Sitter! We needed to shorten Keen 6’s dev time to just two months so we could finish by the middle of November. To do so required that we scope it way the hell down. By now, we knew we went overboard with Keen 4’s design. There were forest levels, deserts, ice levels, and underwater levels. It was way too much art and way more code.
Tom kept his design laser-focused on Keen 6. He only invented an entirely new planet, Fribbulus Xax, where Keen’s babysitter, Molly, was kidnapped by Bloogs and guarded by Blooguards, Grabbiters, Fleex, and Bobbas. Of course, we had to make eighteen levels with an entirely new set of graphics. This was going to be a retail version of Keen, after all.
We became exceedingly efficient. We worked on multiple games at a time, moving from one game to another, in an attempt to get everything done. It was a frantic pace that required expert-level focus and real-world optimization. We decided to cut down any travel outside of going to the office, not only because of the workload but also because it was miserable outside, with ice and snow starting to appear. We may have known how to code in Assembly language, but it had never occurred to Carmack or me to ask the critical question: “What is it like here in the winter?”
Not going outside meant no trips to State Street to get Cellar Subs and the elimination of time spent reading The Onion. We ordered pizza for delivery instead. We knew we needed to start on another Gamer’s Edge game soon, so we hit Keen 6 hard at the start, quantifying every asset that needed to be created and powering through the creation of the characters and levels as fast as the art was made by Adrian. Code-wise, the Keen 4 engine already had so much functionality in it that Carmack instead focused on new enemy AI for the first couple weeks; it was the only new code the game needed.
For short breaks, we continued our tradition of playing Dungeons & Dragons on Saturday nights. Carmack’s D&D campaign took place in a large, cohesive world with many characters playing politics for power. We stumbled upon vampire castles with crystal coffins on an underground shore, traveled with the Silver Shadow Band on the back of a silver dragon to a forbidden land, watched a superbeing named Quake as he destroyed parts of huge buildings with his hammer and attempted a smash-and-grab in a fortress. We were along for the ride. It was so nonstop and ruthless, and it was the most fun we ever had in Dungeons & Dragons.
On October 1, once Keen 6 was rolling and Carmack had finished his work, he switched gears and moved over to work on the next game for Gamer’s Edge. In total, we had three games left for them, two of which needed to be finished before Christmas. We decided to make another 3D game based on the Hovertank One tech. Catacomb 3D was to be the third game in the Catacomb series, which started with Carmack’s Apple II original game, his first game at Softdisk. Catacomb 3D was a medieval dungeon crawler where the player takes the role of a sorcerer named Petton Everhail, who fireballs demons and orcs to get to the lair of Grelminar the Lich to save Nemesis. Since Keen 6 was also in the works, Adrian had to deal with both games at once, as did Tom and I. We made levels for Catacomb 3D in addition to the Keen games.
Like Hovertank One, Catacomb 3D doesn’t get much credit for its role at the vanguard of gaming. Again, this probably had to do with the fact that it was a Gamer’s Edge release, and it was only our second 3D game*: design- and tech-wise, we had yet to really find our groove. It was, however, the first action game to use texture maps.
I’d heard about texture maps from my friend and former coworker Paul Neurath back in November 1990, when Carmack, Tom, Adrian, and I were just starting work on Shadow Knights. We were catching up, and I talked for a bit about my current job at Gamer’s Edge. Paul was at his new start-up, Blue Sky Productions. He said, “My team is working on a game with a popular IP, you can probably guess it. We’re using a technique called texture mapping.”
I suspected his team at Blue Sky was working on something related to Ultima since he had left Origin, but since he didn’t offer that information, I didn’t ask. By this time, I had gotten used to the necessarily vague ways game developers talked about games still in development and not yet announced.
“Texture mapping? What’s that?” I asked.
“It’s where you take a graphic and map it onto a rectangle that’s at an angle, like looking down a hallway. It looks great,” Paul said.
“Awesome, I can’t wait to see it.”
Once I was off the phone, I told Carmack about texture mapping. He thought about it for a few seconds and said, “I think I can do that.”
Just under a year later, he did. As it turned out, Catacomb 3D even came out before Blue Sky Productions’ Ultima Underworld, the game Paul had been referring to.*
Prior to Catacomb 3D, texture mapping for games was used once in 1985 with a game called Alternate Reality: The City, but that was a much more primitive game that used a lot of text. Catacomb 3D had great-looking animated walls and gargoyles that melted into a puddle that really made the gameplay visceral. To track the character’s health, we displayed his face on the right side of the screen, and as he took damage, he slowly turned into a skeleton—first you see your neck bones and then your skull, something that would become a mainstay of early FPS games. Catacomb 3D truly heralded the future of 3D: smooth movement in any direction, and fast-drawing, texture-mapped walls, something no one else had done in a game before. Drawing a texture on a wall is the digital equivalent of wallpaper. However, it was extremely time-consuming and processor intensive and slowed everything down. Carmack found a way to draw pixels four times faster.† As it turns out, Catacomb 3D was the last id Software game for Gamer’s Edge. While we still had two more games to satisfy our contract, things were getting too busy for us. Our time was better spent creating the future than unraveling ourselves from the past. We outsourced both Gamer’s Edge games to other programmers and delivered them to Softdisk. One of those games, ScubaVenture, was completed by none other than George Broussard, the future architect of Duke Nukem 3D.
Meanwhile, we were all barrels blazing on the development of Keen 6 while Mark Rein was getting things primed for its retail release. He had an agency ready to make the Keen 6 box and asked if we could send over art they could use for the front and back.
“Wow,” was all I could think to say to him. “Adrian already has a lot going on at the moment.”
We were growing with the industry, learning the new requirements as it evolved. While boxed games had been around since the late 1970s, it hadn’t occurred to us that we needed to create the art for our own box. We later learned that most game companies outsourced that work to artists who specialized in big box art. Adrian spent a few hours taking his game art and mocked up the front and back covers in Deluxe Paint II.
In early November, the box arrived for us to approve. As our first boxed game, we were eager to see it, and we had high expectations. After all, the company that designed Lipton tea boxes was handling our account. When it arrived at the office, we gathered around for an unboxing, and everyone was speechless. Adrian broke the silence.
“What the fuck?”
The box was horrible. Even though Adrian made great art, it just didn’t cut it for a box—it was too low-resolution and set inside a square that made it look far more like a cereal box than a computer game. The color scheme was hard to get your head around: yellow, blue, and red stripes on a white box with weird ruler lines on the side. It featured five different fonts. The Keen name was in red on blocked 3D letters while “Aliens Ate My Baby Sitter!” was instead shadowed in red and blue. To top it off, there was even an error with an inverted letter B in the title. We told Mark they needed to get an artist to redo the box—we had no time left.
FormGen found an artist named Ken Rieger, who created an excellent box cover for Keen 6, and we approved it immediately. It was so nice seeing a professionally designed box for a game of ours. All Apogee games were just disks mailed out to customers—no boxes. We were in the big leagues now!
We finished development on Keen 6 on November 10, 1991, and it shipped to stores in December. Making a complex game like Keen 6 in such a short time—especially a game we were proud of from a design, technical, and, thanks to Bobby Prince, musical perspective—felt like a tremendous achievement. Holding the finished box in our hands, it was another moment where we felt we had arrived.
Years later, a game collector showed me his Keen 6 box: It was the terrible one with the ruler marks on the side and the five fonts. It was only then that I realized that FormGen shipped the approved box in the US and the ugly box in Canada, outright ignoring our feedback. It’s possible they had gone to production in Canada and didn’t want to put the brakes on it. Maybe they reasoned that we’d never see it since we lived in the US. In spite of its ugliness, its rarity makes it one of the more sought-after Keen boxes.
Now we were down to the last month or so of our hardest year, a year in which we shipped thirteen games. It’s challenging to explain to people why we were doing this and just how much we were also enjoying it. We were running the equivalent of a programming marathon, and as a team, we were at peak performance and always hitting new peaks. We were doing precisely what we wanted to do and loved working together.
We wasted no time celebrating Keen 6’s delivery and immediately started making Keen 5: The Armageddon Machine. With the scope of Keen 6 taking two months, we figured we could get Keen 5 done in one month because Catacomb 3D needed just a couple more weeks.
For a year now, we had been using what we called SneakerNet to transfer files between our PCs—we copied the files we had been editing onto a 3.5" floppy and walked it over to each other—typically among me, Tom, and Carmack. Adrian didn’t run the game; he just made the art. Every once in a while, Tom got new art from Adrian, and he’d integrate it using my IGRAB tool, then pass that disk to me and Carmack.
We needed a better way to do this. We decided to get a file server PC with a huge hard drive, network cards, and cables so we could connect all our computers together. Then we could save our work for easy retrieval in one place. It also served as a necessary backup. At conferences, I am regularly asked what we used for backups and source control. Programmers are both surprised and horrified to find out that we didn’t use anything. That said, we were exceedingly careful, and source control and backup systems weren’t common at the time.
As we developed the game, I knew we had to fit everything on a 3.5" disk for distribution. One more disk would double the cost of goods and return less profit, so cramming it all on one disk was important. To ensure the maps could fit, Carmack came up with a clever way to compress them—a modified version of a Huffman algorithm. I called it Carmacizing the maps and programmed that compression into TED5. It worked well, helped us fit on 3.5" disks, and kept our costs down.
To get Keen 5 done on time, we shaved off five levels for a total of thirteen, including a secret level. If you look closely at the title screen, you can see the secret level in the window next to Keen as he’s running from Robo Red. It’s a little red and blue metal building. We loved putting in Easter eggs like this, hoping players might discover them, and thus rewarding them for that discovery.
We could tell Adrian was getting into the swing of things with Keen 5 because he did some outstanding art. He created all the graphic tiles to populate the levels using our new tilted perspective, all the animated items and enemies. In addition, Adrian created all the tile art for the world map, the Armageddon Machine, plus the title screen and menus. With one month to finish the game, he plowed through. By the end of November, Catacomb 3D was off to Gamer’s Edge, and Carmack focused on Keen 5 with the rest of us.
In early December, I saw an advertisement in the local paper from a company called Raven Software that was looking for a programmer. I thought Raven sounded like a game company name, so I gave them a call, and Brian Raffel answered the phone.
“Hi, I was wondering if you’re a game company? Do you develop games?” I asked.
“Yeah, that’s what we do. RPGs,” Brian answered.
“I’m with a game developer in town named id Software. Mind if we come over and say hi?”
Brian enthusiastically agreed and gave me their address.
Tom, Carmack, and I drove over. It was a fun time talking to other game developers, something we hadn’t done in months. We met company owners Ben Gokey, the programmer, and the Raffel brothers, Brian and Steve, who were graphic artists. They showed us Black Crypt, a graphically impressive RPG for the Amiga, and we shared what we were up to.
The next day, I had a plan. Could we interest Raven in licensing our engine to make a platformer? To do this, we needed to find a way to fund the game and cover Raven’s burn rate.* Once the game was done, we would recoup that investment and earn a license fee and royalties, a traditional business arrangement in games between publisher and developer. I asked the guys if they would agree to cover half of Raven’s $10K per month burn rate if Apogee covered the other half. Once they agreed, I called Scott Miller and told him about Raven, said that we wanted to offer them a license for Keen 4’s tech, and asked if Scott would fund the other half of their burn rate. Excited about another Keen engine game trilogy, Scott was in.
I called Raven and talked to Brian. I offered him development funding of $10,000 per month to create a game for the PC using our Keen 4 engine. Brian sounded excited and said he’d discuss it with his two partners. As it turned out, the Raffel brothers weren’t interested. They just couldn’t limit themselves to sixteen-color graphics. It didn’t matter that the Amiga market was waning. For the time being, they stuck to their guns, but we agreed to keep in touch.
By the middle of December, we were putting the finishing touches on Keen 5, inspired by our love of sci-fi to get Keen’s space setting just right. We drew from our shared knowledge base, having all read Isaac Asimov’s Foundation series, Frederick Pohl’s Gateway (The Heechee Saga), Arthur C. Clarke’s Rama series, Dan Simmons’s Hyperion Cantos series, and much more. We knew it had to be a good game because, as a part of a set, it was the only game that players paid for. When we finished, the setting, the levels, the enemies, and the music were better than Keen 4. To me, it’s the best of the series. We finished a year and a day after our first Keen trilogy went live. On December 15, 1991, I uploaded the zip file to Scott.*
Having shipped thirteen games without a break, we were as ready as people could be for vacations.
I spent that winter break in California with Beth, who I’d now been seeing for a few months. We stayed at my parents’ house, and I visited with my sons Michael and Steven, who were still young, just two and three, but I was amazed at how much they had grown since I last saw them. Each month at such a young age is leaps and bounds, and I traveled home as often as I could during the year. Even though I was holding them in my arms, I longed for us to be together and see each other more often. Both were smiley, happy boys. As they opened their gifts on Christmas, I got down onto the floor, too, playing with them and their toys, putting them on my lap, treasuring the time we had together. I couldn’t get enough of them, really. Kelly was doing a great job with them. I was also happy to see that Kelly, back with her family and support network in California, was back to being the happy person that I’d known.
* Every few years, the game industry leaps forward spurred on by either a hardware innovation, a programming innovation, or a design innovation. The transition to 3D was one of its bigger leaps because it forced innovation across the board in hardware, programming, and design.
* “Floating point” is a term used by programmers and mathematicians to describe numbers that may include a decimal in them (1.666, for instance). Calculating numbers with floating points required a floating-point processor.
† A “tileblock” was a 16-pixel by 16-pixel image used to tile a level much like one might tile a floor.
* Possibility space refers to everything that could potentially happen within a game. Usually, this is a conceptual design consideration in which designers explore everything that play could potentially do.
* Interestingly, that is just what modern game engine giants like Epic and Unity have done. They charge a lot of money to provide companies with their full, all-access package.
* It was also our second first-person shooter, but that name had yet to be invented.
* An important piece of information I’d like to clear up is the erroneous story that John Carmack was at the Consumer Electronics Show (CES) in the summer of 1990 where there was an alleged demo of Ultima Underworld. The story goes that Carmack saw the demo and declared he could write a faster texture mapper. While I don’t doubt that Carmack could indeed do that, this story suggests that Carmack saw and appropriated the tech, and he did no such thing. It’s true the idea to add texture mapping into 1991’s Catacomb 3D came from Paul Neurath during my 1990 phone call with him, but that’s all the contact we had with anyone involved with that game during its development. Time-wise, it’s also impossible. Ultima Underworld’s development started just a couple months prior. That game took two years to make and was released six weeks before Wolfenstein 3-D. I know John never saw Ultima Underworld because he was working at Softdisk every single day with me. Neither of us had been to any shows in 1990—we worked constantly. Carmack had not been to a show until KansasFest 1991 in July. He had not even heard of texture mapping until I mentioned it to him after talking with Paul in November 1990.
† If you’re interested in how he did this, it has to do with how memory is laid out and how Michael Abrash’s book described a mode called CHAIN-4 that allowed Carmack to write four pixels at once instead of the usual single pixel.
* A burn rate is the amount of money it takes to keep a company afloat for a period of time. Weekly, monthly, or annual burn are common terms in business.
* Astute readers will note that Keen 6 came out first. However, players didn’t know what the game numbers were. They only saw the game titles. Goodbye, Galaxy contained Keen 4 and 5. Aliens Ate My Baby Sitter was Keen 6.