May 2010- http://a9k.info/qna.html
Can you tell me a little about your background and how you got started in games?
My brother and I played a lot of games when we were kids. We had no TV until I was 14 so we played a lot of Mille Bournes and Stratego as kids. My father is a physics professor who taught electronics at University of Illinois. He would bring home experiments for me to try and encouraged us to build models and electronic kits.
I went to college at Cornell and University of Illinois-Chicago. It took me 6 years to figure out what I was doing. I started in Architecture, then switched to Industrial Design, then switched to Film then Video & Computer Art. I met Ted Nelson who showed us a lot of cutting edge graphic and music computers (like Moog Synthesizer).
Then PLATO came to campus. It was a network of amazing graphical computer terminals for computer aided education. Because of the size of the network (about 1000 terminals across the USA) it was the perfect platform to develop the first network games. Almost everything from chat rooms to forums were invented on PLATO way before the internet. Our games were crude but it was fun playing dogfight as ‘zbaren’ and blast ‘ace’ out of the sky playing while I was sitting in Chicago and ace was in San Diego, California. I played one game via satellite versus a russian while PLATO was being demonstrated there. It was terrible with 2 second delays responses for them.
Soon after college, I started game programming at Dave Nutting Associates, a small group (under 12 people) that was owned my Bally/Midway. They had already done Gunfight and Seawolf for Midway when they hired me away from the first computer store in Chicago, “itty bitty computers”. While at DNA, I worked on Gunfight II (Boot Hill) and Seawolf II then on the Bally Astrocade. That was a game console should have beaten the Atari 800 to market but Midway couldn’t build them without zapping the main chip with static. 90% of the units were dead at the end of the assembly line. Very sad point in game history. I wrote the Operating System for the Bally Astrocade and also wrote the development system. When the Macintosh came out, I saw a lot of great similarities in operating system style – both used events to drive everything.
After it was obvious that the Bally Astrocade was dead, I knew would be working on Bally/Midway nothing but coin operated arcade games there. So I asked Dave Nutting if I could design my own game. He said “No, you need more experience.” He showed me some graph paper with boxes filled in (how we coded up pixels) – “There’s a lot of work in the design of a game. In a couple of years, you can try designing a game.” This annoyed me. Every McNeil I’ve met is stubborn as a rock (which happens to be the clan badge). None like being held back – I’m no exception. I really don’t like being told “You’re not good enough to do that.” So I started reading the job ads every Sunday.
URL (Universal Research Labs) a subsidiary of Stern Electronics ran an 1/8 page ad looking for a pinball programmer. I scheduled an interview right away. They were in a tough spot. They had a license from Bally/Midway to make Bally’s pinball controller board for use in their own games. The problem was they didn’t get source code so they couldn’t change the scoring or rules. They could change the playfield and art but the hardware was frozen. I asked if I could do a video game after I fixed the pinball problem. They said yes they wanted to get into video games. So I hired on for 32K$/year.
I took hex dumps of the EEROM‘s and figured out the assembly language and then knew how the hardware worked. Then I wrote a new OS to run the pinball games. The first game out with the new OS was Meteor. Next one I did was Big Game – that had a wider box and 7 digit scores. Meanwhile they recruited two of the engineers that worked on the Bally Arcade who started work on hardware for a black and white video game – about like original SeaWolf hardware.
Finally I had a prototype hooked up to my development system from Tektronix – with 8 inch floppy disks and started on a game.
Iâ€™ve read that Berzerk was inspired by a dream. Can you tell me a little bit about that? Are you an unusually productive dreamer by nature? What kind of template did the dream give you? What were the other inspirations?
I built my own computers from the first personal computer kits: Altair, IMSAI and Sol20. I had a couple of primitive games by other people running on my Sol20. There was sort of missile command like game I played a lot. I coded up “robots” in Basic based on a Byte magazine article. It was clunky – we still have the almost identical game in Gnome as gnobots2. I felt a smoothly running “dodge the robots that are trying to kill you” game would be cool. So the “Berzerk” concept was hatched as a tickle of desire for a smoother experience.
It’s true about the dream. I dreamt of a Black & White video game with a stick figure man and lots of robots closing in on him. It was just a second’s worth of action but it was exactly what I made in pass one. I had the shifty eyed robots inspired by Cylons with their moving red eye in the original BattleStar Galactica. I had a stick figure guy. Interface was a joystick designed in house.
Back in those days, I had many epic dreams with much futuristic detail in them but none were problem solving or prophetic like that one. It stood out for that reason. I did solve many problems overnight while sleeping but not usually with a visual dream. Of course I used to sleep 8 hours too.
The Berzerk dream was more like the deja-vu flashes I’ve had since I was 11. Just for a second, the future overlays the present. Everything, the sights, smells, sounds, touch even thoughts. It’s pretty confusing and not useful. All it tells me is I can look forward to living until that moment. The first one I had I was rolling down a grass hill in at night in the rain fighting my brother. Nothing about it was familiar except the feeling of being angry with my younger brother. A year later it happened while staying for in a town we’d never been to before.
Can you remember some of the big technical challenges? Did the game change much during its design? I gather the game was originally planned to be black and white â€“ can you say a little about the change?
Pass one of the game turned out to be exactly that dream version moment I was playing and said “Yay this is fun.” It played like an extremely intense realtime version of gnobots. It got too hard as the robots increased. With 6 robots, I was having a frustrating un-fun time. The game favored the robots too much. They would run into each other occasionally but the average game time (one life) was about 6 seconds. Not good. I wanted the average starting player to get lots more play before needing to put another quarter in the slot.
I had a rule of thumb for game play that the coin operators (arcade owners) hated. They were greedy guys (as so many no talent people are). They always wanted options switches to set the number of lives to 1. I refused to program that in. I believe that my rule of thumb helped make Berzerk a good value coin-op game. The rule was take the current price of a movie theater ticket and divide it down to pennies per minute then figure out the time you should get for a quarter – it was between 3 and 5 minutes back then depending on where the theater was located. So my goal was a 3 minute game for a beginner.
Ideally the game should be challenging but not brutally so. You should feel like you are constantly making progress at getting better. You should leave it after defeat with the feeling, “Awww I just made a little mistake, I could beat that next time.”
Can you tell me a little about how the robot behaviours came about? The idea of fallible enemies must have been completely startling at the time: were you worried about how people would react when their enemies started accidentally killing themselves? In a way, the fact that they make mistakes makes them seem like theyâ€™re actually thinking about things: it forces the player to really think about the AI. Was this part of the plan?
I wanted the robots to be relentless but so single minded that they were stupid – just like the original slow basic game. It was different from other game where the enemies were perfect in their attacks and you had to dodge perfectly aimed shots.
My frustration at being killed so fast sent me on to pass 2 (known to the engineers as Robot Picnic). I need help beating those pesky robots. I need a weapon. I added laser bolts because I could add a dot to the front and remove one from the rear on each frame. They then looked smooth and were large enough to see. That was better. I could kill a few robots still they were changing paths awfully fast and coming at you from too many directions because there were no walls. Playtime for a life was up to 10 seconds and sometimes you’d survive. I tried making the player bolt bounce on the edges but that kept from firing again for too long plus you had to dodge you own reflected bolt. Note I brought that feature back in Frenzy with mirror walls in some rooms. So I still wasn’t happy with the game.
How did the maze layouts come about? Wikipedia tells me, possibly incorrectly, that there are 64,000 of them (Iâ€™ve never got that far), so Iâ€™m guessing theyâ€™re procedurally generated in some way? If thatâ€™s the case, how did you ensure theyâ€™re all playable? What makes a good maze for Berzerk?
On to pass 3: So how could I slow down the robots? I tried making them move slower but then they looked clunky and lame. The animated legs didn’t look right when slowed down. I figured I’d need barriers between the robots and the human. So I started looking at maze generators. They took too much time on a 4mHz Z80 (the target cpu). So I devised a super simple scheme. Most of the time it made very nice maze like rooms. Sometimes it would create a 2×1 (or 1×1) box in the middle. I’d put a robot in every tile so sometimes there could be 2 robots stuck in a room in the middle.
To make the maze non-random, I used the XY coordinate of the room as a 16 bit number to seed my random number generator. That way you could exit the room and run back and see the same shaped room. It made the universe more real if you leave a room with a box in the middle and return to a room with box in the middle. Totally random rooms are not immersive – your brain goes “HUH?”, a robot shoots you from a place it couldn’t before and you get pissed at the game. The fantasy collapses.
The 16 bit XY location is the basis for the Wikipedia note of 64K rooms. There are 64K rooms but I think the generator will make some duplicate layouts.
Evil Otto â€“ at what point did he come into play? How did his design take shape? Was his function purely to keep players moving? Why do you think he struck such a chord with players? Even now, people seem to be fascinated with him. (Also, is the story true that he was named after a fellow employee?)
The pass 3 game had some problems. The game was feeling decent but still too hard. It was smooth playing and fun but the robots were too deadly accurate. They’d all open fire at once. Also there were robots stuck in center rooms that you couldn’t shoot. Another problem was you could stand all day in a room once the robots were eliminated so I needed something to get you to “move along”.
Remember the robots stuck in a room in the middle was a problem. Not a problem when you manuvered the robots to bump each other and blow up. One scenario was a problem still: if you got a 1×1 room with a single robot in it, there was no way to get rid of it. Enter Evil Otto.
This was in the era of the smiley face, that obnoxious yellow circle with the two black dots for eyes and the arc for a smile and the words below “Have a Nice Day!”. I really despised it! I associated it with salesman and corporations, neither of which really wanted you to have a nice day but both want to cover themselves in fake friendliness. So I decided to show it like it was: “Have a Nice Day while I beat you to death.” I made the smiley come straight for you while bouncing like a yellow ball. It added a dash of bitter sarcasm to the game. (I was known as Mr Sarcasm in college.)
The name, Evil Otto, was both a pun, Evil Auto (-matic push-you-on device), and a reference to the security manager Mr Dave Otto at DNA. Mr Otto once decided that all engineers and programmers should take lunch from exactly noon until exactly 1pm atomic time. He instituted this with the announcement we all had to drop everything and head out the doors for lunch exactly on time. He then locked the doors until 1pm. Naturally this torqued us off, especially we arrived back on a cold day to find we couldn’t get back in. The very next day we all started having 2 hours lunches. Within a week, the main boss made Otto give up his plan. This was but one of many “you are all guilty until proven innocent” type moves that Otto tried. He also put speakers in all the rooms including the bathrooms and piped in “beautiful music” (lots of Mantovani.) So the ball got named Evil Otto. The two engineers from DNA that came to work with Stern both liked the name immediately.
Evil Otto took care of the single robot in a box problem. You could move so the path from Evil Otto to you passed through the 1×1 box. Evil Otto would stomp the robot for you in his quest to smash you.
So that was Pass 4. There were 2 robot bullets shared by all the robots. The game was good but static in terms of progression – a term the game industry used to mean the longer you played the harder it should get. So the game was a bit too hard for the secretaries to play and too easy for the programmers. Time for Pass 5.
This was a tweaking pass. I added number-of-bullets progression starting with zero robot bullets and getting up to a maximum dictated by memory constraints. The whole game had to fit in 8 Kilobytes of ROM (read only memory). The only ram was the screen – there was a tiny bit of screen memory that wasn’t displayed because those locations would be in off the bottom of the display. So that tiny bit of RAM had to store all X,Ys of objects, the XY of the room, the number of players, their scores, the array of high scores, etc. I kept track of the rooms you left after killing robots and used that count to drive decide on the number of robot bullets. It made it seem like the robots were going from peeved to angry to berserk with rage. I spend several days trying different combos on the secretaries and other new players to get that initial play time of 3 minutes. That also meant adjusting Evil Otto’s timer so he didn’t come out too soon. I adding a hold off based on you killing robots in that room. Even that got tweaked.
Another tweak was the robot movement. The robots start with slow movement and get faster as levels progress. I revised the movement speed to match animation speed of the robots. I didn’t want to see any feet sliding along the ground. I’m sensitive to animation subtleties because I did 7 minutes of animation along the way to my degree in Art-General Design. To get people immersed in the game there should be no cognitive dissonance – never a “that doesn’t seem right” moment. So glide walking stopped plus early level robots spin their eye slowly but later level ones spin like the enraged enemies searching frantically.
Another tweak was adjusting the registration points of the art. All game art is moved by XY points. The registration point is where the relative (0,0) point of each object is. It could be a foot or the center of the body. I tweaked the robots so their shooting was just barely good enough to hit you. This allowed you to dodge bolts if you were careful. The one exception was when the robot comes straight at you from in front, the bolt will pass through the one pixel high blank line at your neck but only if you stopped moving. Most people panic, move and die. When you move the player, the body bounces up and down and the bullet hits you. We had one amazing player that could stop for just long enough to let the bolt pass through his neck then move on while fighting at the highest level. He practiced Kung-Fu and consistently got high scores.
I needed an “Attract Mode”. That’s a game industry term for what the game does when no one is playing it and it’s intended to attract the customer to the game. I added the high scores and attract mode at pass 4. The game was still black and white but we were ready to go to production.
What was the process for getting a game green light like back in those days? Did you have to present the idea to the company in a formal manner? What was your original vision for the game?
When I was interviewed at URL/Stern, they wanted me to program pinball games. I asked if they ever wanted to do a video game because I’d like to make one. They were excited and said yes they wanted to get into the video game business. I was hired just about instantly.
How big was the team that developed the game? Was there much of a distinction between engineers, designers, and artists back in those days? Whatâ€™s the process of actually putting together an arcade game like?
I developed the game. I did the game design and pixel art even the sounds including choosing the words for the speech chip. I made the move to URL/Stern so I could make the game. I was at Stern before any engineers were hired. Stern was buying computer hardware from Midway for their pinballs before I cooked up code for their pinballs. I suggested bringing in an engineer I knew from DNA. When he came to Stern, his first task was to get started on a frame buffer board for my game.
There was division between programmers and engineers, maybe by temperament. I eventually ran the programming dept with 8 people. We were considered the wild men by the production and engineering people. Maybe it was democrat vs republican? It wasn’t bad just a little constant background ribbing going on. I got a fair amount of respect from the engineers because I can solder, read a schematic and even passed their 3 trick questions for electrical engineers test. I had built a lot of computers from small parts and debugged them. No slap together motherboard PC back then.
Can you remember some of the big technical challenges? Did the game change much during its design? I gather the game was originally planned to be black and white â€“ can you say a little about the change?
I think I covered that above.
Is this why there were two distinct versions of Berzerk released for arcades?
I don’t think they intended to release two version. What happened: They decided to make a 2 player cocktail cabinet version and I didn’t have space to make it work in the 8196 byte long read-only memory chip. The cocktail cabinets weren’t ready either – there was some hitch and URL/Stern decided to get ROM’s made with what we had. There was a long lead time (like 2 weeks) on getting ROM chips made back then.
Meanwhile I worked at finding every instruction I could make smaller. The word Copyright was shortened to (c) to save 6 bytes. It really was a scramble to squeeze in the cocktail stuff – the screen had to be flipped for player 2 to see it the right way. I remember begging for them to do it in hardware. The boss said, “the parts will cost about $3 and when you multiply that by how many games we are going to make, we can afford for you to spend a month searching for ways to squeeze the code.” So I got it all squeezed in but I think one level of bullet speed was removed to save 4 bytes. I did that because some operators were complaining that players got more than 3 minutes of play. Greedy greedy greedy – the game was still making a lot more for them than the other games.
How advanced was speech synthesis programming at the time? Was this a tricky aspect? How did you come up with all the phrases?
Originally Berzerk just had pinball type sounds. It was one or two counters connected to an amplifier. If you put in a small number, it would make a high pitch square wave. A big number would take longer to count down to zero, so it would be lower in tone. It was just about impossible to make music with it. But we had used that scheme in pinball for a year and I had quite a few zappy and tweepy sounds already in my program library.
A salesman visited us during the Development of Berzerk with a “speech chip” for intended for helping blind people. They were hoping to get it into toys or games. It sounded very robotic and was limited to 24 (or less?) fixed words of vocabulary. It was using custom hardware to make hisses and tones that assembled into words. All the computer could control was the word and the pitch of the word. You could order these chips with any set of words limited to the tiny chip size. The price was good in large quantities. The boss said, “could you use it?” I was sure I could right away. The interface was simple – feed it a number that indexed the word and a pitch number then wait until the busy_talking bit cleared. The trick was getting more sentences out of it. I wanted the robots to sound like they were hunting you. I wrote up a bunch of sentences but then decided the best result for the small number of words would be to use with the template: the . I used a big thesaurus to find synonyms of destroy. The player noun wasn’t quite as simple. I thought of ways the robots might describe the player: intruder and human came to mind right away.
One of the engineers would run thru the maze rooms without shooting any robots. I decided to add in an extra player-noun just for him: Chicken! Anytime you left live robots in the previous room, the next rooms robots would taunt you with “Kill the chicken”, “Destroy the chicken” etc. It was quite enjoyable to see the chicken taunt throw him and other players. I got a good chuckle out of it.
When I assembled the complete list of nouns and verbs, I had 3 words left and I had one sentence I really wanted on the chip so I drop one verb and added “Coin detected in pocket”. It was intended to encourage replay. One bar patron actually said, “How did it know I still have some quarters?” and he played until he didn’t have quarters to find out! I was surprised how many people thought there was a special coin detector in the cabinet.
Are you happy with the finished product? How did it compare to the game in your head?
It’s better than the original game in my head but not as epic as I planned. Frenzy got some of the ideas I had left over like the robot factory and Mama Otto rooms. Frenzy was a bit too hard in my opinion but play test with arcade players said it was just right. So I’m happy with it and the friends I’ve made through Berzerk and Frenzy. There are still some left over ideas from the epic concept. Maybe someday.
Did you ever pick up much on player feedback? Did you ever hear from other designers about it? I gather Eugene Jarvis cites it as a major inspiration for Robotron. Did you see traces of it in other games?
Ultimate feedback – As far as I know only one player died playing Berzerk. He was very heavy, out of shape, hiked up two flights of stairs to play and died after setting the highest score. The newspaper wrote “Videogame kills player”.
I talked Eugene Jarvis and Larry DeMar at their Vid Kidz place when I was considering working for Williams. They are both great guys. I remember Eugene saying that Berzerk irritated them and they wanted to modify it to include some tougher situations. That was the itch they scratched for Robotron. I’m the same way – something will irritate me and I’ll want to improve it or redesign it.
Stern tested Berzerk in several ways. First tests were internal with the black and white version – basically they put a cabinet together and put it where the engineers and production staff could try it out. Then they painted the cabinet and got the “glass” done (all the silk-screened glass and plastic). That cabinet was painted black and had no art on the sides.
We took that cabinet, with the B&W version of the game, to a very popular upscale singles bar in a northern suburb of Chicago. We delivered it in the afternoon then 8 of us hung out at the bar watching what happened from 1700-2300. We were celebrating but 2100. The game was being played almost 100% of the time we watched. It did fantastically well. It was getting a ton of play by the women. The boss attributed that to, “They love to yank a manly joystick.” Who knows he may have been right! When we changed the original 7 inch handle joy stick to a standard Wico model about 1 inch high, female play dropped to nothing.
We had to change the joystick during production because some player would pull so hard in the down direction that they would tip the cabinet onto themselves! I missed the bigger stick though. Your grip was more solid on a stick you can get you fist around. The little joystick needed a finger tip hold – pretty namby-pamby for someone escaping from millions of enraged robots. Oh well, we couldn’t have any players dying as pancakes either.
There was a long break before the next test because as we were getting ready for production when A game came out that used colored transparent ink printed on a black and white TV to make their game look like it was in color. I don’t remember what game but the bosses were freaking out that we couldn’t compete without color. That didn’t really happen because that vector games continued to be popular.
Stern asked the engineers to design new color video hardware for Berzerk but do it in a hurry and with as little change as possible. Their solution was a second frame buffer of large colored blocks, each color pixel being 8 times the size of a B&W pixel. It was not much better than putting strips of colored plastic in front of the screen but it could make the robots a different color from the player.
They finished up a prototype of the color overlay hardware, gave me the hardware specification and I wrote new software to color the objects in the game. Once that was working We took the game out on test one more time. This time they felt ready to test in the main test site for all game makers.
There was an pinball/video game arcade that specialized in fair testing of games. It was located in Mount Prospect, another suburb north of Chicago, It was very popular with the kids and their parents felt it was safe because there was alway a off-duty police guard there in the evenings.
They provided reports of how much each game made each week to Bally/Midway, Williams, Stern and any other company that tested a game. They got to have the latest games for free in return. That report was like Variety’s film gross reports. It was how your company knew how it’s games were doing. It would be used in advertising flyers as in “Number one new game – Awesome income producer”
When anyone from one of the game companies would walk in the owner, Bill, would hand you a fistful of quarters that had red nail polish painted on both sides. That way he could subtract the companies influence from the totals. Berzerk was number 1 from the day it got there until PacMan came out many many months later.
Were you involved in the ports at all?
No. The Atari 800 port triggered my leaving URL/Stern. The engineers and I went out drinking with the bosses and one of them bragged they had just signed a deal with Atari for the rights to make Berzerk. No sharing of code, no help from me or Stern – just the name. As he put it that night, “Can you believe it, they paid us four million dollars for the name Berzerk.” I was still on salary no bonus, 32K/year and I’d done 4 pinball games that year too. Meanwhile the bosses were having me negotiate with my programmers on salary. It suddenly awoke to a different view. I’d been so busy producing my dream game, I hadn’t seen the huge money involved before. I eventually walked out and have been a consultant ever since.
Can you say a little bit about what you got up to after Berzerk?
I made Moonwars which was a total flop because the control was 90 degrees off. That was another reason I left Stern. After leaving Stern, I made Frenzy for the left over Berzerk hardware they had. I got a Macintosh as soon as they came out. I tried to work in the game world with Macintosh but companies wanted me to work on many other kinds of home game hardware that I didn’t want to work on. I designed SubBattle Simulator which did pretty well for Epyx. I made MazeWars+ for MacroMind and worked a long time on MacroMedia Director an animation programming environment – a superior precursor of Flash.
I’ve mostly been working with internet technology since then. I ran an internet service provider. That provided plenty of stories, like a four day battle with a foreign hacker for control of a web server.
Finally, do you have your own Berzerk cabinet? Do you still play it/think about it much?
That’s a sore point. I was given the first test cabinet – no outside artwork, just black. An arcade operator that I barely knew asked if he could put it on location and then spilt the take 50/50. I said yes. At the end of that month he came over and gave me a bag with $300 in quarters. I never saw or heard from him again.
I mentioned my missing game to one of the production guys. He said he had friends that could take care of the problem for a little favor in the future. They could leave him a hint, like a large salmon on his pillow. I turned him down.
Later that year URL/Stern caught a bunch of production guys smuggling 4K EEROM’s out of factory. Hard to believe that a chip about 1cm by 3cm was worth $50 back then. You could fit a thousand dollars worth in a sleeve.
I don’t really think about Berzerk or Frenzy much – Games were fun to do back then. I still have loads of ideas. I occasionally will program something just for fun. Maybe one of these days I’ll make a retro game for fun. But right now I have bills for root canal and crown to pay.
When I think about developing a game I find it a bit depressing. Game development now is very like big movie production, with many people pulling conflicting directions. It results in Rambo 4 and Call of Duty 4 – repeat the past success, freezing out the new ideas from kids.