Gaming —

Atari devs dissect Yars’ Revenge, Adventure, Atari’s woes

How two of the 2600's biggest original hits endured bad hardware, worse marketing.

<i>Adventure</i> creator Warren Robinett
Enlarge / Adventure creator Warren Robinett
Sam Machkovech
SAN FRANCISCO—Like other Game Developers Conferences in the past, this year's made sure to include a few meaty "post-mortem" panels hosted by legendary game designers. And with Atari—er, what remains of it—celebrating a huge 40th anniversary this year in the form of Pong's first home edition, the company's home console developers took center stage in the post-mortem pool.

"I'm going to tell you about the design of Adventure for the 2600, a game I designed in 1979," Warren Robinett said simply and plainly to introduce his own session. "Thank you. It was the first action-adventure game."

That's no understatement. Adventure may seem painfully simple by today's standards, but it wasn't just the first "search a dungeon for treasure and fight monsters" game for home consoles; it actually friggin' worked.

What Robinett pulled off with Adventure, especially on the piddling 2600 hardware, was unlike anything the gaming industry had ever seen before, and he isn't blind to how much his game has been "widely imitated" ever since (even calling out The Legend of Zelda by name). More crucially, Robinett can easily confirm that he was the game's sole creator, since, at the time, each 2600 game was produced entirely by one person.

The whole freaking map!
Enlarge / The whole freaking map!
Sam Machkovech

"How many people have had a job where they’re told, 'your job is to make video games, go make one'?" Robinett asked his GDC panel's crowd. "That’s what I heard on my first day of work, along with the fact that everyone in marketing was idiots."

In the fall of 1977, the 26-year-old Robinett was hired at Atari, where he debuted by producing the 2600's Slot Racers—a rudimentary racing game with a gun mechanic. For his next game, he wanted to create something much more inspired, so he turned to the most compelling game he'd played at the time: Colossal Cave Adventure, the "original text adventure game" made by Don Woods and Will Crowther exclusively for mainframe computers (which he'd luckily had access to).

With aspirations of making a similar game, full of traversal, items, and monsters, Robinett went to his Atari bosses and pitched a game inspired by CCA. Knowing that the mainframe text adventure required hundreds of kilobytes of memory, and that the 2600 only had 4K, he was told not to bother. "How many of you have been told not to work on something?" Robinett asked the GDC crowd. "How many of your bosses were wrong?"

Knowing he had roughly one month to secretly prototype his dream game, he focused on feasibility in his first build—as in, proving he could get the 2600 to manage an quest-like game with six rooms, two objects, and one dragon. The fun would have to come later, but some of Adventure's core concepts came about because of that feasibility effort. For example, Robinett tossed the idea of an "inventory screen" early on just as a memory concern, only to realize it also solved the 2600's controller issue of having only one button. "I like the idea of staying in real time," Robinett said, as opposed to having a pause screen, "and limiting players to one object gave them a strategic choice—weapon or treasure."

“C is more palatable”

From the sound of it, the development process's biggest "a-ha" came when Robinett figured out a form of artificial intelligence for the game's bats and dragons. It was a simple one, at that: they were each attracted to or repelled by certain objects, and a hierarchy governed which thing each object would react to first.

In all, the game contained 30 rooms, 14 objects and four creatures (three of which were color swaps for the dragon). He was then able to devote up to 40 bytes per room and up to 30 bytes per object. However, Robinett insists that he "never had to crunch Adventure" to make it fit in a cartridge. He pointed to his computer science education at Rice (undergrad) and UC Berkeley (graduate), and specifically at classes with Unix and C inventor Ken Thompson at the latter. "He required us to use C," he said. "It taught me to think like a C programmer."

As far as particularly technical stuff, Robinett talked at length about design decisions such as conserving RAM on the 2600, and he did so by "using a lot of variable-length data structures, because that didn't waste any bytes," along with leaving a lot of inactive objects within the game's ROM. "That let me only use RAM when I truly needed it," he said. Anybody truly curious about the game's technical foundation may want to look up The Annotated Adventure, an e-book that he's currently finishing. It will include the complete Adventure engine—and for that effort, he translated the original Assembly code "by hand to C to make it more palatable." (During a Q&A portion, a few developers pleaded with Robinett to release the original Assembly code.)

Had Atari's marketing team had its way, Adventure may have been cut off at the pass and turned into a Superman game shortly after the first prototype was completed. Atari's John Dunn was actually tasked with taking that prototype code and slapping Superman into it, which meant Robinett could continue making his quest as he saw fit. Robinett also took a quick potshot at his former bosses: "The big-money guys from New York didn't succeed in controlling us 2600 programmers very well," he said. "They treated us so bad that we quit and started working at competing companies."

He didn't otherwise speak at length about disagreements he had with Atari management, except to point out that he knew his name wasn't going to be on the box and that he wouldn't receive royalties. Thus, he made sure to sneak a "signature" into the code itself.

"I had to write my name within the limitations of the 2600," Robinett said as a screenshot of the game's famed "easter egg" popped up on the screen, which read, "created by Warren Robinett." "Perhaps I wouldn't be here today if I hadn't done this sneaky trick." (Robinett also confirmed that he has since e-mailed with the first person to tip Atari off to the game's secret room.)

“A more complex machine”

Yars' Revenge creator Howard Scott Warshaw benefited to some extent from that developer blowback, as he was the first Atari programmer to have his name printed on his game's cartridge; what a difference three years makes. After being tasked with adapting Atari's coin-op game Star Castle as a home game, Warshaw pushed back—"though I'm a firm believer that you don't complain without solutions," he added. Thus, he said he'd take the game's concept and adapt it for the weaker 2600 hardware, which got the thumbs-up.

The resulting game was a weird twist on Space Invaders' style of shooting from behind a protective barrier, and it hinged on something Warshaw desperately wanted the game to have—a full-screen explosion, triggered whenever players killed the game's major villains with a super missile. Trouble was, controlling the ship's movement, direction, and both basic and super attacks was too much to fit onto the 2600's limited controller. Eventually, Warshaw figured it out: "I switched from a controller button to a gameplay mechanic" to trigger the super missile. "You give the player more to do and increase the drama and complexity of the game that way."

Warshaw also talked about making an entire game fit into 4 kilobytes, and he credited his educational upbringing as an economist for that. "It taught me how to find bold-faced, cheaper ways of doing things," Warshaw said. "I threw graphics into sound and color registers. I stole stack registers to save cycles. And scores? We don't need a score... display. Who cares what your score is? If your play is immersive, you're paying attention to what you do in the game."

As far as interacting with Atari's sales and marketing teams, Warshaw didn't experience much friction. He even told a story of how he convinced Atari to go with his dream game name, by telling one marketing employee that it was named after Atari's founder, Ray Kassar ("Yar" being Ray backwards), then swearing that employee to secrecy about the fact that Kassar was in on the name—a flat-out lie. "This guy is going to run back and tell everyone," Warshaw said, and indeed, the forbidden fib swayed the entire department.

After Yars' success, Warshaw went on to make two Steven Spielberg-related games for Atari, one of which didn't do all that well. After that, the programmer trained to become a therapist, and he said it made perfect sense to take that route. "Being a therapist, or a game programmer, is all systems engineering," he said. "I've moved on to a more complex machine, is the way I look at it."

Listing image by Sam Machkovech

Channel Ars Technica