Ed Riddle interview

By Scott Stilphen
(2017)

 

Ed "Edrid" Riddle was one of the original Atari VCS programmers.  His one and only released game, Indy 500, was an instant classic that's still tremendously fun to play 40 years later.   He was also part of the original team that designed the Apple Macintosh.

 

Q: What inspired you to pursue a career in game design? Were there any programmers or games that inspired you?

Ed Riddle: I never pursued a career in game design.  I was only mildly interested in computer games.  I loved digital hardware design and wanted to learn programming.  When I was hired at Atari, I had not written much code.

Q: What’s your educational background?

Ed Riddle: I went to about 13 different colleges, universities, and jr. colleges.  My focus was physics, math, and psychology in college.  Wasn’t really seeking a degree in anything, I was just satisfying my curiosity, becoming broadly educated.

Q: How did the opportunity to work for Atari come about?

Ed Riddle: I worked with a very accomplished engineer, Rod Holt, at Coherent Radiation, a laser company.  Rod had worked with Wade Tuma previously.  When Wade got Rod to come to Atari, Rod encouraged me to come along; the same thing happened when Rod left Atari and went to Apple.  He drew me in to joining the original Macintosh project.


(LEFT) Trak 10 flyer: (CENTER) Sprint 8 flyer; (RIGHT) Indy 500 box.

Q: You were one of the seven, original VCS game designers.  Indy 500 was the only VCS game you programmed, and you left Atari soon after its release.  Atari pioneered what are today considered top-down racing games, first with Gran Trak 10 and soon followed them up with Indy 800, Indy 4, Crash 'N Score, and Sprint.  Indy 500 encapsulated all of these and even included features they didn’t, such as the ice track variations.  The game even included special Driving Controllers that weren’t supported by any other games, which is a shame as it’s a wonderful controller.  Indy 500 is also one of the few games in which the audio was programmed for stereo output whereby each player's car sounds come out their respective channel.  What do you recall about the development of Indy 500?

Ed Riddle: When I arrived at Atari, they said I should just think of something useful to do.  They said I should just play a lot of video games and see if I could come up with something interesting.  For a few days I felt pretty lost, but also very free to follow my instincts.

I realized that there wasn’t a good way to actively debug game programs that were being started by the other programmers, so I designed a simple workstation for debugging code.  It consisted of a dual port memory system where the programmer could run his 2600 ROM code from a block of RAM.  It was based on a KIM-1 single board computer and a circuit I designed.  It was very primitive.  You could run your program from RAM and then use the KIM-1 to patch it as needed using a hex keypad.  I made about 5 or 6 of them for the programmers.  It was a big improvement because we were writing in Assembler on a timeshare computer and could only run compiles overnight.  You’d have to wait until the next day to see how your code worked.  With the workstation, we’d download the morning’s object code into a cassette tape and then transfer the contents to the workstation RAM for tweaking and debugging.

After that, Wade Tuma asked me if I’d like to program a game and I said I’d give it a try, but I was not a programmer.  Larry Wagner said he’d give me some code he worked out for a driving game and I could start with that.  The code he gave me was the “kernel” - some table structures for the graphics, and the basic move routines.  The kernel was the code that output the video line by line in real time.  The table structures were not the kernel; they defined the playfields, the sprite objects, and motion dynamics.  Using this as a basis, I conceived of a set of 4 games that could be supported by his design, the basic Indy race, a simple crash and score, a tag game, and Ice Race.  Games had two levels of challenge (easy and hard) and could be run as single player or two player.

One of the key design issues was what kind of controller to use.  We wanted to use joysticks or pots because we already had them for other games, but a joystick isn’t a good fit for a driving game - we needed a steering wheel.  Pots (Pong paddle controllers) couldn’t work because the cars were going around in a circle, mostly left turns, and the pot would come to the end of its range right away.  I tried every conceivable way to make a pot work, but concluded it could not be done.  We went with a coding wheel approach.  It worked very well right from the start.  It was unfortunate that we did not come up with more games that could use it.

The basic driving game came together pretty easily, as did the code for the other games.  I spent a lot of time tweaking parameters to make the play dynamics smooth and enjoyable.  Since I made many of the play parameters adjustable, I easily came up with variations and ended up with 14 games based on the core routines of the program.

Wade seemed a little disappointed in the game in its early incarnation.  It wasn’t imaginative enough, but he understood that the limitations of the display tech and the size of the ROM didn’t leave much room for innovation.  I felt having the car skid would help, and having a penalty for crashing into another car and the playfield would help.  The sound system was really primitive so there wasn’t much I could do with that.  I did a rather major rewrite to incorporate the skid into the system.  This was perhaps the most fun to program.  It was designed with parameters that controlled the onset of the skid (angle and speed) and the slipperiness of the road.  When I maxed out the parameters, it became "Ice Race".

Once I finished the coding, the game seemed well-received and I was happy.  It was the first serious programming I had attempted.


(LEFT) Atari's Indy 800 arcade game: (RIGHT) Indy 500's "Devil's Elbow" game variation.


(LEFT) Atari's Crash 'N Score arcade game: (RIGHT) Indy 500's "Crash 'n Score" game variation

Q: Were there any features you would have liked to added, or any known bugs or glitches that gave you trouble (or never got resolved)?

Ed Riddle: Funny anecdote: I submitted my code for compile one evening and it had a typo.  I had left out a single semicolon in a data table.  This caused the timeshare compiler to go into an infinite loop.  The cost of the compile was based on the number of computer cycles it used, so the bill for that compile was in the tens of thousands of dollars.  I was called in by management and I was a little nervous as you can imagine.  I complained that we should not be charged for what was obviously a bug in the compiler (to not catch such a simple typo), and the managers supported me on this, so I believe Atari eventually got out of having to pay most of it.  Whew!

The game system had huge limitations.  The processor had to compose and output each line of the TV raster on the fly, loading registers from ROM tables during the horizontal blanking intervals.  Very slow microprocessor – only a few loads and stores were possible on each line.  This restricted what you could do with the playfield and sprites during play.  All of game play computing had to be done during the vertical blanking interval, a very short time interval, so not all updates could be computed in a single vertical interval.  I had to devise a task manager to give priority to the fast action that needed updates every frame and assign a lower priority to less-demanding operations.

Also, the sprite graphics (the cars were 8 x 8 pixels).  Try to make a bitmap of a car with that!  We needed bitmaps of cars at 16 different angles.  The one at 22.5 degrees angle looked like random trash.  If it wasn’t for the brain’s capacity to make patterns out of sketchy data, it would be awful.

The 2600 program ROM was quite small.  I had 4K bytes for the entire program.  That’s not much for 14 variations.  I particularly enjoyed refining the program so that the whole thing would fit in its ROM.  There wasn’t enough space to have separate car crash pictures, so I just randomly changed the angle of the car when it crashed.  One bug I never found caused the car to spin around during a crash.  It was OK, because everyone actually liked it.  I never did figure out why it did that, though.


Larry Wagner's development notes for the 9 VCS games. 

Q: How was it Indy 500 was the only game you did at Atari?

Ed Riddle: I came up with a follow-on game called Roach Wars but people felt it would not be politically correct.  A lot of people would have negative associations with roaches.  Some of the engineers in our group loved it, though.  It made them laugh a lot.  It was just the driving game with some parameter tweaks and different playfields and sprites.  Instead of cars, there were bugs.  The bugs would fire projectiles out of their butts to hit other bugs.  It was hard to control the bugs because everything happened fast, but people liked playing it.

Q: I can't imagine a game involving shooting bugs would have been an issue (unlike with a game like Death Race where the objective was to run people over).  Centipede came out in 1980 and was one of Atari's most-popular games :)

You mentioned Roach Wars was basically Indy 500 with the ability to shoot at the other player.  How did you control both driving (accelerating) and shooting with having only 1 button?  Did the bugs move at a constant speed?

Ed Riddle: I don’t know why they would worry about it, either.  I guess roaches are pretty ghastly to some people.  The playfield was a kitchen floor, with the sink and stove, etc. around the edges.

I did a quick hack to use the joysticks to control the roaches.  Moving Left and Right spun them around and Up accelerated them.  I played with the responses until you could just barely control the bugs.  Though it was fun, I don’t know if it would have been a commercial success.  Less than a dozen people ever tried playing it.

Q: Why did you leave Atari?

Ed Riddle: I didn’t want to specialize in video games.  I wasn’t a gamer.  I had an offer to do something more to my liking.  I liked the people at Atari and left with good feelings.  The manager I worked with at the laser company, Mike Watts, wanted to start up a personal computer company and I offered to rent my garage in Menlo Park to him to get it started—$50/month.  Lots of computer companies were starting in garages in those days.  He soon produced a 64K S-100 bus dynamic memory board (considered huge at the time).  He asked me to write some memory test programs.  So while I worked at Atari, I was moonlighting, learning to program by writing the memory tests.  When I was invited to write Indy 500, that was the extent of my background in programming.  As time went on, the startup, named Dynabyte, began to be successful and Mike asked me to design some interesting products.  I left Atari to work full-time at the start-up.  The first product I designed was called the Naked Terminal (link).  I designed the circuit, designed the firmware that controlled it and the memory tests for it, and even wrote the user manual.  Designing personal computers was more to my liking, so that is why I left Atari.

One interesting project I did before I left Atari: we wanted to see if we could offer a 3D video game, something like a Pong game but with the game play incorporating a “Z axis".  I went up to Stanford University and did some research on 3D perception and came back with some ideas.  I built a breadboard that would generate blue and a red images - just little boxes and circles and such.  I hard-wired the objects so they would appear to go forward and back in a loop, carefully controlling the various elements of 3D vision (parallax, contrast, brightness, size, etc.).  You’d have to wear special red and blue filter glasses to isolate the blue and red images.  It worked well and the 3D was quite convincing, but Atari decided that they would not pursue it because they thought wearing the glasses might cause some people to complain about their eyes.  It did make your eyes get tired pretty quickly.  Nothing really came of it.

Q: You mentioned being part of the original Macintosh project.  What was your involvement with that?

Ed Riddle: In 1981 I joined the original Macintosh design team at Apple as a member of the senior technical staff.  I designed the keyboard that came with the original Mac.  I came onboard when the project was just starting.  Steve Jobs hired me and we had a very novel job interview.  There’s a cute story about it online.

Q: Can you describe your career, between then and now, and where you’re currently working?

Ed Riddle: I’ve been retired for the last 12 or so years.  I worked at a number of places after leaving Atari.  I designed specialized microcomputers and peripheral devices for industrial applications.

At this time I was more interested in Zen, contemplative arts, enlightenment, and such, as well as music, so I wanted to work someplace where I would not have to be so dedicated to my job, so I quit Apple and worked as an independent contractor on hardware and software designs, giving myself plenty of time between jobs to pursue my other interests.  I worked for startups as well as well-established companies as a senior engineer, even as a Director of R&D at Ampro Computers, but I gave myself plenty of off time for other interests.  In 1993 I started doing some technical writing (not so much user manuals as technical information for engineers and developers) and shifted my focus to that for the remainder of my career.

Q: That CNET article mentions you play in a band.  What type of music does your band play, and what instrument do you play?

Ed Riddle: Our band, The Rich Gritty Band, plays a lot of blues, some jazz, some doo wop, some R&B, and some rock.  It’s a neighborhood band.  I’m lead guitar and main singer.  We have a rhythm guitarist who sings, a bass player, a woman who plays keyboards and blues harp, and my wife is percussionist.  We play for civic events and occasional parties.  Mostly, though, we get together once a week just to have some fun.  I run an open mic night once a month and we play there as the house band.  I started a weekly music event at a local cafe, and other things like that.  I’ve been doing things to create a strong music community in Oak Grove where I live.  Check out a video from a while back.  Band membership is a little different now.

Q: Do you still own a copy of your game, either as a keepsake, or to show friends or family?

Ed Riddle: My son had a 2600 and a copy of my game and controllers, but he got rid of them a year or so ago, so, no, I don’t currently have a copy of my game.  I haven’t played it for years.  I sometimes wish I had kept a copy of Roach Wars…

Q: What are your thoughts on how the industry has evolved?

Ed Riddle: I was never very interested in games so I don’t have much to say about the industry.  Clearly, gaming has helped to accelerate hardware and software innovation.


Return to main menu