Features Interviews

Interview: Kevin McGrath (Electronic Arts Programmer)

In 1990, an agreement was reached that would propel the Genesis to new heights and eventually give it dominance of the 16-bit market. Sega of America signed Electronic Arts as a third party, instantly giving their fledgling console a credible and successful company with a large catalogue of potential titles. EA had already been working on reverse engineering the Genesis, and their efforts were key in making Sega realize that developers would make games with or without the manufacturer’s approval. Sega, rather than fight EA, gave them a software license. Among the first three games released by EA for the Genesis were Populous – Peter Molyneux’s monster hit that single-handedly created the “god sim” genre, and Will Harvey’s The Immortal – renowned for its amazing death sequences and difficult puzzles. Both of these games were already extremely successful on the PC, and their fame would only grow once they made their debut on Sega’s new system.

Both games were brought to Sega’s little black box by one of the most talented programmers at EA, Kevin McGrath. McGrath started his career in computer programming in 1982 at the ripe age of sixteen for the Minnesota Educational Computing Consortium (MECC) working on educational software for the Apple II. He has worked for or contracted with several of the game industries top companies, including Dynamix, Electronic Arts, SEGA of America and Microsoft. At EA he worked on several SEGA Genesis titles including Populous, The Immortal and Road Rash II. At Microsoft Kevin was a team member on such products at Fury 3, Monster Truck Madness, Combat Flight Simulator, and Flight Simulator 6.0 and 6.1. He currently resides in Washington State and is writing software for cell phones through his small development company, Bubba’s Bits.

 

Sega-16: How did you get involved in game design?

Kevin McGrath: Actually I consider myself more a game developer/programmer. I’m a nuts and bolts kind of guy, most of my career has been spent coding what others have designed. I did do a couple of game designs while at a little development house I started with Ken Hurley called Futurescape Productions, but those titles, like oh so many in this industry, never saw the light of day.

Sega-16: How did you get your start at Electronic Arts?

Kevin McGrath: I started in the games industry at Dynamix, in Eugene Oregon, in the late 80’s. My time at Dynamix overlapped a bit with Richard Hicks, who went to EA to become a development manager. When I left Dynamix, I moved to the Bay Area and Richard hired me to work on the Nintendo 8-bit reverse engineering project with the late Jim Nitchals. I credit my opportunity to getting an interview at Dynamix to Ralph Walden who frequented a small Atari ST retail store, where I worked in the back office writing applications for the ST. If I recall correctly, Ralph was friends with a founder of Dyanmix, Jeff Tunnel, and evidentially spoke very highly of me. I also evidentially impressed Richard Hicks enough to get me the day long interview at EA. So I suppose it really is who you know, or rather who knows you, that helps people get into the games industry.

Sega-16: During the early ’90s, you were considered one of the best Genesis programmers around. What did you really think of the hardware?

Kevin McGrath: Wow! I’m flattered. But really there were a lot of very skilled developers working on the Genesis back then. I was just lucky enough to get the chance to start coding on the Genesis before it shipped here in the States. I was very proud to have a little of my code in a lot of the early EA games, such as the EA logo and the proportionally spaced font routines (nice looking and easy to read text). But I was only one of many very talented programmers at EA.

I liked the Genesis hardware. It had its issues, but to me the best thing was the main microprocessor, the Motorola 68000. This was a really easy processor to work with, much easier to code for than the Intel chips at the time. But don’t get me wrong, the design of the Genesis had some kludges left over from their effort to make it backwards compatible with the older SEGA Master System. This included a Z-80 CPU that was mostly used as a sound processor in the Genesis games, and a character based graphics system. The character based system, while conserving video RAM, made it very challenging to port games that used a full frame buffer.

Sega-16: Populous, the first EA game for the Genesis, lacked the real-time multiplay via modem of the PC original. Was there ever any consideration to include it, given Sega’s supposed release of their Tele Modem for the system?

Kevin McGrath: I don’t recall ever seeing the hardware for the Tele-Modem here in the States while we ported Populous, so of course it’s hard to consider including modem support when the hardware just wasn’t there (*Ed. The Tele-Modem was announced for the U.S. but eventually stayed in Japan). Much later the X-Band modem came out, but if I recall it died a horrible death.

However, when Jim Nitchals and I ported Populous, we ported a fully functional version (without the modem support of course). Our producer requested that we remove many of the cool, but more complicated features, of Populous prior to release, but Jim and I left them in to only be accessible via various button presses at certain locations on the screen (cookies). If you look at the Genesis version of Populous, you’ll notice that some of the icons are missing on the right hand side. Well trust me, the functionality is still in there. Except for the modem of course.

But the real story about Populous for the Genesis was that Jim and I worked on it in isolation and when it was finished it was used to blow apart the existing SEGA publishing practices. We had just reverse engineered the NES and EA had another team reverse engineering the Genesis at another location. They put us in a building, away from other programmers, amongst the nice people in the accounting department. Everything we did was kept secret and we worked in a kind of “clean room” environment, so we wouldn’t be tainted by materials that had been copyrighted. We carefully followed the same techniques Compaq used to reverse engineer the IBM. After our NES reverse engineering work was complete, they asked us to port Populous and try to figure out the rest of the Genesis. The information we received from the Genesis reverse engineering team had many holes in it, which we attempted to fill by poking at the machine through code in various ways. One of the holes we found about after production, one single bit was left unset in Populous and it made the screen colors bleed. Populous was ported in an amazingly short amount of time, and was ready for CES when Trip dropped a bomb on SEGA and showed them a completed game on their machine that wasn’t beholden to their monopolistic publishing practices. From what I understand, this helped Trip Hawkins (EA’s founder) negotiate a heck of a deal for EA to be able to manufacture Genesis cartridges with SEGA’s blessings.

Sega-16: You worked on the incredible port of Will Harvey’s Classic, The Immortal, which was a huge hit for the PC. The game was famous for its gory death scenes, which gamers loved. Was there anything you had to cut out of the Genesis port?

Kevin McGrath: No. In fact we added many more gory death scenes to the Genesis version! Porting The Immortal was one of the toughest jobs I’ve done. First, the original was written for the Apple ][gs, which was very different than the Genesis. To port The Immortal, my primary concern was how to fit 2MB of graphics into a 768KB cartridge and make the game look as good as it did. I spent quite a bit of time developing a real-time random access decompression algorithm, one that would allow the program to grab any frame from an animation and decompress it into a sprite that the Genesis could display. Toward the end of development, when we had everything finally in a 768KB cartridge, they told us we would go into a 1MB cartridge since it would end up being cheaper! Well, what would we do with that left over 256KB? That was a huge amount of space when compression is used. So we got the artists together and we brain stormed what kind of extra death sequences we could add. The artists, Tom Collie, Gary Martin and lead by Connie Braat, developed wonderfully sick new death sequences with names like “pop top”, “half-and-half” and the “Oingo Boingo death”. So in essence these new death sequences were added because we didn’t want to waste ROM! These new large animations really changed the feeling of the game, and the new cover art reflected the more macabre sensation. The PC port was being done at the same time by Ken Hurley, and they liked the extra death sequences so much I believe they were all integrated into that port as well.

As is clearly evident, many older games influence the design of future games. While at Dynamix, I was addicted to an Apple ][ game called Swashbuckler. It was a simple but very fun game where you could sword fight against another human. I got so good at a particular special move, which decapitated my opponent, that some of the guys would refuse to play me. So now if you mix Swashbuckler with the death sequences from The Immortal, you essentially end up with Mortal Kombat. Rumor has it that the guys who later did Mortal Kombat had been inspired by these Immortal death sequences.

Sega-16: What was it like adapting the PC gameplay of these two games to the rather limited three-button Genesis control pad?

Kevin McGrath: Porting the game play of The Immortal to the Genesis was much easier than Populous. Populous was a complex GUI that worked best with a mouse, and of course the Genesis didn’t have a mouse. To solve this problem we made the direction pad on the Genesis control act as a kind of mouse, moving faster the longer you pressed a certain direction. This at least made it possible to play the game, and after some experience you tended to get pretty good at it.

Sega-16: Did either Peter Molyneux or Will Harvey have any input in the ports of Populous and The Immortal? How much freedom were you given with the licenses?

Kevin McGrath: Oh I’m certain! I tried to make every port I worked on as faithful to the original as I could, these were EA’s crown jewels at the time after all. Will Harvey had more than input on the port of The Immortal. At the time Will was working hard at figuring out how to translate 65C02 assembly language to 68000 assembly language and had developed a very powerful translator. Essentially my job came down to making it fit into a cartridge and making the game work within the confines of the Genesis in general. Ken Hurley, who did the PC port of The Immortal while I was working on the Genesis port, wrote his own translator to move the code from the 65C02 to the 8086.

Sega-16: Road Rash 2 is considered by many to be the best of the series on the Genesis. What part did you play in the making of this great game?

Kevin McGrath: I was the Technical Director for Road Rash II. My job was to help the developers with technical issues concerning just what the Genesis could do, and to help the Producer understand the technical issues the developers had. I acted as a kind of liaison between the producer and the developers.

Sega-16: Were there any titles you would like to have brought to the Genesis but couldn’t?

Kevin McGrath: After I left EA in 1992, Ken Hurley and I started a little game development company called Futurescape Productions. Our primary focus was to make games for the Genesis. My first project, called Nuclear Rush was to design and code one of the games that was going to be released with the SEGA VR Headset. It was a simple 3D shoot-em-up kind of game, but with the VR Headset it became an intriguing experience. We had concerns about creating nausea for the player, which could happen if the graphics are just slightly out of sync with the actual movement of the players head. Anyway, I spent a year on this project, and although SEGA paid us in full and we completed everything, the hardware never made it past prototype stage.

After Nuclear Rush died, I wrangled a contract to design a Genesis game for EA. I had always wanted to make a game that pushed the player through each level rather than pulled them. I figured a game could create a sense of thrill and fear if you felt you always had to run from a particular threat. We mocked up storyboards and a design that was set in the 1940’s with a kind of Film Noir feeling, where the player was trying to constantly stay ahead of characters who were chasing him, while at the same time attempt to solve a mystery. Our working title for the game was Relentless, which EA seemed to have used for another game but they didn’t pick up a development contract with us for the Genesis game.

One of the standup arcade games that I spent most of my free time on at EA was Blockout. The Genesis was not very quick at dealing with sequential frame buffer graphics, since it’s a character based machine, so I spent some time writing 2D graphics routines that would use the Z80 and the 68000 at the same time. A kind of sick multiprocessing, since the two CPU’s are about as different as you can imagine. If I recall correctly, this code, in one form or another, ended up in Blockout and LHX Attack Chopper. Anyway, I would have loved to have been more involved in the port of Blockout to the Genesis, as it was truly an addicting game for me.

Console machines back then were a good generation behind the latest PC, so porting new PC games to a slower, less advanced, system was always a challenge. Toward the end of my time at EA I was fortunate enough to work with a very skilled group of people on EA’s second patent. This was a technique to move data quickly from a Genesis cartridge into either CPU RAM or Video RAM. The data could be anything, and it was mostly used as a fast and cheap sprite scaler. But alas, by then the Genesis was fading and there were many technical issues to over come between the slightly variant Genesis machines. I’m not sure if this chip ever made it into any released games, but it could have transformed this little machine into something more competitive.

Sega-16: Ernest Adams (Bill Walsh College Football, Madden Football 3DO, ’97-’99, N64) once wrote about how unfriendly the Sega CD was for programmers. Do you agree with his assessment?

Kevin McGrath: Absolutely. The SEGA CD was about to be released just at the end of my time at EA, when I was a Technical Director. Ernest and I flew to Japan for some technical meetings to see what it was all about. Japanese engineers are reluctant to say “no”, so when we heard something like “it’s difficult” it really meant that it was impossible. The SEGA CD should be thought of as a very slow form of mass storage, that while loading something from the CD meant you could do little else with the machine. If I recall correctly, it had no DMA or interrupt used to transfer data.

 

Many thanks to Mr. McGrath for talking to us. We wish him all the best! For more information about his company, Bubba’s Bits, check out their website.

Leave a Comment