... David Springer
By Scott Stilphen
DP: What’s your educational background?
David Springer: A lot of electronics schooling in the military then a couple years of college after that. I built a personal computer back in the late 1970s and after a few programming courses in college was mostly self-taught from there.
DP: What inspired you to go into game design?
David Springer: Fun and the promise of getting rich quick.
DP: Were there any programmers or games that inspired you?
David Springer: Not really. I mean I played arcade games a fair amount in bars in Southern California while stationed at MCAS El Toro and afterward but nothing in particular. If had to pick someone and some games I’d say John Carmack and just about everything he wrote from Wolfenstein through Quake. Even at Dell when I was bringing out the first NVIDIA card for the Dimension desktop product line around 1998 I focused on having the fastest Quake benchmark.
DP: Did you work for anyone prior to Western Technologies (after school)?
David Springer: Oh sure. Four years in the USMC repairing aviation electronics. After that fixed TVs in SoCal to help pay my tuition and living expenses while in college. Worked for Newport Electronics for a year fixing digital panel meters and met my wife there in 1980. They had an HP2000 minicomputer and I used to do my Fortran homework on it. Then I worked at Convergence Corporation for while repairing and calibrating high end video editing equipment. While at Convergence I met some guys who were going in on a group purchase for a bunch of Z-80 based pc motherboards called “The Big Board II” and all the parts to stuff the boards. I built one of them then added a couple of double-sided double-density 8” floppy drives. I did the homework for my college structured programming courses on that machine. As I recall I was using Digital Research Pascal I’d got from one of the other guys who built a Big Board II. My first pc was an Altair 8800 I also acquired while working for Convergence. After a couple years of college and finishing up a microprocessor architecture class and was ready to transfer to Cal State Fullerton to finish a BSCS, I applied for a full-time job as an engineering technician at a very small company near the university called Jonos International. They designed and manufactured a STD-bus portable computer that ran CP/M. The VP of engineering, the only engineer in the company, was so impressed by me at the interview he offered me a starting salary way over what fresh BSCS graduates were getting. So I took the job and that was essentially the end of college for me. I worked there for a year then took a job with Western Technologies where AndroMan comes in. While at Jonos I was still playing around at home with other computers. I had a Radio Shack Color Computer that I messed around with programming in BASIC. Then I happened to buy a Colecovision game console. Interested in being able to program it, I wire-wrapped a ROM emulator board that was hosted in one of our portables from Jonos. I was able to write programs using the word processor and assembler on the Jonos and run them with the ROM emulator socket plugged into the cartridge port on the Coleco. But first I dumped the contents of the Coleco’s BIOS ROM, disassembled the machine code into assembly code, figured out the entry points, and commented them. After that I was able to write programs for it.
Somehow, I forget how, I met a guy named Dave Hampton from Western Technologies (in 1981) who’d just written Q*bert for the Atari VCS. I showed him my Colecovision programming setup and he said I had to go interview for a job at his company. As it turned out WT had just paid a pro in Florida $50,000 to reverse-engineer the Colecovision and here I’d done it in my spare time in just a few weeks for the fun of it. The Smith Brothers interviewed me, and after seeing my Colecovision demo working (which showed an airplane pulling a banner across the screen which read "David Springer Presents Colecovision") hired me on the spot for a starting salary of $50,000. Since I lived 50 miles away, they said it was fine for me to work from home, showing up at the office just once or twice a week for a few hours. I couldn’t say no.
DP: What was the development process like?
David Springer: Depends on what system. I wrote programs for the Apple II, IBM PC, a handheld predecessor to the GameBoy, probably something else I’m forgetting, and then the Atari VCS of course. In general we used in circuit emulators (ICE) that replaced the CPU in the target machine. We then did our coding on another machine - mostly an S-100 based computer running CP/M - and downloaded the executable code into the ICE. The ICE had hardware single stepping, breakpoints, register dumps, memory dumps, and various other aids for debugging. When the AndroMan project got underway there were four programmers and four games. The Smiths offered a choice of various prizes for the first programmer to get a game done. One of the choices was a brand new IBM PC (they’d just come out and had a price tag of $4,000); I finished first and chose that.
The IBM PC project was a software simulator for a handheld video game we were designing. My mission was to make a platform on which programmers could write and debug games for the handheld before the handheld hardware was available. I'm pretty sure the screen resolution was 64x64 or maybe larger. The processor was 8-bit, onboard. Not sure about RAM/ROM capacity but it was enough for a FIG-Forth kernal, which is probably at least 4K ROM and 256 bytes of RAM. Forth is a stack-oriented language so you need RAM for a normal return stack plus a working stack plus variable storage. The main reason for using Forth was the promise of rapid game development. I finished the simulator and wrote one game on it. The game was a port of Missile Command. The real handheld hardware never went into mass production as far as I know.
DP: What were the hours in your department? Was your schedule fixed (i.e. 9 to 5) or could you basically come and go as you pleased?
David Springer: I worked at home whatever hours I chose. I put in a good 70 or 80 hours a week. I loved programming and it was basically all I did during waking hours. I was stoned pretty much constantly too. No one knew that and this is probably the first time I’ve told anyone other than close friends and family. In fact all through the military, college, and my entire career that was the case. It helps me stay intensely focused on a narrow problem for many hours on end and nothing short of a natural disaster can disturb that focus. Running on nothing but pot, cigarettes, and soda, I could work for 24 hours straight before needing to eat and sleep. I’d say 1 day a week I drove into the office and played arcade games for 8 hours until the rush hour traffic was over. WT had a bunch of arcade games in the rec room and programmers could play them to their heart’s content. WT was results-oriented and I always delivered superb work way ahead of schedule - no one cared how I got it done.
DP: Were the titles you worked on assigned, or chosen by yourself?
David Springer: I can’t really remember how we passed out different titles on the same system. The only time we had multiple deliverables on the same system was the AndroMan project AFAIK. Otherwise it was usually driven by the delivery date for the title and who was available around the time the work needed to begin for it. I was able to come up to speed on virtually any platform in a matter of days so it didn’t matter if I’d worked on it before or not. Given my druthers I’d usually choose something new to remain as challenged as possible and to prevent boredom.
DP: I read your account of the AndroMan project (from Rick Rowland’s site - reprinted below) and you mentioned only 3 of the 6 planned Androbot games were completed. The only one we’ve seen so far is Michael Case’s AndroMan on the Moon game. You also mention finishing a version of Parker Brothers’ board game, Clue, and working on another when the project was cancelled. Since then, do you recall what your other game was, or who the other programmers were?
No, I still can’t recall. The AndroMan robot was designed by Western
Technology. The lead hardware engineer was at Western Technologies and did some
of the work on AndroMan but we had like a branch office and/or consultants in
Florida who did some of the hardware and possibly all of the software in
the robot. You know the prototype robot's chassis was a cannibalized "Big
Wheel" toy truck, right?
The next project after that I believe was a science
education game that simulated a spaceship ride into a black hole. You had
various equipment like clocks and rulers and scales to set up experiments and
observe the results as you approached the event horizon. That was on the Apple
II. I'm not sure if it was released, or even if it was completely
finished. It was nearly finished if not completely finished but it was
definitely a Western Technologies assigned project. I remember the development
platform - a 6502 In-Circuit-Emulator plugged into the CPU socket of the Apple
and connected via Centronics parallel port to an S-100 based platform running
the CP/M operating system with a Z-80 processor. WordStar was the editor I used
for writing code, and then a "cross compiler" assembled it to machine code for
downloading to the ICE for execution on the target machine.
I’m really, really bad with names. I remember Mike Case and stayed in contact with him on and off over the next 25 years. I remember the engineering manager’s name, Joel Hassel, for some reason. We used to go out for sushi whenever I showed up at the office. He was allergic to shellfish but loved sushi so much he injected himself with some sort of prescription anti-allergy drug just so he could eat sushi without ending up in the hospital emergency room. I still love sushi and make for myself, wife, and kids once or twice a week.
DP: Mike also mentioned you wrote the code for interfacing with the robot.
David Springer: Yes, I wrote the communication code on the VCS side that all the games used. I don't have anything but my recollection left from it. The VCS IR tr/rx hardware was connected to one of the joystick ports. As I recall we had a full duplex serial link running at 60 baud. Every vertical refresh a bit from the transmit buffer was shifted out to the robot and a bit was read in from the robot during the same sync interval. I'm not sure what protocol we used but I think it was 1 start bit, 1 stop, 1 parity, 4 bit command codes to the robot to control motion, and 8 bit data codes coming back from the bar code reader on the robot. I also completed one game (Clue) that was demonstrated to the top brass at Atari (I was there for the demo) and had another game (can't recall the name) about half finished when the whole project was cancelled.
DP: Did you work with any graphics or sound artists? If so, do you recall who helped with what?
David Springer: We had both. I don’t remember any names. Mike reminded me just this week our sound guy’s name was Lenny Carlson. He was older than us and looked like a stereotypical 1960’s musician. I bet he had a better bong collection than I did but that’s just speculation. Usually the way I worked with those guys is I told them exactly what I could do with my hardware – number of pixels, number of colors, and other restrictions (which on the VCS were a bit strange and very restrictive) then I’d have them supply me with graph paper with all the little squares colored in. I’d then translate that by hand directly to binary and key it in. Other programmers had them draw up the graphics with as much color and detail as the artist wanted then the programmer would just do his best to render it with the available resources. I figured the graphic artist could do a better job of working around the limitations than I could so I had them draw it under those limitations. Definitely less work for me in any case
DP: Do you recall anything about Clue, as far as, did it have a title screen, or have a 2-player option, etc.?
(The only AndroMan robot known to exist is currently owned by Robert Doerr of http://www.robotswanted.com/. Picture courtesy of Robert Doerr.)
David Springer: Yes, it had a title screen and a two player option but only one person could play at a time since there were only two joysticks and one of those was occupied by the IR communication tower.
DP: What was the easiest/hardest part of designing Clue or the Tx/Rx code?
David Springer: It was all easy for me but perhaps the greatest challenge on the VCS was optimizing code to fit as many features as possible into a small ROM. One thing I did that no one had ever done before was to get 32 different colors on a single horizontal scan line. Mike Case was our in-house expert on the VCS. He gave us a day or two long seminar on how to program it. During the seminar he mentioned a theoretical way that no one had ever done that could possibly get 32 colors on a single scan line. To do it required using self-modifying code running in page 0 RAM. Since you only had 128 bytes of RAM in that system and it had to contain all your variables and your return stack, it was questionable whether it was possible to have enough left over to wedge in the self-modifying code. Most college schooled degreed programmers shun self-modifying code but I was a self-taught hobbyist/hacker so it didn’t bother me any. I got it to work and it wasn’t at all difficult. When I traveled up to Atari with the WT president and Nolan Bushnell to show the president and others at Atari the first completed game (Clue) there was a conference table full of Atari execs and technical staff, including the VP of Engineering (or whatever the head technical honcho was called) and when the Atari president saw the characters in Clue rendered in 32 colors (which gave them an unprecedented richness of detail) he gave a cross look at his engineering guru and said to him “Why can’t WE do things like that?”. I felt about 20 feet tall at that moment.
DP: With your game(s), were there any features you would have liked to added, or any known bugs or glitches that gave you trouble (or never got resolved)?
David Springer: Everyone always had more stuff they’d like to add but there was just a limit on how much ROM you had to cram it into. You could sometimes add a new feature just by freeing up 30 bytes of ROM and one byte of RAM. So if there was time what you did was go through your code with a fine-toothed comb trying to make it more efficient to recover enough. I didn’t do much of that as my code was about as optimized as it could get when first written. Dave Hampton, the guy that did the million-selling Q*bert port to the VCS, told me he spent over half his time optimizing code to make space to get more levels into the game
DP: What were some of your experiences working for WT? Any stories or anecdotes from those days that you recall?
David Springer: None that I didn’t already mention except maybe the thing that made me resign. After I’d been there a year they hired a new VP of Engineering. The former one was the younger of the Smith brothers and he wanted to go off and do bigger things at another company. As I recall he had a PhD in some technical field and wanted to go use it at some big company doing big company research with big company budgets. Anyhow, the new VP said there would be no more working from home for the few of us who were allowed to do that. That would mean either moving to L.A. or commuting about 3 hours on a good day and more on a bad day. I said, “Thanks for all the fish but that’s unacceptable.” I think I cried on the way home after I quit. The next day Jonos International rehired me - this time as a full engineer - and within the next year the computer I and the VP of Engineering at Jonos designed made the front cover of Popular Science along with Adam Osborne’s Kaypro and a few other portables.
DP: Since WT, have you stayed within the field of game design?
David Springer: I’m sorry to say… no, not really. I fell over to the dark side and worked on business-oriented systems for the next 18 years. That was where the big money was. Aside from loving to program I love making a lot of money. I got into the video game biz a year or two too late for that. I did a lot of motherboard hardware and BIOS design for a company called Advanced Digital Corporation - first as an employee then on a contract basis. I founded a small company of my own that produced a high-end graphics card for AutoCad. Then I returned for a third time to Jonos (although it was no longer Jonos, it was now Netcom Research, and its founder was the VP of Engineering from Jonos) where I did a few amazing designs around the (then new) Intel 80386 and 80486 CPUs until the company folded because of financial mismanagement. That was 1992. I was pretty much unemployed for the next 6 months. Southern California was in a slump. The so-called “peace dividend” from the end of the cold war had put thousands of engineers out of work. I finally got two job offers. One was from Intel (who I’d consulted for in the past and knew me well) designing PC motherboards in Pasadena for $70K/yr (I’d been making $80K at Netcom), and an offer from Dell Computer in Austin, Texas for $55,000/yr. My wife and I didn’t want to move to Pasadena but she had a lot of family in Austin and the salary difference was made up for by a lot lower cost of living in Austin so we moved to Texas. I thought Dell was just a rest stop while I started another company (I still wanted to do games). But Dell turned out to be a truly amazing company and went from $1B/year to $40B/year in sales over the 7 years I worked there. It floored me that the big company with the big team projects I’d always hated would be where I made my fortune. Go figure.
The one exception to game programming I did on the side, on a personal basis, from 1995 to 2000. I wrote an online multiplayer card and board game system called Igames. By word of mouth alone (I took away Sierra Online’s members from “The Sierra Network” by duplicating their graphical user interface which everyone loved and made it inexpensive to use through peer-to-peer networking ) I soon had 10,000 regular players - 700 simultaneous users every night of the week during prime hours. In 1998 I hooked up with DoubleClick, the big internet ad agency, and started serving banner ads. I wasn’t browser-based so I had to write a lot of original http support code and a GIF decoder to interface with DoubleClick’s ad servers but it sure worked out well. For the next two years I was serving 4 million banner ads per month and making about a quarter of a penny for each of them. I was getting a check in the mail for $10,000 every month like clockwork from DoubleClick. The software was essentially finished, my expenses and time commitment was close to nil, so it was like have a printing press for money for two years. My co-workers at Dell were green with envy but we all getting rich at Dell by that time anyhow so it was a light shade of green.
DP: Occasionally, programmers would put little “Easter eggs” in some of their games that would reveal their name, or a message. Are there Easter eggs in any of your titles? Do you recall any fellow co-workers that did?
David Springer: None that I know of. I embedded my name in a Dell BIOS one time but otherwise I always shunned those antics. Never left any secret backdoors or anything like that.
DP: If you had a chance to redo any of your games, what would you change (if anything)?
David Springer: Not a thing.
DP: Did you ever attend any industry shows, such as CES or Toy Fair?
David Springer: Lots of them. Many trips to Vegas for the big conventions. Microsoft gave me space in their booth at the CGDC in 1998 or 1999. I had a demo version of Igames on their DirectX developer’s CD that year. I put the DirectPlay interface into Igames and was the first 3rd-party developer to have a working DirectX game lobby on the internet. I’ve worked very closely with Intel and Microsoft for decades. I hitched my wagon to theirs starting while I was still in college in 1980. I idolize John Carmack but we butted heads back in the mid-1990’s. I’m a company man and I was on Microsoft’s side in the so-called OpenGL wars. Carmack was on the other side. I don’t believe in taking any prisoners and was pretty brutal on the usenet group rec.games.developers in defending Microsquishy. I said DirectX might not be as programmer friendly or efficient as OpenGL but it was “good enough” and Microsoft was an unstoppable force. Most of the people on that group hated me but I think they knew I was right. Time proved me right of course. Microsoft IS unstoppable.
DP: Are you still at Dell?
David Springer: I retired in 2000. I’m sort of a house husband. My workaday passion these last years has been developing several acres of lakefront property a few miles outside Austin. It was undeveloped when it I bought it a year before I left Dell. I cleared it with a chainsaw and tractor, built a boat dock, some sheds, a driveway, a foundation for a big house, had a big houseboat out there for four years, and stuff like that. I’ve got a ton of work to do out there as we speak but I just got back from a 3 month vacation in upstate NY and I’m not reacclimated to the Texas heat yet so I’ll use any excuse to stay inside another day.
DP: Do you still own any of your games for these systems, either as a keepsake, or to show friends or family?
David Springer: Not a single thing. I might have kept a few odds and ends but generally turned over everything when I left a company. Anything I didn’t turn in from that far back didn’t survive the cut when the garage gets cleaned out every so often.
DP: Which of your titles are your favorite, and what types of games in general?
David Springer: I only wrote video games professionally for a single year at WT. Not a one of them (I completed three) was ever published. Half of the projects got cancelled before I could finish anything. That was discouraging but not really unusual in the game business back then I guess. Hell of a way to run a business. Mike Dell would have a cow and heads would roll if that happened with any frequency at Dell.
DP: Have you stayed in touch with any of your former co-workers?
David Springer: Just Mike Case from Western Technologies.
DP: What are your thoughts on how the industry has evolved?
David Springer: It went from small time and fun, where one lone wolf programmer (John Carmack comes to mind) could do amazing things single handed and get rich doing it, to big business with major productions and large teams. Igames was my final lone wolf masterpiece. It was over a million lines of C++ code with all the backend server software included. It was all my code. When I get on a roll I’ve clocked myself at 300 lines of C++ code per hour and more often than not it compiles clean on the first pass and executes flawlessly. Even skill like that isn’t enough anymore to do it yourself. I said goodbye I guess about the same time Carmack did and I think for probably most of the same reasons. I didn’t make enough money to start building spaceships though. If I had I probably would be as science is my one true undying love. Computer science just happened to be the science I was best at but I love all the hard sciences and spend a lot of time keeping up with it. My scientific passion for last few years has been microbiology and genomics. If I were a young man today that’s the field I’d be getting into for a career choice. One guy in genetic engineering can probably still change the world. I wish he’d hurry up… I’m going to be needing those medical nanobots that can reverse the aging process, in the words of Jerry Pournelle, “Real Soon Now”.
The following are David Springer's comments, reprinted
from Rick Rowland's Small Robot site -
|I was involved in at least one incarnation (of Androman)
and was at the big meeting as Atari HQ where we demoed the product to them.
As far as I know there was a contract to develop the hardware and 6 game titles awarded to Western Technologies circa 1982. If I'm not mistaken it was a $3 million contract of which I think 1 or 2 million was paid. Nolan Bushnell as Androbot, Inc was the contractor and he was assuming he'd be able to sell the finish project to Atari.
There were four programmers. I think only 3 games were finished before the contract was canceled. I finished one of the games, a computer version of the board game 'Clue' and was about one month into a second game (I don't recall the second game name or names of the others).
I also developed the VCS<>robot communications code that was used in all the games.
The hardware was developed by a Western Technology office in Florida, I believe, and me and the other game programmers were in Los Angeles office. The drive gear in the prototype that we used to develop the games was cannibalized from a 'Big Wheel' toy truck. The robot didn't have much on board smarts, just a small embedded microprocessor. He had a 360 degree IR tx/rx unit on his head and there was a matching unit that plugged into one joystick port on the Atari 2600. He also had a photosensitive unit on his base (basically a bar code reader) so he could read bar codes on the play mat as he moved over them.
My involvement in the (Androman) project was about 6 months long and terminated with the meeting at Atari where they declined to do anything with it. The word was it was not a good year for introducing any expensive new toys (putting the robot into mass production was ex$pen$ive)
To the best of my knowledge I turned in the playmat and all the hardware, including the rom carts, at the end of the project. Same with docs. Even if I did keep some of it I'm sure it didn't survive the several garage cleanouts that have occurred as my house in the past 15 years.
I am a senor programmer with Dell Computer now. Dimension product line, and have been here for about 5 years. I still dabble in game programming on the side and have a successful multiplayer internet gaming site called Igames at http://www.igames.com
I'm still in touch with one of the other programmers, Mike Case, who is now president of Digital Dialect (a pc game design house) at http://www.digitald.com
The only other name I recall (other than Smith brothers who owned Western Technologies) is Joel Hassel (sp), who was the software project manager. Joel is an Ivy league grad who was a few years younger than Mike & myself, which would put him at maybe 38 yrs. Old today. Mike and I were just over 40.
|Clue||Atari VCS/2600||Western Technologies||unreleased|
|"unknown AndroMan" game||Atari VCS/2600||Western Technologies||not completed|
|Missile Command||PC handheld simulator||Western Technologies||unreleased|
|"science education" game||Apple II||Western Technologies||unreleased?|
Return to Digital Press Home