Interview: David Galloway (2025-09-13)

David Galloway speaks with Alexander Rojas in this google meet interview for Sega Retro.

by Alexander Rojas with David Galloway

Sega Retro · September 13, 2025


David Galloway. Source image from Sega Retro.
David Galloway. Source image: Sega Retro / retrocdn.net.

This Sega Retro interview with David Galloway was conducted by Alexander Rojas via google meet.

AR:
Alright, so just to get started here, could you tell us about your history and I guess your background in programming and being a software engineer? What got you first started in that?
DG:
Let's see. It's probably mythical by now because it's hard to really know every detail if you didn't write it down as you went. I guess the myth in my mind is that there's a couple of factors. I think as a child growing up in Northern Canada, I was more interested in playing hockey and skipping rocks down by the lake until, I think, a friend got a Mattel football game; the LED game. It was very popular in those days. I think millions and millions sold. I asked my parents for one as well and they wouldn't buy me one. So then I was just sort of stymied by that. Shortly thereafter, we were over at a friend's place again, maybe a couple of years later, and they had an Atari 2600, which I'd never heard of. I fell in love with that. They had the game Empire Strikes Back, and I just remember that. I was a huge Star Wars nerd as a kid. I was just the right age: 12 years old, 10 years old, or something like that, when Star Wars came out. Basically I was a Star Wars kid who saw a Star Wars game on the Atari 2600 and I wanted to have that. That was so cool. That's how I started getting interested.
DG:
The products that were coming out in the seventies for kids were electronic, and they were also very mysterious. "How do these work?" Then just kind of good fortune went my way in that my father was an electrical engineer, but he was a power engineer. He didn't work with electronics; he worked with electrical power transmission. Nevertheless, his company - which was a paper mill in Canada chopping out trees and turning them into paper - decided to send them to Vancouver, the big center for microprocessor training. This was probably like '78, '79. As part of the training, each engineer that attended got to take home a MOS KIM-1. It's called a KIM-1 computer board. I actually have one here, but you can look it up. It's a little 6502 trainer board. It was basically made by Chuck Peddle, who is one of the main founders of MOS Technologies that was bought by Commodore.
DG:
I had that because my father wouldn't get me any games at all. My father was not the kind of person that would buy children frivolous games. We didn't have any games. But he said to me, "If you can build the power supply," because it didn't come with a power supply, but it came with a diagram of how to make a power supply. He said, "If you could build the power supply for this, then you can have it." Honestly, I guess he didn't really have any intention of ever using it. He wasn't that interested in the computer at the time. He'd just taken the course; it came with a bunch of books, all directed at engineers.
DG:
We had a RadioShack. So I went to RadioShack and there was enough parts at the RadioShack to put together this pretty simple power supply. It was just a transformer, voltage regulator, a diode bridge, a Wheatstone bridge, like a rectifier basically, and capacitors to smooth the power. It was really just a typical linear power supply from that era. Five volts, I think, is all it needed regulated, so that would be the 7805. All those parts were there and a little prototype board. I'd never soldered before, but I was really motivated as a kid.
DG:
I literally became single-minded about getting this thing working; this magical- I actually had a computer [that seemed to] come out of the sky. It was just super lucky that I got this computer as a 12-year-old or whatever. So I managed to get a power supply together and hooked it up. According to the diagrams I was reading in these books, it was pretty well laid out, but it was meant for engineers and my dad didn't help me at all. He's just like, "I had to do this all on my own." Then it didn't work though - the power supply. I just tried and tried. I couldn't figure out; I didn't know enough at the time to be able to debug the power supply. I didn't even know how it worked really. I was just following the diagrams. I understand exactly how it works now, but back then I didn't have any clue. Then my father, he'd seen that I'd actually constructed and put tons of hours into it. So he took it to the office one morning. I didn't notice, he just took it and he gave it to an electrician. The electrician understood power supplies and they debugged it and they figured out that I had some diodes backwards in the rectifier and they brought it back and then it was working. Then you could hook it up and then the KIM-1 turned on. It worked.
DG:
So into that summer... It had a seven segment display, like a calculator display, which had six digits, and there was a reason for that. The first four would represent the hexadecimal address of the, it's an 8-bit computer. Then the other two, the 8-bit computer with a 16-bit address bus could address 64K memory max, like all 6502s and then without bank switching or something. And then two digits to represent the byte, like the two nibbles in a byte, and it's all hexadecimal. I didn't know any of this or what any of this stuff meant at all, but it turned on and I just saw six LED digits. I had no idea what it was, but it reminded me of the football game that I mentioned because that was actually built off of calculator technology. That's what they had at the time that was off the shelf. It was a football game: American football has 10 yards in a first down. The Mattel football game's screen was nine numbers wide, unfortunately. It would've been better at 10, but it was nine. So they made it, but you had to advance 10 digits, so you had to go across the screen and then plus one more; it would have wrapped around to actually get a first down in that game.
DG:
I thought, "Well, six, nine is less than 10 and six is less than 10 as well, but I could still do the same thing." So I thought maybe my goal will be: if my parents won't buy me a football game [I'll make one myself]. It was several years later and that game was kind of already old, but I still wanted one. So I set about as my goal. I set for myself to make that football game on this KIM-1 because it had the same kind of display, and so I just focused on it. I guess maybe this is a trait of a future programmer, but it probably helps in other things. For whatever reason, I could - even as a kid - get up every morning and go to work and spend all day and then go to sleep that night and then get up the morning, go to work... And I just did that.
DG:
I didn't do anything else for the entire summer break, and my parents probably thought, "What? This is crazy." I was just working, just studying without any help, completely, completely in the flow state. Reading this documentation... I liken it to teaching yourself Japanese without any help. So you basically have a book that's written in Japanese and you're kind of deciphering it like how they decipher hieroglyphics. But when you're young and you just have an open mind and you're really, really, really, really motivated, you just read it. You just keep at it and keep at it and keep at it. So I basically just taught myself how a computer worked just from the engineering manuals of this KIM-1, and eventually I got the ability to actually program.
DG:
My first program was a little animation that I made of a man running. It was basically just the shape of a top segment, across segment, down segment, and then just the middle segment and then the opposite just to look like it was animating. I said, "This is somebody running," and people went, "Oh, yeah, cool. It looks like a little running person." That was my very, very first program I got that actually worked. I don't know how I learned, but I think somehow figured out there was a magazine called BYTE. BYTE Magazine, B-Y-T-E. That opened up a whole universe. I actually convinced my father to get a subscription to BYTE Magazine in 1979, really early. We had a monthly subscription to this computer magazine and I could learn lots and lots more from that. Then I got books coming in, like How to Program the 6502 by Rodnay Zaks. Even though the initial period [in my life] was all just without any help and no magazines, no books, no teachers, eventually I started to get extra books. Then we got a book that was actually programs for the KIM-1; it's called the First Book of KIM, and it had examples: a music player, flying through an asteroid field. Then I guess I'd actually picked away a little bit of my ambition of making this football game. I never actually made the football game.
DG:
My brother started getting interested as well, and we spent a lot of time just typing in these programs from this First Book of KIM. There's a guy named Jim Butterfield who's famous actually in the Commodore world, who was actually one of the major contributors [to the book]. It actually had a lot of - not exactly lessons, but examples that could actually help learn more about how to program 6502. Then I decided that we needed a better computer because I had been reading BYTE Magazine, I saw the other whole world of computers that existed beyond the KIM-1. I wanted one with a display because at this point an arcade had opened up in town and we could go down to the arcade and play arcade games. My primary favorite at that time was something called Cinematronics Space Wars, which I didn't know at the time but was basically a remake of the first, or what I would consider first, video game that was made in the 1960s by Steve Russell and others called Spacewar on a DEC PDP-1, which was a very early computer.
DG:
It was developed in the late fifties, but Spacewar itself developed around '61, '62, before I was born. I eventually got to meet Steve Russell; that was pretty cool. But that game in the arcade was just super fun. It was a two player, so you needed two people and it was just two spaceships flying around. There's a gravity well in the center. It's a very classic game. It's funny that that game came out in the early sixties and then took another decade and a bit before it was actually commercial. It had been attempted several times earlier. Nolan Bushnell actually saw it as well, and he really thought it was cool. He saw it in college in Utah, and he founded Atari and he tried to make that game, but it came out kind of half baked. It was called Computer Space. If you've ever seen that game, it has the most amazing fiberglass cabinet. The cabinet looks amazing, but the game is actually kind of not that great. It wasn't a hit for them. Their hit was actually Pong. That was the one that was simple. Also, by the way, a two player game. A lot of early games were two player because it's a lot easier to make a fun game with two people than it is with trying to make some kind of AI opponent.
DG:
I thought about that a lot over the years and I'm just like, "I don't understand why there's not more games like that." Even just simple ones with a focus on single player are these massively engineered fantasy tech games. Which is really cool, but now we see a whole trend called "cozy games." The name just alludes to the fact that it's not necessarily a lot [of content]; it sets your expectation that this isn't a AAA budget, visually amazing game, but it's just going to be something fun like Pico Park or whatever. Those games where you're just two people or multiple people trying to climb together and cooperate. There's a lot of fun there, and I think we'll see more of that actually.
DG:
Draw Something, I think it was called, where you basically meet up with somebody random on the internet and you draw something and then they try to guess it. It's basically just charades. But that [game] was huge. That went completely viral at one point, and I thought, "There's really something to this. There's probably going to be lots of stuff like Draw Something." And then there wasn't. I don't know why, but there weren't a lot of big successful products like that. I mean, we see Minecraft and we see Roblox and stuff. I mentioned those because that's kind of the area that I worked in a lot. But anyways, going back to... So I really liked the two player games early on, but I decided we needed a new computer. I got started researching on my own and using BYTE Magazine and other publications I could find. There's no internet obviously, so just publications and magazines were the only way to get the freshest information. I did find I wanted a 6502 computer, so I kind of narrowed it down to- there's a few computers I considered, but I finally decided upon a computer called, kind of obscure, actually. I don't even know exactly why I picked it, but it was an Ohio Scientific C4P.
DG:
It seemed pretty cool, and I guess I was getting the price too. It was actually more affordable. We were living in northern British Columbia, Canada, but we were visiting friends in Vancouver. One time in Richmond, I managed to talk my dad into taking us to the computer store there because I knew there was a computer store in Richmond. So we went to the computer store. They had Ohio Scientifics there. It was one of the very few places that had Ohio Scientifics actually in the store. So we went there. That was my purpose: to look at one in person to try to get an idea if I really wanted it. My parents had no idea that this was all going on. I was planning this campaign. But when we got there, the Ohio Scientific was a bit of a letdown.
DG:
The case was really, really flimsy. It was almost like vacuum-formed plastic. It was like you could squish it. I was like, "Well, that's kind of okay. I guess it's still kind of cool." The graphics weren't as good in person as I hoped, but the kicker was in the store window. It was an Apple II, which I'd never considered before because it was very expensive and it had a game on it called Robot War. Now this is also another two player game. I mean, you can actually play against the computer too, but it was very unique and it was very advanced. It basically was made by Silas Warner, who's famous for Castle Wolfenstein, which inspired John Carmack, who he was a huge hero to. He eventually became my hero as well. Unfortunately, he died young from the complications of, I think, diabetes; kidney disease. He was an amazing programmer and deserves a lot of respect and historical attention. He was really lucky. He actually came up in the Chicago area, University of Illinois Urbana, where they had the PLATO system. That's P-L-A-T-O, and that was an early online experience that was light years ahead of the world. A lot of our games came out of the people that made Wizardry, which is an incredibly foundational RPG. They were inspired by a PLATO RPG.
DG:
So there's a ton of foundational stuff happening in Chicago. Then those people [game developers] came out of there and when they got home computers, like Apple IIs and stuff, they wanted to make versions of what they'd already seen in college, and that's when they made Wizardry; Andrew Greenberg, whoever, made Wizardry. And Silas Warner made, amongst other things, this Robot War, which is apparently similar to something that they had back in college. The crucial thing about this game is that it was a programming game. You programmed your robots to fight against each other. So you'd write a bunch of code, test it out in an arena, and then when you're happy with it, you'd send it into battle against other robots to see if it could win. Luckily for me, I fell in love with this game and I just instantly wanted an Apple II. That was the only thing. All the other contenders dropped out just because of that one piece of software. So I basically started researching the Apple II and trying to figure out everything about it. I actually created charts and graphs, got an easel, and I ambushed my parents at dinner one night. I was probably 13 [showing them] this entire presentation, like a business presentation about getting an Apple II...
AR:
Selling it to them.
DG:
[in confirmation] Selling it to them. A whole thing like PowerPoint slides, just flipping over the next page. It was all giant art paper. Next page. I had collages of stuff cut from magazines stuck on with information and a whole presentation. And they're just eating like, "What the heck?" It worked though, because not that much longer later my dad surprised me. He took us to Terrace, which is a nearby town, and they had a computer store with Apple stuff there. He went on a shopping spree and spent an enormous amount of money (especially with inflation; it'd probably be like $25,000 today) on this Apple II system with everything loaded, extra memory, extra memory cards.
DG:
Then crucially for me, after I got this whole system put together... The salesman was just excited because Apples were not only more expensive, they were even more expensive if you bought 'em in northern British Columbia; there's a huge premium, and they really marked it up a lot. So the salesman was super excited about this big sale. We actually got no games. Of course, we weren't allowed to get any games. But I pointed to something I saw on the top shelf in the store. It was a leather bound... In those days, the deluxe software would come in these little folder type things with padded fake brown leather, and they'd open up and there'd be a ring binder. There'd be the floppy discs which would be inside little sleeves, and then there'd be all the documentation in the ring binder, and sometimes it would be embossed on the front; the actual name of the thing. Look really fancy. I asked, "What is that up there?" The salesman brought it down: it was the LISA assembler; a little development system for the Apple II by Randall Hyde. And the manual included how to program the Apple II, how to do graphics, how to do sound, how to do everything. It was all in there. I was like, "Oh my god, this is amazing." I asked my dad, "Can we have this?" The salesman was like, "You can have it for free. I'll just throw it in. I'm throwing it in." So that was good. I didn't have to campaign my dad for one more thing. It was probably like a $600 piece of software. It was expensive, right?
DG:
So I got an Apple II and this LISA Assembler, which got me really started on making my own projects on the Apple II. We got it home and my dad started setting it up, and then my mother walks in and she goes, "What are you doing?" And he's like, "Well, setting up the computer, this computer, the computer. We talked about it." He actually cleared it with her, and she's like, "No, no, no, no, this is a Christmas present." It was November, by the way, and I was like, "Oh my god, this is the worst feeling I've ever had in my life." Just pure torture waiting every day from November until Christmas to get this Apple II. It was just torture. I can still remember it now. Then that morning, of course, getting it on Christmas day was extra, extra, extra amazing. So I don't think I slept Christmas Eve. I just was awake the entire time. I tried to wake them up early to go get it. You've seen all the people getting their Nintendo 64s. It was one of those kind of mornings for me.
AR:
I'm sure.
DG:
So we got the Apple II and then set it up, and then from then on, it was just making games. I loved arcade games and loved games in general, and I'd already decided, probably at the age of 12, that what I wanted to do was make video games. That's what I would do with my life, that was already decided at that point. All this stuff that I was doing was all just in service of that goal. So I continued pursuing that. I think that's an important thing for anybody who's trying to achieve something: to have a vision of yourself at the goal and just believe in it and just continue.
DG:
If it is so core to your being, then every decision you make is going to be somehow guided by your core goal. People could call you lucky, but luck is also guided by all these micro decisions you make throughout the day about what you're going to do here, what you're going to do there. Nevertheless, I was very lucky. There was a lot of luck involved here because there is the fact that my father was an engineer, the fact that he got a computer, the fact that he just gave one to me when I was really young and it just ignited an interest. There are other people in the industry that I talk to often have similar stories. There's certainly people that didn't have any idea about computers, and then in their twenties they got their first computer.
DG:
Lots of people got a Timex Sinclair ZX81 or something, like a Commodore 64, Vic-20 when they were kids, and that sort of just set them off on their journey. For me, it was a KIM-1 and then the Apple II. To briefly follow up on the rest of it [my background] to my first job, I went to a college in northern British Columbia, and it was fun that I learned some PDP-11 assembly language programming there, but I was not very engaged in my work. Actually, this sounds weird, but I was boarding with a family and I convinced them to buy an Apple II; it sounds almost like I'm a sociopath or something. I also convinced 'em to put it in my room.
DG:
So they invested in this Apple II, and then I just had it in my room. So even though I was at college, I was spending all my time programming the Apple II and not really paying attention to class too much. I didn't have very good grades, and so I had to take a break because of my bad grades. I went back home to my parents and they were pretty disappointed and everything. Those people who had the computer: they kept it, of course. Obviously I didn't keep the Apple II when I left college, but they did give me another computer. They gave me a Timex Sinclair ZX81. I don't know how that happened, but they gave me another one, so I had that computer. So that was fun. I learned some Z80 from that.
DG:
So I went back home and my mom was incredibly disappointed. She's really, really not interested in my idea that I should become a game programmer. She thinks that's... and my father too, right? They would never get us anything game related at all, and they wanted me to become a doctor or an engineer like my father. So that was a big disappointment. But at some point, I don't know why, but my mom said, "You know, why don't you just go to Vancouver and try to find your way in the world?" I was 17 I guess. I went to college pretty early because I graduated school early. I was actually smart enough I could have done college. I just didn't apply myself. I just wanted to focus on computer programming. I actually did go check out the University of British Columbia to see if I wanted to do that in Vancouver, and they were using punch cards, and I was like, "Oh, I'm not going to do punch cards." So I was like, "Forget that. I'm so much happier on Apple II."
DG:
So my mom sent me down there. My father's at the kitchen table as I'm leaving. "See you." He was reading his newspaper and he looked up, he says, "See you," and then that's my father, the stoic British style father. That was it. So I got on a bus by myself and got onto a plane, and then my mom had arranged for some friends of hers to pick me up at the airport, and they brought me to their house and they had a bedroom. So I was basically without any - this is how people did things like that - without any guidance or help or anything, just go start your life. That's how I left home at 17 or 18.
DG:
I didn't know what to do. So I just naturally decided to check out all the computer stores in town. So that's what I did. I took the bus, walked and found a computer store, multiple computer stores. They were all pretty cool, but there was one in Burnaby called DataTune, and it was just really funky. It was started by a guy named Murray Brown, and it was this weird eclectic mix of music store and computer store. So they taught you guitar, piano, accordion, they sold all those things as well, including repairing accordions. There's this big woodwork shop kind of thing in the back where they repaired accordions only, but they also had Commodore 64s. Oh, by the way, they also had Roland, Korg, and Akai synthesizers as well for sale. For me, it was like a candy store.
DG:
I love music. I'd already done some music stuff programming on the KIM-1 and Apple II, and I was really interested in synthesizers, and I'd got a book called The Musical Applications of Microprocessors by Hal Chamberlin, and that was a really, really cool book. It's still a really cool book about how to make computer synthesized procedural music and sounds, so I was really interested. I didn't really pursue getting a job, but I hung out at that store so much and got to know everybody so well that eventually Murray I guess took pity on me and he offered me a position, a junior position at the store.
DG:
I did the usual things in retail, sold guitar strings mostly to people, did whatever I could. Then eventually he decided to try me in sales. So I did some sales work and I was a terrible salesman. It turned out I would talk to the person, pretty good at talking to them, but I'd eventually go, "I don't think you need a computer. There's probably better ways you can solve your..." Because people wanted computers, but they didn't really have an application. So they'd come up and drum up an idea in their head about what they would use a computer for. Come talk to me and, "Oh, you can't do that. That would be- we're not really there yet." So I got shuffled. Murray noticed this; what you're supposed to do is basically entertain their fantasies and just let them get a computer. They want a computer, let them buy a computer, let them have an excuse. They just wanted an excuse to buy a computer. I didn't realize that at the time. They just wanted one and you just had to help them along and they would be happy with it. They'd really be happy with it. Computers were really cool. But anyways, I got shuffled into more like IT support [for DataTune].
DG:
So I would help people who had already purchased computers with any problems they had, which is better for me. I would fix computers as well. I started to do some electronic repair; minor electronic repair. They had a little area to do some electronic soldering and stuff like that, so I would do that. I also got to play with all the synthesizers. At night, sequencing, it was a lot of fun and there was this music going on. There were other people that worked there too, obviously, so it attracted similar people. There was a guy named Graham Bennett who had got a PET computer in the seventies, so he was really early on with computers as well. He was a programmer, artist, musician, just one of these kind of all around people. He could do it all.
DG:
He was also very entrepreneurial, so within DataTune, he started a company called Silicon Springs, and he started getting business for us. I joined Silicon Springs and there was kind of a loose club that formed around Graham and DataTune where programmers, other college students and other young people into computers, would meet at DataTune regularly, go across the street to Verona's to get pizza and talk shop. Since I was actually working with DataTune and also with Silicon Springs, I started to get work doing weird things. For example, there's a company in town that did teleprompters and they wanted to make a portable teleprompter. A teleprompter is a device, at the time, for a news reporter in the field or in the studio [to read scrolling text from]. The one they wanted to do was in the field that would actually use a half kind of mirrored glass and project words onto it and have the words scroll.
DG:
So we made a product (or basically I did, but Graham was involved) that had a word processor and a scrolling text with a controller that could control the speed remotely, and it worked with their preexisting small TV screen and projector. So it was all, for the time, considered compact and portable and had a C64 motherboard in it. So I learned to program the Commodore 64 through Silicon Springs and these projects. So most of them were C64-based for whatever reason. So I did a bunch of stuff like that. Mice: there's a company that imported mice for the C64, but they weren't compatible with most software. So I actually did a lot of hacking. I would hack into commercial software packages and then find the mouse code and replace it with code that would work with their mice, which was pretty challenging.
DG:
We had no disassemblers or anything. So I'd done a lot of hacking. I forgot to mention that during the whole time that I was in Kitimat and Prince George and in Vancouver, I actually left the place that my mom's friends had and I got a roommate. I can't remember his name. Anyhow, there was a guy I met in Prince George who was an excellent Apple II programmer and he had a friend. So he hooked me up with this guy that had basically a spare room and he was into Apple II stuff too.
DG:
Part of the way I managed to get my rent a little bit lower is that he loved collecting software. He was not technical really, but he loved having a cracked version of everything. So early on in Kitimat and Prince George, I'd done a lot of software cracking, actually. I forgot that's a whole other side of things where I just cracked copy-protected stuff. We were kind of isolated. So there was a lot of stuff that was maybe circulating in terms of games in California or whatever that were already cracked, but we didn't have access to it. So I would be just cracking stuff for the local community, stuff that had already been cracked probably by other people, but I'd make my own cracks for it because we didn't have access to the cracked versions. For the most part; sometimes we did.
DG:
There was one pretty interesting scam that Eric came up with where we would call long distance a BBS in California, and he had a second line. I would be on the other second line and he'd call them collect. You could call collect in those days, and then their modem sound would come up and then the operator would go, "We have a bad line. Do you want a new line?" Eric would go, "No, no, this is fine." I'd be on the extension going, "No, it's okay. It's okay." I'd pretend to be the other person in California. Then she says, "We have a long distance call from blah, blah, blah. Do you accept the charges?" And I would go, "Yep, yep, that's okay." Then Eric would turn on his modem and then the two modems would connect, and then we would download for hours without paying for it. We did download a few things that way, but not a lot. That was a kind of a scam that we only did a few times, but we definitely did do that. But yeah, I learned to crack software. That's one of the ways that I learned [computers]. I was originally just curious about software.
DG:
I mentioned my parents wouldn't get me games, but I could borrow games from people that had Apple IIs and then I would crack them so I could have a copy of them secretly. So my parents didn't buy me games but I could get cracked versions of games, and there's a game called Choplifter. I was really curious how that worked. So I investigated it in the assembly language monitor, and I figured out a bunch of stuff about how it worked and how it had a really cool thing: On the Apple II, if you want to find out the position of the joystick, it's like an X and a Y, two different basically potentiometers that make a joystick - a full joystick as an analog joystick - but it takes a lot of time. The processor actually has to go through a loop polling the joystick to find out where it is. It's kind of a divide and conquer or successive approximation kind of thing. So it takes a lot of CPU time.
DG:
The clever thing about the Choplifter joystick routine was that it actually took the X loop and the Y loop and it kind of put them together. [The author] did them simultaneously, essentially for [the tradeoff of] a slightly lower resolution. I think normally it's like 256 different [values]; I think [Choplifter] was like 64 different [values], but that was actually still pretty good. 64 in the X and 64 in the Y for the price of basically twice as fast of a joystick routine, which is actually pretty nifty. So I copied that. I immediately copied that and put it in every game that I made because I was like, frame rate is important. So you'll see that in a lot of Apple II games that they can slow down if you [move the joystick all the way in a certain direction], because one particular end of the joystick is actually the full loop versus early on the other one. So if you push the joystick in one direction, it'll slow the game down quite a bit. I think they probably even use that to their advantage, whatever. You could slow the game down.
DG:
So I did a lot of cracking. I was in Vancouver, I was at this guy's house, and I was basically cracking for food kind of thing. "Bring me games." I don't know where he got 'em from, but they'd be the obscure games. Most of the time it's pretty easy. I kind of had a system, I already recognized the protection. "Oh, this is this one again." But sometimes they were just incredibly difficult and it would take me a few days to actually get through them, but I was really good at it. I was really good at cracking games.
AR:
Sounds like it.
DG:
Yeah. I guess one of my best cracks, just to give you an example: there was a game called Robot Odyssey, which is a really, really, really cool game from The Learning Company. The game was so cool, even thinking back, it's amazing. Basically the idea was that you would do logic chips like AND gates, OR gates, NOT gates, and you'd build functionality inside of a virtual robot. This robot had to solve these puzzles and you couldn't help it [once started]. You had to just basically create a program and let it go through the maze or whatever. It had sensors and a grabber arm and a couple other things, an antenna. Sometimes you had two robots and they could communicate over their antennas to each other. It was pretty advanced. The cool thing is that you would, you had to use a little soldering iron, you had to solder your wires and your circuit point to point, and then once you've made a circuit, you could actually go to this other room, which is the IC manufacturing room, and you could turn it into an IC, take your entire logic and stick it onto a chip.
DG:
So then now you could use the chips in your robot instead of these big circuits. It looked kind of like blueprints in Unreal Engine, like big logic things, but you could just shrink it down into a chip and then you could just hook chips up to each other. So yeah, that was pretty cool. I was familiar with 7400 series chips, so I kind of made my own set of logic chips similar to that. I even made a serial port kind of chip.
DG:
We could talk about that forever. That was a whole cool era. But I wanted it. I played this game in Prince George first when I was younger and then went back, went home for summer. Eric made me a copy using Locksmith, I think just a nibble copy, not a cracked copy, just a nibble copy. It attempted to read the weird format (whatever format they use) and then make and duplicate it on another disc, and it booted up and it looked great. Got it back home. I was super excited to play some more Robot Odyssey at home and got it home, and got into the game, and I started soldering up my first circuit and the soldering iron didn't work. It would go, and then you go to the other point and go and no wire, right? I mean, that's weird. I thought it was something wrong with my joystick or whatever. I tried a bunch of stuff and I realized- I always had a very cynical, pessimistic mind. "I wonder if this is a copy protection these guys have. Instead of making it obvious, they've done something really subtle." This actually years before Spyro did this, right? Spyro did the same thing on the PS1, famously, but they just nerfed it or whatever. They just broke the game.
DG:
So I think I spent an entire week - without sleeping, hardly - of reverse engineering the game, how the soldering iron stuff worked, and I rewrote it all. I literally rewrote it. So it worked 100%. There's a whole bunch of code missing, and I just worked around the copy protection. I worked around the- I just took what they did to make it not work. The code wasn't just like NOPed out or something like that. It was actually missing code. So I had to actually rewrite code to actually make it. I had to really understand how the whole thing worked in order to patch in a missing piece. I don't think that's one of those kind of accomplishments that you go- that only you know about. Maybe there's not really much place to brag about it, but it was just for me though, so it didn't really matter. I basically made that, and then I could happily play my copy, and once it was fixed like that, I could then nibble copy that and it would actually work. I made it so it was copyable from then on too, so it was basically essentially cracked. I eventually cracked it as well after that.
DG:
Going back a little bit. So I was cracking for a living, just to keep my rent a little bit lower, and then working at DataTune, doing all this really cool stuff, mostly programs. We made a light pen for the Atari ST at one point, which was a really cool project. Then there was a game company that needed sound effects. We had an Ensoniq Mirage, which is an early sampling keyboard, and so we would make some baseball sound effects, sample them into it, and then I wrote a program to export it into the Atari ST. Then we sent them the sound files. So we did some kind of outsourcing for sound assets for a game company. Then there was a game company in town, and one of the guys in the club, his name was Esteban [Ahn] (another Apple II programmer), told me about this company and it was called DSI.
DG:
I managed to get in touch with 'em, and I got an interview, and there were probably - at the time of my interview there - six people in this company, really small actually. It was literally in somebody's house, like a garage operation. Stan Liu was one of these. Many rich Hong Kong families would send their children to Vancouver to get educated. They would buy a house in Vancouver and then send their children there. Stan and his sister were both super young. Stan was basically just out of high school, and his sister was still in high school, and they lived in this house by themselves. He lived there his whole high school years away from his family, just him and his sister living in Vancouver, kind of like Pippi Longstocking or something.
DG:
It was really weird, but that gave him this... He was friends with Don and Jeff from high school because he went to the same high school, I think in Burnaby. So when Don and Jeff wanted to start a company, they needed a place. So he was like, why not use my house? It's big, empty. That's how they started. Emory Wong was there working for them at that time. I interviewed and I didn't get the job because mainly because I was actually too arrogant at that time. [In reality] I wasn't actually as arrogant as I came off in the interview. I just thought that you should be arrogant in an interview. I was trying to be; I didn't really know how to do an interview. Esteban was the one who really coached me on that too. We talked about this and basically decided that that was the best approach.
DG:
I was doing bad things like... Don and Jeff had made a game that was way more successful than anything I'd ever done called Evolution. They had been on TV news and local game shows and stuff, and they were kind of wunderkinds of Vancouver already, just in their high school years. I thought Evolution was pretty cool, actually; I didn't have any real reasons to dis it, but I did. I thought, "Well, I better show them how good I am by telling them everything that's wrong with their game." So that didn't go over very well. Don was like, "Who is this guy?" Don actually thought I was pretty cool because he thought, "This guy's got real cojones to still actually come in here and tell us our game is bad." But Jeff Sember took it personally. He actually did most of the coding, so he didn't like- there Are a lot of companies which have a no asshole policy for, and that's one of the major foundations for hiring. So I was like, "Well, okay, that didn't work."
DG:
I went back to my regular job at DataTune and tried to make that work. We tried to make Silicon Springs go for more; from just work for hire to actually making our own games and stuff, but never could get it off the ground. We just didn't have enough... the it factor or money. We just didn't have enough to go and spend all of our time [on Silicon Springs]. We had to pay the bills. We had to actually sell guitars and guitar strings. The spare time stuff wasn't really working out, but it was kind of cool, though. We were advancing, but we weren't getting where it would've been cool if we could have actually launched as a company; we just didn't know how to do it. Meanwhile, Don and Jeff were doing it, but they had advice from somebody called Barney Williams who is a Sydney Development Corporation guy, a pure business guy.
DG:
Also, Don's mother was a business accountant. So between his mom and Barney Williams and Sydney Development Corp, they had a lot of help taking the next step. They had started this [new] company called Distinctive Software Incorporated. Like I said, I didn't get hired, but I think a year or so later, Don and Jeff had a falling out and Jeff quit. He stormed out or something. I don't think it was a good idea for him, but he did. He left. Him and Don just weren't getting along. He started a company and he took another person with him called Mike Benna, who's also a pretty good programmer, and they started their own company called Mindspan, I think. They went on to make a bunch of Hardball games, in particular for Accolade. Accolade was a publisher that was very much in bed, I guess you could say, with DSI, or at least one of the main publishers. DSI, by this point, had already been made in my absence there. I think [they made] the first Test Drive game published by Accolade.
DG:
They were on their way [to success] and they grew rapidly. So this falling out happened, and Don actually called me when that happened and he said, "Hey, why don't you come down and interview again?" I'm like, "Okay, sure." I have no idea what had changed. So I interviewed and it was way different. It was a way different type of interview. My first interview was just Jeff and Don at a coffee shop, but they had an office now. They moved out of Stan's place and they had an office and probably 15 employees now. It was pretty big comparatively.
DG:
They had hired a professional engineer named Rick Friesen to head up the software engineering. He actually brought in processes and turned it from a bunch of hacks into an actual proper software engineering kind of thing, which was really crucial and really good for DSI and for anybody who worked there. Most people, I would say 90% of the programmers there, were like me. I got a job. So I got interviewed with Rick and I was much more humble, obviously.
DG:
I got a job as a junior game programmer. So there you go. That's how I got into the game industry. I was making $20,000 a year, which is really, really, really low. But I didn't care. I was in and I got started on... My first things weren't even engineering. I was doing data entry level design for their driving games... I remember doing the Cycles game. I remember taking all the different tracks like Hockenheimring, Silverstone, and all the major F1 slash Grand Prix motorcycle racing tracks, and then getting a protractor and hand measuring everything and breaking it up into slices, with every slice basically being a straight piece and with an angle associated with it. If it's a curve, it's just straight at 0, 0, 0, 0, 0. Then going around the corner... how many degrees and then left or right, and then going all the way around and then matching back up again. Then creating all the different places where you can see things like objects, placing them basically all by hand. They didn't have a level editor, so it was all done by hand.
AR:
That's crazy.
DG:
So yeah, I did all those tracks. Then after that, I got into my first project. I think my first project was... I think it was Ishido: The Way of Stones, which was a Konami project. So I did the Apple IIgs version of Ishido, which was really cool. I mean, what a great first project to do; it was really cool.
DG:
Then after that I got to work on the C64 Teenage Mutant Ninja Turtles, and then I helped out on Metal Gear as well for the C64. Then we kind of graduated from the C64. I also started on the Apple II Test Drive II: The Duel, and despite not getting very far, I was super happy. That was actually my moment because on the Apple II... I got to do an Apple II game finally, professionally, because I'd made my own games on the side, my own personal games and stuff like that, but this is finally a [commercial] game for the Apple II; I'd spent my whole life learning the Apple II inside and out. To this day, I still remember everything about it, like $C050, $C030, $C000, all different.
AR:
It never leaves you, right?
DG:
You could stick me in a room with an Apple II and I could actually make a game on it with just in the assembler monitor that's built in. It would take me a while, but I could do it; I could make whatever game you wanted. "Pac-Man? Okay." The funny thing is, this was 1989, 1990 or something like that. I was only about, I'd say a sixteenth of the way, or even less, maybe just 2% of the way through this game [Test Drive II: The Duel]. They came to me and said, "Well, they've run the numbers, and they decided that the Apple II market isn't really worth doing, so we're going to close this up." My first cancelled project. It was very, very sad. So Test Drive II: The Duel never came out on the Apple II, and although I was so excited to do that- I'd still do that today. It's one of those things where I should go back and make an Apple II Test Drive II: The Duel just to make it happen. Finally.
AR:
To finish the story.
DG:
Maybe I will, but just... like I should go back and do a football game on the KIM-1. I should finish that too. But anyhow, I did eventually make a football game though for a 6502 system. I made a football game for the Atari 2600.
AR:
Oh, wow.
DG:
You can look it up. It's called BLiP Football, and it's sold by AtariAge: BLiP Football. It's a recreation of the calculator football game. I would consider it a... You know how you see an older Sega Genesis game, Mega Drive game on your Switch or a modern system? That's the first version of that, I guess. I think, "What if the Atari 2600 had earlier games on it?" Doesn't go back much earlier- there's not much earlier. But, "Oh, wait, there's the handheld little blip games, right?" One of those. So that's what I did, just because that was such a whimsical, stupid idea. A lot of people looked at it and they went, "What the heck? Why?" But I know there's a few people that thought it was really funny and thought it played really well. So it's a fun piece.
DG:
What if I have it here? I see- on the shelf, maybe I do... Hang on one second.
AR:
Oh, sure.
DG:
When I was young, very young, I really wanted to make Atari 2600 games. In fact, on the Apple II, I made an Atari 2600 dev system. I could plug cartridges into the Apple II and I could disassemble them and figure out how to program an Atari 2600, and then it could write to battery-backed RAM or whatever to actually put a cartridge in. So basically I made one little whole dev system. I was only 16 years old, I think, when I did that.
AR:
Oh my gosh.
DG:
But it never went anywhere because right about that time, that's when the crash happened, right? The game crash. So I'm like, "Oh, I guess I'm not making Atari 2600 games, because that's not a thing anymore. Nobody wants to buy Atari 2600 cartridge games." It's like the whole game industry was- I was devastated when that happened. I was like, "What? The game industry... games are over."
AR:
Yeah, dead forever.
DG:
Dead forever. I never actually got an NES; I didn't even know about them because that's when I moved to Vancouver and got into all this other stuff, even though that would've been right around the time when the NES came out. I never got one and I never had any exposure to it at all, weirdly. It would've been great. I wish I'd seen it earlier. So yeah, here's the BLiP Football cartridge.
AR:
Whoa. Oh, that's so cool.
DG:
Yeah, I didn't make very many homebrew actual published games. That's the football game. I also made this... it's not even a game but it actually made it onto a cart. It's basically the Omega [of demos]; the Amiga demo, the Boing Ball demo. I made a version for the Atari 2600, which actually came out pretty well.
AR:
That's cool.
DG:
It's really giant. It has a giant sprite on it. It spins and everything. I actually rendered the ball using Maya, the 3D software for making 3D games. I think I did this in 2005. We were already doing 3D video games by that point in time, so I had access to Maya. There's a lot of ways you could have done it. You could have just procedurally rendered it and then exported that, but I just had Maya there. It was easy to take a 3D ball and just take every frame of it rotating and then use that.
DG:
Then this is... This one never got published or anything, but this is Mega Man. I made a Mega Man game for the Atari 2600. I love Mega Man, so I made a version of it. It's not very complete. It's literally just three levels. I didn't have much time; I did it in just a week in my spare time in the evenings. So the Mega Man demo was originally made to be exhibited with a giant Atari 2600 joystick. It was a six, seven foot-tall version of an Atari joystick. It's sort of an art piece more than a game because it was exhibited in an art gallery by a collective called iam8bit. [iam8bit's organizer] is still around doing cool stuff. He got ahold of me. I was on AtariAge. He said, "Can somebody make me a Mega Man game?" And most people are like, "What? Forget it. You're asking too much."
DG:
I'm like, "Wait a second." I've always been a person who feels like you can take the essence of a game and make it happen even on an older system or whatever. You can still get across the feeling of it. So I did that. The first few days I was actually really, really failing hard on getting the feeling of Mega Man. The artwork took me way more time than the actual game itself, but I really wanted it to feel like Mega Man. So I've had trouble with this before, even on the football game, to really get the... Even though it's very simple, I could never figure out how the logic worked just from observing it. So I actually ended up talking to another programmer who's a pretty accomplished- I can't remember his name right now [Bob Montgomery], but he's in the credits... I gave him credit for this in BLiP, but basically he figured out what the essential inner game loop of football was. It's very simple. Their logic is: just wait a random amount of time and then randomly move in the direction of you. That's it. So that's so simple. Then the difficulty is just how often do they make a decision to move towards you.
DG:
For Mega Man? So here's what I did. As you already know, I'm an expert hacker. I eventually just got the Mega Man ROM and I just looked through the code and found the movement code for Mega Man and I'm just like, "Ah, that's how it works. Okay." So I didn't copy the code directly, but the concepts of how he [Mega Man] did gravity, the feeling of it, pressing the button and then letting go and then it immediately stops when you let go of the button and he immediately stops, all that feeling. I scaled it too. Because I was using a bigger character and everything, I couldn't just use the code. So I had to recreate it in that size. If you want to try it, it's available for free.
AR:
I think I've actually played it before.
DG:
Have you, on the 2600 version?
AR:
Yeah.
DG:
That's me.
AR:
That's crazy.
DG:
Then you go up a couple of levels and there's a few classic enemies, some jumping, and then you fight Elec Man, I think, in a boss battle where you basically lose - I guess it's kind of my statement on Mega Man games and how frustrating they are. I don't think you can actually beat it; I don't think it's actually technically winnable. It feels like you can though. It feels like you're so close every time you fight him because his energy goes down and you're hitting him and hitting him, but then he kills you, right?
DG:
It's dynamic and everything. It feels like you're playing it. It's not like a movie. But that's it; there's no more [gameplay]. So you're just left wondering, "Is there more to this game?" But there isn't. Like I said, I made it in one week and I spent most of my time doing Mega Man sprites, and the second half of my [development] time was figuring out his movement logic. I had no time to create the actual levels, so I could have made that into a full Mega Man game. There was enough there. I could have added a lot more of the Mega Man [gameplay]; the platforms coming in, coming out and being able to jump off stuff. I could have used a lot more of their gimmicks in Mega Man and created an entire... I thought about that, but never really had the time or the motivation to do it. Cool thing though, there was a guy in Portland who saw my game [Chris Spry], and then he was like, "What? You can do that on Atari 2600? That's amazing." And he was inspired. He contacted me and asked me all about it. I provided my code to him, all my code, and so he ended up making a Sonic game on the 2600 [Zippy the Porcupine].
AR:
I was just going to ask if that was related to the Sonic 2600 port. Wow.
DG:
Yes. I directly inspired - more than directly inspired - the Sonic game. He also did a Mario game I think as well. He did a couple different ones, and then he also created his own original one, which is really cool. I can't remember what it's called. So that's my contribution: inspiring other people to realize that you can actually do more on Atari 2600. Even what I did was in one week, if you put more effort into it, you could even do even better than what I did in terms of graphics, I used something called batari Basic. In order to do it in a week, I needed a leg up, so I used a high level language that came pre-made with some pretty low res kernels. Even within those constraints, I think I accomplished it pretty well. Bob Montgomery helped me, CDW helped with the title screen, and Bob's brother did the music. He did a pretty good job of making the Mega Man music for Elec Man's level. He just took that Mega Man 2 music and he arranged it for the terrible Atari 2600 sound chip.
AR:
The almost non-existent sound chip.
DG:
Yeah, it's just barely there and it can't be in tune most of the time, but he managed to pull it off though. He actually somehow pulled off a pretty credible tune as well. So the whole thing I'm pretty proud of. Of course the best part about it was all the... not a few but many claims that this was fake.
AR:
That's such a weird thing to say.
DG:
People do it though. They go, "No, no, that's not real. You can't do that on an Atari 2600."
AR:
It's still a computer.
DG:
I know, I know. That's what I tried to show with that, and I did. I inspired people to go, "Oh, you could do a platformer on a 2600. Oh, that's cool." So yeah, platformers are possible. It was more that we didn't know about platformers than [the question of] were they possible. That's why people don't realize; a lot of [the community focuses on] Nintendo and people programming for the Nintendo and even N64 and stuff like that. But primarily, I give Nintendo a lot of credit for pioneering a lot of these things.
AR:
Of course.
DG:
Yeah.
AR:
So one thing I wanted to ask is-
DG:
Getting to Sega directly, right?
AR:
Yeah, actually that was going to be my next question here. So I believe you had a hand in programming for both of the Carmen Sandiego games on the Genesis, correct?
DG:
If I recall correctly, yes. I did more on one of them [than the other]. I did much more than just sound, but I don't remember exactly what I did. I do recall one of them being... I was directly involved in getting the C code working (they were written in C) and localization. I remember getting the languages to fit because German was just the worst. The words are so long and they just don't fit. You can't break them easily. I think I put a fair amount of effort into those, but I don't remember exactly my contribution though. So I can't claim any more than just remembering working on sound, working on the UI stuff. It's pretty foggy.
AR:
Oh, it's super understandable.
DG:
In the early projects when you're doing everything on the IIgs... Even then, I was still a bit more of a junior programmer on my first projects, so I was mainly concerned with getting the underlying engine that we had working on the IIgs and getting all the particular interfaces that are hardware specific, like sound and graphics, working well. The actual game logic on Ishido, I didn't have to do too much. Jerry Rempel was doing the PC version, but he took care of basically the game logic as well. So the game logic just came to me kind of already done. I was really just more making sure it works on the IIgs, which was a lot of work, especially getting it to scroll fast enough; I had to use all my skills. But I remember I had done all the scrolling work on the teleprompter back in the DataTune days.
AR:
Oh, that ended up coming in handy again.
DG:
Yeah, I also used that same scrolling. I spent a lot of time thinking about scrolling actually. I rewrote all the scrolling. Somebody had written a scrolling routine for Teenage Mutant Ninja Turtles and I just threw it away and rewrote my own much better one, faster. I didn't know about the really, really amazing scrolling routines you could do on the C64. There's one that's in the game Mayhem in Monsterland, this amazing C64 game that has just beautiful scrolling, but it used a hardware trick. I did contribute some of my ideas to Altered Beast on the PC; they were doing all soft scrolling and I showed 'em how to do it in hardware.
AR:
Interesting.
DG:
But the IIgs actually uses soft scrolling. I couldn't figure out a way to do any hardware tricks on the IIgs. Same thing with C64: I used soft scrolling. Soft scrolling is basically where you're literally copying all the data to move the entire screen; you have to copy all the data. On the C64, it's lessened because you're just copying character data. It's a character screen for the background. On the IIgs, it's bitmap. You're actually copying the bitmap around, which is a lot more data to do for scrolling. So that was just a lot of unrolled loops, what they call today speed code. It's actually a staple of demo coding. From back then, and even 'til today, my specialty is optimized coding, speed coding.
AR:
Right. I think you mentioned that: that you were brought into a lot of projects to clean things up and fix things.
DG:
Yeah, make things faster. Fix up the frame rate.
AR:
So speaking of the Genesis, it sounds like you were just, in general, more focused on the Apple II and C64 than the Genesis, but what was your biggest surprise when it actually came to working on the Genesis?
DG:
Or biggest challenge?
AR:
Biggest challenge, actually.
DG:
I did a lot of Genesis work once this console stuff started. We dropped C64; we dropped all the home computer stuff. I know there's still people working on PC stuff, but I never worked on a PC title ever again until the late nineties, I guess. From a certain point, when we started consoles, it was in the 16-bit era. I wish we had started earlier and gotten to do NES stuff. Like I said, there was an internal project on the NES, I believe, and there were definitely some Game Boy projects that I didn't get to work on, unfortunately. I really wish I could have, but there just wasn't a lot there [in terms of DSI projects]. But that was pretty late in the NES [lifespan], I guess. We went to Super NES and Sega Genesis, and so everything I was doing was related to those things, but it was sports games primarily.
DG:
Since I had that 6502 background... Obviously I had done a lot of Atari ST programming, which by the way, has the same 68000 assembly language as PDP-11 - which, I mentioned, I learned PDP-11 in college. So when I started on the Amiga and Atari ST, I was like, "Wow, I already know this pretty much." It's pretty much the same assembly language. Motorola just copied it from Digital Equipment Corporation. So when I got to the Genesis... I have a lot to say about the Genesis actually.
DG:
I was highly impressed with the Sega Genesis. It was definitely my favorite console, even compared to the SNES. They didn't have as many accomplished SNES programmers. The other thing about the SNES is that it has a 65816 processor, which is a 16-bit version of the 6502, and that's actually the same processor as in the Apple IIgs. Now you can see why they had me working on more SNES stuff because of the fact that I was one of the few people at the company who had done an Apple IIgs game with Ishido. So the Ishido to SNES transition was pretty good. I'd already worked with C compilers on the IIgs. The Apple Programmer's Workshop for the IIgs had a C compiler, so Ishido was actually written in C on the Apple IIgs, except for all of my routines for doing scrolling and whatnot in hard-coded assembly code, but actually [coded the main game] in C. Same thing with Carmen Sandiego: it's actually in C.
DG:
So I pioneered the use of C on the Super Nintendo. I think we adopted C on consoles well ahead of a lot of places. A lot of places were still using assembly code and it was not as shareable. They didn't have a system library. But DSI, because of Rick Friesen, had an organized library. That means you could write once and then port it to all these different consoles. That was really a really important pillar [of the company] that he came up with early on. We had a nice set of library and tools and an art pipeline.
DG:
But the Sega Genesis... I mean, it was just a dream machine because the 68000 CPU had the best CPU, assembly language-wise, of that era, maybe even of all eras. It's probably still my favorite over x86-64 certainly, and even better than ARM, the two big CPUs of today. It's too bad that 68000 wasn't chosen by IBM, like they almost did for the PC. It was between 8086, 8088 or whatever and the 68000. I think the reason they chose the 8088 is that Intel had a second source [of manufacturing] with AMD, so they felt more comfortable with two suppliers of the chip versus Motorola, who didn't have a second source for the 68000. That was one of the main reasons. So the Genesis definitely an amazing system to work on in terms of the processor. The fact that it also had a Z80 as a co-processor was really cool.
DG:
I worked early on sound stuff on the Genesis. There was a programmer from California, Steve, I can't remember his last name just off the top of my head [Hayes], but I could probably look it up and get it for you if you need it later. He was inspiring. He came up from EA in like San Mateo or Redwood Shores or whatever (the main campus of EA) because EA purchased DSI, as you probably know, in the late eighties, early nineties. Now we were actually an EA subsidiary, so he came up to help me with sound on a project because we were using his Z80 code (which was nothing special) for sound on the Genesis. He basically helped me in two ways: with how to use his libraries and how to make sound work on the Genesis, but also how to be a more professional programmer - which I needed help with at that time. I think I've always had a bit of ADD, kind of ADHD, so he helped me with that. He said, "You're a great programmer. You just need to put your hands on the keyboard and program. That's your main problem. Otherwise everything else is great."
AR:
I like that.
DG:
Just hands on keyboard, hands on keyboard. He would see me distracted, talking to somebody or whatever, and he'd come over and say, "Hands on keyboard, hands on keyboard." "Yes, yes, yes, of course. Hands on keyboard."
AR:
That's helpful. Someone reminding you.
DG:
Yeah, it was helpful. He made it into a mantra so I could just easily remember, if I'm getting distracted, "Oh, hands on keyboard." That's actually the main way you get things done is just. It's not always going to be fun or easy, but you've just got to do it. All the stuff that I did, big projects... I could hyperfocus and everything, but I had that internal motivation. But when you're working at a job, sometimes you don't have the same feeling of like, "Oh, this is my core goal in life." You're just doing a job, so you need to come up with that motivation and remember to just do your work.
DG:
It was really cool having this [motivation] and then unearthing what is going on with this Genesis system. Why is there a Z80 here at all, right? Why is there this YM, FM synthesizer chip and this ancient programmable sound generator you would see out of an MSX computer? Why are they there? It was great having all those extra sound channels. I didn't actually do any of the composing by the way. We had a guy named Kris Hatlelid, and later Don Veca and another guy (I can't remember his name) doing the actual [music]. I was just doing the implementation of getting their music from data and it into the game, getting it all set up.
DG:
In retrospect, it's just kind of bureaucratic-type work. Not really super creative, but it was still pretty fun. You still had to deal with bugs and problems. We also had- so the driver could do simple MOD style note playing, MIDI style-note playing. We did have the ability to have a digital track as well. The very first version [of the driver] was all written for the 68000 because you could actually access the sound directly from the 68000. You didn't have to use the Z80, but eventually we had a full Z80 running on its own and it was generating a digital track by just using, I think if I recall correctly, the PSG registers as a pseudo digital to analog converter. That's definitely how we did it on the Atari ST using a similar chip.
DG:
The ST has a YM2149, AY-3-8910, which is very similar to the SN style: four voice, three square waves, plus a noise; that's in the Genesis. Then eventually I found out, of course I found out, that the reason that's all there is because there's actually a Master System embedded inside the Genesis. I only found that out later; the backwards compatibility. I found that after I left DSI (EA Canada) on the tail end of FIFA, the very first FIFA; I was the lead on the SNES version, and I went down to Accolade to work on the SNES version of Unnecessary Roughness.
DG:
They actually decided to cancel the SNES version. I don't think that ever came out; instead, I just helped out on the Genesis version of Unnecessary Roughness. I just did frontend stuff for that. So refreshing. The UI, trying to make it look as much like ESPN as possible... So basically looking at ESPN and trying to make all the graphics and UI like ESPN; that was my contribution there. Not a lot of heavy lifting as far as gameplay. I did write an entire game engine for the Super Nintendo for them though, but it just didn't really get used.
DG:
It was a full sprite engine; downloading sprites on the fly, animation. They didn't have any of that stuff the way they worked. In contrast to EA Canada (DSI), they worked more like how the Japanese companies worked. They had individual artisans who had all their own closely guarded routines that they would not share amongst each other or with other people. I came there, arrived there with nothing, and they wanted me to write this SNES version. Instead of C, I'd be porting from 68000 code; much more difficult and I had no engine at all, nothing. I had to basically start from scratch. I had to start writing an entire game engine for the Super Nintendo. That took me a few months and put me behind schedule almost right off the bat. Then I had the difficult challenge of trying to get the Sega programmer to cooperate and get his code over to the SNES; he was very combative, so that was also challenging. Only when I became part of his team did he become much more friendly, even though we should have been on the same team in the same company making the same game.
DG:
It wasn't easy getting him to help on the SNES version, but once I was helping him on his version, we actually became friends at that point. We're still friends now, but early on it was not so good. I don't think it was personal, but I had the same problem with Japanese companies as well. We could never get any source code or art or sound or anything.
AR:
Or even support I'm assuming.
DG:
No support, nothing. The only thing that they [Falcom] provided us [when porting Ys to IBM PC and Apple IIgs] was a [music] CD that was commercially available. I don't know who got this, but we probably just got it from Kyodai, which is the company that was actually trying to make this game happen, and it was just a CD of the songs in the game.
AR:
Yeah, the music. They're a huge soundtrack company.
DG:
So we got this CD and it had printed out notes and stuff, so it was actually a bit useful for recreating the songs… I just hacked into the game. We got ourselves an FM Towns, I think, or a PC-9801; maybe both, and we got a copy of the game that had been ported or made on that system. Basically I found out that the disc drive was actually PC compatible, so I was able to read the data and reverse engineer the art format. That's how we got the art: just by hacking. Then the rest of the game was basically Jerry just playing it a lot and taking notes and recreating it from scratch.
AR:
You do a lot of reverse engineering.
DG:
Yeah. I mean, that's actually still a huge component of any engineer's work. Just imagine you're an engineer and you got a job at Guerrilla Games, let's say. And they're making Horizon, the new Horizon game, and you're basically being told to work on the animation system and make it have these features or improve it in this way or that way. What are you doing? Are you writing an animation system from scratch? Probably not. There's probably just way too much stuff there and [it's already integrated into] the pipelines and it's all in motion. So you have to basically do the operation on the living patient.
AR:
That's a good analogy.
DG:
A lot of times you're doing a heart operation on something, but you've got to keep 'em alive at all times. So what does that require? That requires you going into the code that exists and figuring out. Reverse engineering, like raw assembly code binary, a binary, and you want to figure it out: you get Ghidra or you've got IDA, or you just go into some kind of debugger and you just try to figure it out like that. It's not actually that much different. A lot of people think that's really challenging, but the fact is that assembly code - if you know it, if you learn assembly code - it's just a different language. It's just more difficult to suss out how it works than if you had the actual source code. The source code is just slightly, slightly easier. I say slightly because, quite often, it is intractable and you are really, really, really stuck.
DG:
And it's hard. I actually find assembly language sometimes easier than source code because when I am looking at a code base, and I really don't understand how something works, the ground truth is the assembly code. The C++ code might be so byzantine and abstract that you would never figure it out, but if you look at the assembly code that's been generated: that's really what's going on. There's no doubt, there's no veneer. So you can go through that and then that can inform you how the C++ code works. Then you go, "Okay, fine." Then you can start to tease apart what's going on with the C++ code. The C++ code these days - modern C++ code is actually terrible. You have these template metaprogramming nightmares where it's like write-only code, I would call it. You cannot read it. My way around that is often I used to always be able to reverse engineer code in the debugger (source level debugger), but with this template metaprogramming, you can't even do that. So like I said, that's why I would dip into the assembly code and figure it out. But the code that I wrote for the SNES was all original.
DG:
I wrote that clean sheet and I ran into some problems because I had been relying on all the library code that had been written at DSI. So you would take a programmer out of his environment and he's a sum of his own skill plus the environment that he's in, and you plop them in somewhere else. Then suddenly, if they're missing a huge swath of code library that they relied on, then they're like, "Well, I never wrote that [type of code before]. Now I need it though, so now I've got to write it myself." You're tackling a problem maybe you've never seen before that somebody else already solved for you. Today, that's the same thing. Nobody writes anything from scratch, right? You have a lot of libraries, you have your engine, you have the whole C++ standard library and maybe even a game engine, so you're not writing. This [SNES job] was coming into a job and there's just no game engine, no library at all, just nothing. So you have to start from scratch, and I spent too long on the scrolling routines. It turns out eight-way scrolling is actually a lot more difficult if you've never done it before; a full eight-way scrolling routine that's general and fast and efficient. So that actually kicked my ass for about a week. That put me behind. Everything was putting me behind because in their minds, I would come in [the office] and just start [programming] and the game would just suddenly appear on SNES.
DG:
It took me too long. I actually contributed to why it [Super Road Rash] was cancelled, I have to admit. The thing is, by the time that they decided [to cancel the port], they had grown impatient. I was actually coming along pretty good at that point, gaining momentum and getting exponentially better day by day, but they didn't understand technical stuff. I was pretty young. 22, 23 maybe. I didn't know how to manage managers, manage expectations and stuff like that yet fully, so I was in awe of people.
DG:
I think I had probably mentioned this guy before, but Jim Simmons over at Park Place (who did the original Madden game for the Sega Genesis and then parlayed that into hockey [games]) took the same code base and just kind of remade it into hockey. As far as I understand, he did this stuff in a timeframe that I could never match. One thing about [developing for] the SNES, though, is it's a little harder. The assembly language is harder, everything's just more difficult. The performance is not there; you don't have a nice multiply instruction. Jim Simmons took advantage of that multiply all over the place. He used advanced linear algebra that I didn't even know at the time. He was pretty accomplished. I've actually been tearing into his code; somebody found the source code for NHL and posted it online. Then it disappeared, but I downloaded it before it disappeared. I've been tearing into it, but I'm curious to see that source. I saw it when I was a kid, obviously, but I never really remembered it or really, really dove into it. But yeah, my SNES engine was pretty good by the time the [SNES port of] Unnecessary Roughness was cancelled. But then I just started doing Sega stuff. The next thing I did after that was I wrote a source level debugger for the Sega Genesis.
AR:
Oh, for Accolade or...
DG:
Accolade, yeah. They didn't have that and I wanted to bring them into the C era. I wanted to start making our games using more C, so I got the C environment working using a Lattice compiler, and then we had our own hardware (custom hardware) which I could go into for Sega Genesis [development]. They obviously weren't licensed by Sega, and they had reverse engineered the entire Sega Genesis at Accolade. I took the… I think that's COFF format output from the compiler and then used that in my own DOS window style. I was modeling after Borland C for the PC, which is really cool: best IDE for the PC in those days, with watch windows and variables and all this stuff. I did that for the Sega Genesis and it came out really good. It was way more advanced than what Microsoft had for the PC with their compiler and debugger at the time.
AR:
Do you remember the name of that [debugger]?
DG:
I didn't give it a name, I don't think. Oh… I don't remember what it was called. I wish I had it still. Actually, I wish I had a board. The way the board worked was it was just a bunch of RAM that emulated the ROM and then some logic that could reset or interrupt the Sega Genesis (Mega Drive), and then a parallel port interface back to the PC. Then there's a little executable running in 68000 on the board, so there's a little RAM there as well. The way it worked is that it could interrupt the Sega Genesis and the interrupt vector would vector to the little kernel that was running. Then it would stop the game or whatever and start talking to the PC, and then you'd be stopped in the debugger. Then you had a bunch of commands.
DG:
The basic commands were like: download code, upload code, move memory, single step, go. Or like I said, you could also reset it. Believe it or not, with just those few commands, you could entirely control the Sega Genesis. You could entirely have a very professional cross development platform with full single stepping and watching. We even had- I put in the ability to view some of the assets, characters, and stuff like that, but some of that stuff I never fully got [working]. I got the basics working. The asset viewer stuff, I think, was actually never really fully finished before the company imploded. But yeah, it was pretty cool and I worked on it all on my own. Nobody asked for it. It was never- that's the way they worked there [Accolade] at that time.
DG:
That's what I learned about the difference between a Canadian company at that time and a US company. Everything in the US was like, you had to be an entrepreneur within your own company. Whereas in Canada, you basically showed up to work and you were assigned work, you know what I mean? It was very much more like Japan is, apparently. I remember being at Accolade a couple days and then got settled in, and then I got my computer working and all this stuff. Then I was looking around; it's like, "What do I do now?" and they're like, "Well, just make the game. What's wrong with you?"
AR:
"You know what to do."
DG:
Yeah, you're supposed to be doing everything. You're basically directing it. They did actually get us a producer at some point, and he did help a lot. A ton. He's a great guy, actually: George McDonald. He wasn't very tactical though, so he completely relied on us to give him the truthful state of what's going on at any given time. So sometimes stuff was lost in translation that wasn't communicated as good as it could have been. I was young. I didn't really know that a lot of the stuff that I was saying wouldn't be absorbed. I wasn't really explaining it like he was five (explain like I'm five). I was always using way too technical terms and stuff and he'd just nod along.
AR:
I've been there.
DG:
At that time, I took on the role of essentially what they would call a TD [technical director]. Brett Hull Hockey was being made at Radical in Vancouver, and they would send their milestone builds to Accolade. I was a TD that actually looked them over, checked everything, checked that the source was working, made sure that they met all their milestone goals tactically (like frame rate), whatever we had assigned them for that particular milestone. So I did that. I did some TD stuff as well. I also assisted Fred [Mank], another Genesis programmer. He wrote [a sound driver], obviously separate from the EA sound driver, which was incredible. It was way more advanced than the one that was written by EA for Sega Genesis sound because it could actually do multiple voices of digital sound. So you had the YM sounds, but the digital side, he could mix like three or four voices together in real time.
AR:
That's impressive.
DG:
Yeah, it was really, really well made. He just did an amazing job on that. But yeah, we moved on to the PS1. It wasn't too long later that Accolade collapsed. I left and then went to [develop for the] PS1; I never saw the Genesis again, so it was a bit inglorious. I guess if your main focus is on the Genesis and my contribution to the Genesis, probably my proudest accomplishment is the debugger that I wrote for it, because I did that all by myself and without anybody asking for it. It was just something I thought we needed at Accolade to make better Genesis games and that probably could have worked. I think our sports games- if we did more sports games, that's how we should have done them. Just like how FIFA was written in C. It was all in C, like DSI (EA Canada). The Genesis was the lead platform. Jan Tian, you want to write that name down. If you're ever going to get ahold of him, he'd be a good guy to talk to if you want to hear the FIFA story on the Sega Genesis. Jan Tian; so, J-A-N T-I-A-N. I could probably get you in touch with him possibly.
AR:
Oh, that'd be wonderful. Thank you.
DG:
He is the lead programmer on the FIFA for the Sega Genesis. It was written in C, in Lattice C I believe, and he created all the algorithms for that from scratch. He'd talked to Bob Lenarduzzi, who is the professional soccer player (football player) who was probably English if I remember, but he was also the coach of the Vancouver professional team called the Whitecaps. He actually came in [to the EA Canada offices] and consulted on the gameplay. Jan actually played soccer as well. He was pretty good actually; couldn't score worth a damn but he was a very good midfielder. I can score better than him. I don't know why, I was terrible everywhere else, but in front of the net I was good. I think it basically comes down to calmness of nerves. I never got excited, whereas Jan… I think the closer he got to the net, the more excited he got. He'd boot the ball into the atmosphere just because of nerves.
DG:
Anyhow, he came up with the whole concept of having these different zones. The whole field was broken up into zones, right? You could imagine them as squares on the field. For the AI, it was multilayer. The top layer was basically the formation: how aggressive you're going to be and your formation (like 4-3-3), how you stack up your 11 players, pushing more people to the front or more defensive in the back. Then in each area, in each zone, if a player was in a particular zone, there was a list of where they should be dependent on where the ball was, right? That was kind of their most fundamental AI; this big kind of table-driven positional information.
DG:
Beyond that, of course, if they have the ball or are near the ball, there's more focused AI. But the really fundamental base AI is basically: if the ball is here and I'm here, based on the formation that we're in, where should I run to? That's how it worked. I remember looking at this [and saying,] "This is really cool." That still informs me. I mean there might've been a lot of stuff [updates] that's happened since then in [regard to] the actual gameplay AI, which I haven't really kept up with, but certainly for that kind of era, that's where I'd still go. If I was going to make a football game for an older system, I'd probably do that. Start with that same concept.
AR:
That's a good way to do it.
DG:
Yeah, it worked out. He had a program on the computer in C where visually he could move the ball around the screen and then all the players would move to the different positions. It looked really cool. Ball's here, everybody's like...
AR:
Seeing them all react differently to different segments of the field.
DG:
Yeah. I mean if you're coaching, you're coaching soccer to kids, or hockey or football, you kind of have that base idea. If you look at football (if you're familiar with football), the defense reacts to the position of the other players and where the ball is, right? I think that might be the next level. Reacting, positioning based, on not just the ball but also where the other players are too. That was probably the next level. The base level is just your formation, attack positioning or defense positioning, and the ball position. Then the next layer up was: what are they doing depending on possession. Where are they, where's the ball, and what are they doing? Then above that, there's actually the close in, right around the ball. What are people doing away from the ball? They're just doing their positioning. It doesn't really matter in a soccer game, especially in soccer. If a defender is way down here, you probably don't want to put too much processing on them. You just put the most processing on the window around the ball, which is the focus of the game, right?
AR:
That's a clever way of doing it.
DG:
So, yeah, Jan. He's a good person. T-I-A-N is his last name. He's retired now. He just retired probably within the last two years. He continued on with EA and other games stuff, I think, for a long time, but he's retired. He's a really nice guy though. I actually had the Sega Genesis prototype cartridges of FIFA, but I lost it in a move somewhere.
AR:
Oh, no. Hopefully it's still kicking around in the garage or something.
DG:
No, no, I've been through all my stuff and unfortunately [they were lost in] one of the moves I made from Seattle to Vancouver, Canada. I spent a lot of time at Accolade in the States, and so I spent a whole career in the US, about 20-odd years - which is probably still the bulk of my game career in the US. When I came back to Canada, there was just one container that went missing.
AR:
[pained] Oh, no.
DG:
Yeah, so I lost a container. [But] I'm always finding… like, "Where did that thing go? Yeah, that's right. It was in the container that never…" It just went missing. I don't think it was stolen or anything It probably got auctioned off in one of those shows where they [auction] abandoned [storage] containers.
AR:
I can only hope someone goes through that and recognizes the value of all that.
DG:
It had that little standard yellow tab on it, but it had no label, so you might not recognize it. You'd have to plug it in. Then if you plugged it in, it would just be like an early build. You'd...
AR:
Have to know what you're looking for.
DG:
Yeah, yeah. It's not labeled. It is not labeled like a FIFA prototype. It would be slightly fatter because the actual EPROMs didn't really fit. They were actually socketed right inside on the board, so it was actually kind of bulging.
AR:
[laughs] Oh my god.
DG:
The cartridge was bulging because it didn't quite fit. It almost fit, but I always remember they kind of bulged at the top. It was actually a prized possession of mine, and I was actually planning on giving it to Jan, actually. I thought if I hooked up with him I'd just present it to him. "Look, I've got-" I shouldn't have had it, really. I think what happened was I just took it home. As I was working on the SNES version, I took a prototype home of the Sega Genesis version, just to play it, to get more of a feel for it. So I just had a prototype at home and then I forgot to bring it back. I honestly did not intend to abscond with it. I just ended up having it, and then when I left, I still had it. It got moved to the US and then just kept kicking around with me for all those years. That's happened a few times. When I was at Capcom, one of the QA guys lent me a copy of DuckTales for the Game Boy that Capcom put out. A prototype of it, like an early version, so I had that too. I don't know where that one is.
AR:
Was that also lost in the same box?
DG:
Probably. I dumped it though, so I got the ROM. I actually did a compare [of the code], not that long ago; a diff of the final release version versus my dump. It's actually not that different, of course. It was pretty close to final, so not that interesting really.
AR:
That's super cool.
DG:
I might have the cart kicking around for that. I've had different prototypes of things over time, but that [FIFA prototype] was the only really cool Sega Genesis one. Honestly, if I still had it and I was talking to you right now, I would send it to you. I have no care [for it]. I don't care about the money value. I would just give it to somebody that actually cared about it. You'd get it...
AR:
Preserved.
DG:
Yeah, you'd probably think that was pretty cool, so I'd probably send it to you, but I don't have it though.
AR:
I already think it's cool.
DG:
I don't have it and I kind of choke about it, but it's too bad that it's gone. I never saved anybody's source code. If I had been more careful, I wish I had saved source code from all those different eras of both on the Sega Genesis or my debugger tool and all that kind of stuff. Don't have any of that. I've never really felt an urge to go back and write a Sega Genesis game. I have friends who've done it though. I've got a friend who just did a racing game for it [Redline Reaver]. Are you interested in that kind of thing? Homebrew?
AR:
Yeah! We do document them on our wiki to a certain extent.
DG:
Let me see what he's got here… I've done a lot of homebrew stuff. Obviously the Atari 2600; I showed you those carts. I've done a PS1 [game]; not a released one. Those [earlier ones I showed you] are the ones I've done as released. I've done a PS1 game for myself. I've done NES games for myself. I missed out on that. I also mostly missed out on PS1 as well, even though I worked on a PS1 game. It didn't get released; got cancelled.
AR:
What game was that?
DG:
It was called Leatherheads. It was a football game for Capcom [USA] that was supposed to be in the era where people used leather helmets; like that old school, old school football. It would've been pretty cool, but it was so behind schedule. I came in to help out; they had seen that I had worked on Madden, but I came in with no helpful information because, in my time on Madden, I never really worked on the gameplay and that's where they needed help the most. So they just hired another engine programmer for their game by accident, really. I don't know what they were expecting out of this.
DG:
They didn't really interview me very well. They didn't ask those type of [development role] questions in the interview. They were just enamored by the fact that I had worked on Madden, so they thought I would have something. I didn't steal the Madden source or anything, so I didn't have anything to go off of at all and no memory of it; I didn't even know how. The only thing I remember about Madden - and this is a pretty good, clever trick - is that, let's say for the defensive line, for example, they run their AI to do whatever, to try to get into the right position. Same kind of thing [as in FIFA]: get in the right position depending on the ball, where you are and that kind of stuff, and then just trying to tackle you. Well, they have to do their think routine, so depending on their player rating, they would simply just run the think routine more or less often.
DG:
So if they were a really good player, maybe every frame they would think about what they should do. If they weren't, they would think less and that's how you could actually- you could juke them, right? Because you'd be going somewhere and they'd be coming at you; then you could juke left. They wouldn't think about it and so they'd continue in the direction they were going and then they would think about it and then they would turn towards you. So that's how a stupider player could get juked. It was kind of just as a result of the way they updated the AI; a simple trick that had that outcome; a cool outcome in the gameplay.
AR:
That's a nice way of doing it. It almost mirrors real life in a way.
DG:
Yeah. It ends up being an analogy or analog to real life as well. I don't think that was actually necessarily how it was thought of at first, because it also saves CPU cycles to do that. If everybody's running their AI all the time, then you don't want to do that quite often. You want to spread, amortize stuff over multiple frames and stuff if you can, to save CPU time to try to run it 30 FPS or 20 FPS. In those days, sometimes things would run as slow as 20 or even 10 FPS. Even on Test Drive, I remember Don Mattrick saying that as long as we hit 10 FPS, that's good.
AR:
Wow. What a time.
DG:
Yeah, 10 FPS gives you enough motion. Then people like Frank Shartrand would come up with stuff like, "Well, if the game was running at 10, 15 FPS, what if the actual UI for the steering wheel input was running at 60 FPS?" The control loop felt better, and so they put that in. It actually did work pretty well. So the actual little sprite that moves on the steering wheel moves at 60 FPS.
AR:
Interesting.
DG:
So you could actually get your precise steering input at a higher rate than the actual game updates.
AR:
Even if the game is a slideshow.
DG:
Yeah, the game is a slideshow, but at least you can get your steering wheel over to the right position quickly. It actually made that game feel faster; feel pseudo faster. Ideally, of course, you do want to get the game up to 30 or 60, and a lot of the greatest games from that era were simple enough that they could do that, but they're pushing it. They're trying to make these 3D driving games and whatnot on an 8-bit processor. So yeah, you end up with a slideshow, unfortunately. People still liked them though back then. They look at 'em now, they go, [displeased grimace].
AR:
I'm sure that was revolutionary back then. Just the freedom of it.
DG:
You had some pretty cool early 3D stuff like Elite that ended up doing a pretty good frame rate because they were masterful. They also made sure that there was only one ship on the screen at a time, or [otherwise] so you didn't have to render a lot.
DG:
Going back to Capcom, working on that football game there. I really only could help them out with engine stuff, and so I didn't really help push [the project forward]. Definitely the limiting factor there was the, what do you call it on a waterfall project? The bottleneck. I guess the bottleneck was getting the AI. They didn't have anybody there that could do game AI, which is really sad actually, considering the game was supposed to be like three quarters done when I got there and they had no AI.
AR:
Yikes.
DG:
That's a core thing in a football game, right?
AR:
Yeah.
DG:
It had football graphics, it had football field rendering and all this stuff, so the management [at Capcom USA] could look at it and go, "Well, it looks like it's coming along." They don't understand that there's actually no game logic, or it's very rudimentary and there was nobody there who knew how to do it. I actually probably knew more than they did just from osmosis from working on FIFA and working on Madden, but I just didn't want to...
AR:
Assign yourself to that.
DG:
Yeah, because I didn't feel confident. I probably could have done it if I'd been more confident about it, because like I said, I did have a lot of osmosis. It would've taken me a long time though. It would've been my first crack at it. I think it's funny, if I look back at a game like Teenage Mutant Ninja Turtles on the C64 and how long it took us to do it, which was a year, I could probably do that in a month or two now.
AR:
Wow.
DG:
It just seems so much simpler. If you can go look at your code, the entire code, it has to fit. After all the graphics are taken away from you in the memory map of a C64, you're only looking at 20, 30K of code, right? Total. I've actually looked at my old code and I've actually scrolled through [all of] it in a disassembler. Not even the source code. I don't have the source code for it, and I can recognize all the code and go, "Yeah, this is it." It's not much. So it's amazing that it took us so long to do it because we just didn't know what we're doing at all. We know so much more now, plus the tools we have now are just so much better. So a month or month and a half, maybe, I could go back and rewrite - do remasters of - all my old games; just repeat them all.
AR:
That'd be a nice project.
DG:
It's a good project. Yeah, it's definitely something. One of the ones that I would like to do is Road Rash for the Super Nintendo.
AR:
Okay! That was actually going to be my question. Can you tell us a little bit about your work on the Road Rash prototype on the Super Nintendo?
DG:
Well, it is pretty basic. We had the source code for it, so we weren't too worried about converting, although it was, I believe, 68000 code on the Sega Genesis. So I looked through… I'd been all over the Road Rash source code. At that time I had access to the Sega Genesis version. It was written in California. I think the guys who did it have been well interviewed online, with lots of information about it. It's a great game; I still to this day think it's a great game. They [Electronic Arts] tried to do a SNES version of it, but they didn't have much experience on the SNES. So they came to the conclusion that it was impossible to do in the budget that they wanted. So they had me look at it.
DG:
The core problem was drawing the road and scaling the motorcycle sprites. The way they did it on the Genesis was with the relatively powerful 68000 processor and the fact that the Sega Genesis' graphics could be accessed in a "chunky" manner. So that means you could have eight bits; that would be like a pixel, if I remember correctly. It definitely was much, much easier to access the pixels [on the Genesis]; whether they were four bits or eight bits, I can't remember. It might've been four bits. But the fact is, they were "chunky" and all the bits in a color were all adjacent to each other. That means the decimation was really straightforward: you could just take the input-size pixels in a row and, if you want to make it 50%, just grab every second pixel and then write that out to the output. [As a result] you have a smaller, half size version; then you can do between 50% and 100%. You can do all the different variations, right? It's going to look kind of janky, but when it's running fast and you're focused more on the close-up stuff, you don't really notice it so badly. But they [Electronic Arts] really, literally, don't have memory to do all these sprites, pre-scaled or anything like that. So they literally were, on the fly, scaling [graphics] using the CPU.
DG:
I've seen some videos on YouTube recently, talking about how somebody's gone into a debugger and tried reverse engineering old games; how they did their sprite scaling on games that didn't have sprite scaling, on platforms that didn't have sprite scaling hardware. You could do stuff on SNES with Mode 7, but that's mostly for backgrounds. So pretty much everything on the Sega Genesis was done with the actual CPU. Sometimes they [other game developers] literally did have pre-scaled versions of the sprites; you just pre-scale them in memory. On Road Rash, they definitely used software decimation to actually scale 'em vertically. It's actually pretty much the same [contemporary sprite scaling technique used elsewhere]. If you're reading from the source sprite- if you're going by 50%, you're reading the first line, skipping the second line or every second line, and you're storing it into the destination sprite RAM. So you do the pixel decimation and then you do the line by line decimation that creates a quarter-of-the-size sprite. Right?
AR:
Right. Shrinking or something.
DG:
Shrinking. Yeah. They're only shrinking. You're only shrinking; you're never making bigger. You had the sprites all at their full size, and I'm pretty sure that they didn't… don't quote me on this, but I don't think they had anything else other than what I just told you now. So for the SNES, the problem was they basically brought that code over to the SNES. They got it [the code] working but they just did the exact same approach [as they had on the Genesis]. And the Super Nintendo uses bitplanes, which means that for any given pixel, the bits that are assigned to the color of that pixel are going to be in four different areas of memory. Say it's four bits. So you're going to have an entire contiguous area of memory that's like bit zero, all the bit zeros, and then another area that's all the bit ones, bit twos, and then all bit threes. So in order to access a pixel (one pixel, one bit) you have to read a byte from four different memory locations. That's way, way, way slower than the Genesis where the pixels are all- if you load a byte, maybe you have two pixels in it, if I remember correctly. Maybe it was one or two… it's probably two. So memory access is the bottleneck here.
DG:
Suddenly you're basically doing… all these SNES pixels are located scattered across memory, and then you also have to do all these bit operations and shifting to actually across all these different memory locations. So the amount of work goes up just tremendously. It's more than four times the amount of work.
AR:
I was going to say, it sounds like at least a minimum of four times more work.
DG:
It's more than four times. It probably comes up to be like eight or 10 times more work than the Sega Genesis does. Plus it's a slower processor. Plus it has slower access to memory. It has 8-bit access to memory, whereas the Sega Genesis is 16-bit access to memory. So it's just, in every way, crippled. You hear this all the time, I think toe to toe the Sega Genesis should always win against the SNES, except for things like when they add extra hardware, when they cheat or use the Mode 7 or the cheater chips. You have so many cheater chips on the SNES, it's amazing. One of them was an entire another 65816 processor.
AR:
Right. The Super FX chip?
DG:
The Super FX is something completely different, actually. So that was interesting: one of the first things that you had me do [in preparation for this interview] was actually check [if Super Road Rash used the Super FX] because they [Electronic Arts] were looking into if I could use the Super FX chip to do the sprite scaling for Road Rash.
AR:
Oh, interesting.
DG:
By the way, the Super FX chip is actually it's its own processor. It works more like a GPU with kind of a shader language. It has its own language, and you could set up a command list to draw and fill polygons essentially. I actually got the dev kit and everything. It was really cool, but it really looked like it was- it had some promise, but it really didn't look like I was going to solve the core problem of scaling a sprite. It was more meant for rendering the kind of polygons you saw in Star Fox, and also it was too expensive. So basically even before I was finished with my evaluation, they said, "Well, we're not going to do that. You've got to figure out another way. Try to see what else you can come up with." So I was basically trying to optimize the code as it was, taking their [existing Road Rash decimation] code and trying to optimize it - and really wasn't getting anywhere. Let's say their code was 10 or 15 times too slow; I optimized it down to eight times too slow. It was still eight times too slow.
DG:
So I did make some headway on optimizing their code, but they were completely sure this is impossible. And I kind of proved that it was impossible. But then a weird thing happened. I had a friend named Bruce Dawson who was an ex-EA Canada employee responsible for some of the [company's] Amiga titles, like Grand Prix Circuit on the Amiga. But he had quit to go be with his girlfriend and saved up as much money as he could; he wanted to travel around the world. So he went on this huge, around the world journey. One of his side projects was this thing called MandelFXP, which was a very early Amiga Mandelbrot generator and an animated zoom animator too. It was really cool. You could animate these zooms [into the Mandelbrot], right? I don't know if he'd actually fully finished the zooming part yet. By the way, he was my ex-roommate too. One time he got a letter from Arthur C. Clarke, commending him on his MandelFXP.
AR:
Whoa.
DG:
He [Clarke] said it was one of the best things he'd ever seen. He loved it. He also included his phone number in Sri Lanka. So another friend, Steve, convinced Bruce to call him. Bruce was like, "No, I'm not going to call him." "He wouldn't have given you his phone number if he didn't intend you to call him." He called Arthur C. Clarke and got to talk to him in person, and I could hear him gushing over the phone. I was right there, and Arthur C. Clarke was gushing about this thing and said that was inspiring; inspired him on his new novel and stuff like that.
AR:
Whoa!
DG:
I asked if I could talk to him. I talked to Arthur C. Clarke; talked about my favorite subject, which is 2001: A Space Odyssey and the HAL computer. I think I mentioned it before, I actually have my HAL thing here. Can you see that?
AR:
Whoa. Yeah, absolutely.
DG:
I made that. I was such a big fan. It's kind of ratty, especially the bubble, but I had it talking and everything. It should be restored.
AR:
Oh, no way.
DG:
Yeah. Nowadays you can actually have it talking with an LLM. It's creepily close to the real thing.
AR:
[A computer] who believes it's the real thing.
DG:
Yeah, exactly. You can instruct it to say you are HAL. My name's Dave too, so we can have so many cool conversations. [imitating HAL] I'm sorry, Dave.
AR:
[laughs] Yeah.
DG:
So I plan to eventually get that going again. But Bruce was on this world tour with his girlfriend, and literally, this is not even joking: he was in India riding on the back of an elephant, just as a tourist might. They had quite a long ride, and he was actually really peaceful in some way. His mind drifted to his Mandelbrot program - the zooming - and it turns out he'd run into a similar problem [that I did with SNES scaling] because he didn't want to generate every frame of the zoom; that would be too expensive to do that. He wanted to be able to scale in between, interpolate and scale to make it smooth. But the Amiga is also a bitplane architecture, and he suddenly had this huge aha moment of how to scale bitplane objects. He scratched it into the back of a postcard in 68000 code with just a little bit of explanation (he was so proud of it) and he sent it to me.
DG:
So I was working on this problem, scaling bitplanes on the SNES, and then suddenly I've got the solution to my problem right in front of me. [My implementation] was a little bit different, but I basically was able to adapt his solution to the SNES to make it work. And it actually worked. It was fast enough to actually make Road Rash on the SNES. However, I'd already proven to management that it was impossible. Remember?
AR:
Yeah…
DG:
This came at the 11th hour and the wheels were already in motion.
AR:
For its cancellation?
DG:
Yeah. So by the time I actually had the solution and a little prototype working, "Oh no," I'd already been assigned to another project. What a bummer. We don't have that many programmers. We have too many projects. So I was already onto FIFA or something like that. FIFA needed a programmer for the SNES, right? So instead of doing Road Rash, I was over to FIFA. [sarcastically] Which is cool, right?
AR:
Yeah.
DG:
But I wish I'd done Road Rash though. This would've been without any extra chips. Today you could do it; there's so many people who have done rewrites of games or updates of games using the DSP chips and all that - with the DSP or even the second 65816 processor. You could have done this because you could have just offloaded that work to another processor. That's more than enough to do it, even if you did it a slow way. If you have a second processor doing it, then just do it in the background or something, and it'd probably be enough. Definitely with one of the DSP chips, you could have done it. I still don't think the Super FX would be the ideal processor, although don't quote me on that because I never really got enough into it. Maybe it has some other- it probably has other features that I've forgotten, but it probably was not the best one. The DSP [chips] were definitely supercomputers compared to the 65816. They could have taken the memory. There's even other tricks I learned later that probably would've helped me make it as cheap as possible. If you remember Rebecca Heineman, who did...
AR:
Doom on the 3DO and a whole bunch of other stuff.
DG:
Doom 3DO, but also famously ported Out of This World, the game with the kind of polygonal animation. With the pre- not pre-rendered... Where the vertices of the polygons are already planned out in advance and it's like playing a movie, but you have a list of all the different polygon frames and maybe you're doing a bit of interpolation. Then you're rendering the polygons. So the bottleneck, the inner loop of that, is actually rendering those: you run through the interpreter to give you the information about how to play back this scene or even frames of animation, but you have to be able to fill those pixels quickly, right? I've actually written several of those. Pre-Genesis, I worked on 3D games that DSI did on the Amiga, PC, and Atari ST, like Stunts, Tennis, Driving… They all use that same 3D technology; early 3D rendering. I had to do triangle filling in 68000 code.
DG:
The way that Rebecca did it on the SNES, she wasn't allowed to use the faster… There's two different speeds of ROM. It was slow ROM and fast ROM. She wasn't allowed to use the fast ROM, which would've been probably enough, so she was stuck with slow ROM for price. She was not allowed to use the Super FX chip or DSPs as well. Super FX would actually have been pretty good for Out of This World because it would've been filling polygons, right? So, almost ideal actually, for that game. But what she ended up doing, which was famously or maybe not that well known, but very, very cool, is that there's a bunch of registers in the system that she wasn't necessarily using at the time of the rendering. They were read/write, and you could put stuff in them, and it's kind of innocuous enough that you actually put code in there. She put code in the actual hardware registers and then jumped to the hardware register location. It executed it as code, but it ran at double the frequency of the ROM because it just happens to be in the fast memory address bus. So she was using basically fast RAM or whatever, even though it was actually hardware registers. You could actually fit the actual inner loop of the polygon fill [code] in that section of memory.
AR:
Interesting. I didn't know that about the Nintendo.
DG:
Yeah, it's a very rare use case, but ideally you would… At least on Road Rash I was going to be allowed to have fast ROM. They would pay enough for fast ROM because they knew that it needed every [bit of help it could get], but they weren't going to go buy an FX chip or a DSP though; forget it. So you had to do it with fast ROM or nothing. Slow ROM would just not have worked at all. But the fast ROM… I think my technique would've worked in fast ROM. I've never proven this, but somebody could go in and make- one of these Brazilian programmers or whoever (who are just amazing) could go in and take Road Rash on the Genesis and take already existing code and make it faster. Take a game that's sluggish, 20 FPS and make it run 30, 60 using a DSP, which is kind of amazing that they would spend all the time to do this in this day and age. But they would. You'd have to port it first. You'd have to actually literally port the 68000 code over to the SNES, and then you'd have to use my technique, or if you're Brazilian, you'd use a DSP and then you'd do it that way.
DG:
That would also work really well. Even better, actually. It would probably still be not as fast as the Genesis; my technique [that is]. I shouldn't say my technique, I should say Bruce's technique. I adopted it though, and I definitely reinvented mipmaps to make it so that you didn't have to do scaling all the way from the biggest to the smallest. Probably Road Rash uses mipmaps as well. I might've just adapted that from them. So I'm kind of curious… I should go check, they probably did use mipmaps. It's an obvious technique because when you're scaling something, especially decimating, it starts to look really crappy. Even at 50%. Then below 50% is like, "Forget it." It's like garbage, like noise, because you're using nearest- you're not using a proper filter like bilinear filtering or linear filtering or something like that, right? Anisotropic filtering. You're just literally just throwing away pixels to make it smaller. So it looks acceptable enough to about 50%. So at the 50% size, it's actually literally a quarter of the size: 50% in each direction. Then you substitute in one that's been perfectly pre-scaled using the appropriate filtered version. So it looks good; an artist [can do] it right to even get it better. So you get the full size, quarter size, and then an eighth of the size, whatever. So you get all those sizes stored as sprites already in memory, so you don't have to scale them. So as you're going smaller, you just go from 100% to 50%, and then you switch over to the new set of sprites. Then as you go from 50% to 25%, you switch over to a new set of sprites. Then if you go as small as you're willing to (as makes sense) and then you only really add 33% more memory when you do that. It's like 1.33 when you add up all that; it's 25% plus. So the continuing fraction comes out to 1.333%. You need as much memory as the original size [of your graphics] and 33% more memory [on top of that to pull off this technique]. So that's actually doable. There might be some places where you might skip out if you need to save memory; maybe you only go to 25% or something.
DG:
But anyhow, that's the way that worked. I don't know if you have any more questions regarding sprite scaling or Road Rash. I wish I had been able to finish it. It's always been kind of- it burns me to this day that I didn't get to take that to the finish line. But that's the way things go. It's always go, go, go, go. Sometimes you don't have a lot of time to do R&D on the fly. If it doesn't work, you've got to move onto the next thing.
AR:
Interesting. Just an interesting time back then.
DG:
Yeah.
AR:
So another thing I wanted to ask, just to hop around a little bit here. Part of the reason I'd actually reached out is because I had noticed that you had made a post on Hacker News about a Genesis game through BioVision, the motion capture company, [in development] around 1993 or so. Could you tell me about that?
DG:
There's a lost game. I'm really, really hazy about this particular game. I was actually involved: I was in the technical department [at Accolade] making stuff, engine related stuff (like that debugger), working doing TD stuff, but they needed somebody. I'm not sure who came up with the idea, but we're going… this is kind of a time when you might have those claymation, pre-rendered clay games, I think.
AR:
ClayFighter and stuff.
DG:
[in confirmation] ClayFighter and stuff like that. And maybe there's Mortal Kombat, I don't know. The idea of doing pre-rendered 3D to create sprites quickly and cheaply, and maybe cool. Maybe cool was a big part of it. So we got in touch with BioVision, which is a [motion capture-based] golf training center kind-of idea. That was their idea to start. They were doing kinematic analysis of golf swings primarily, although they were totally willing to reach to other markets and eventually they probably would've [taken off] because, I mean, this stuff became big in games and movies.
DG:
It was a very early motion tracking system they had. They were using the ping pong ball method: ping pong balls attached to joints. Then they have a camera set up, the contrast set up, their software, multiple cameras, multiple angles, and then they end up with a rig; kinematic animation that would have your 3D animation data. Then it was up to you [the game developer] to take that [and do something useful with it]. For us, we would take that and rig it onto a mesh, light it and texture it, and then render it to generate an animated sprite sheet. It's human modeled animation, a very early version of that, but going into [prerendered] 2D instead of an actual 3D game. I mentioned in 2005, I took Maya, rendered out the [Amiga] ball and created a bunch of sprites from it. That's the same technique really.
AR:
Right.
DG:
I'm pretty sure other people did that. I mean Donkey Kong [Country], didn't Donkey Kong do that on N64? I think it was pre-rendered, right?
AR:
[in confirmation] They used SGI.
DG:
Yeah. I think they pre-rendered their sprites. They didn't actually do realtime rendering. Even though it's a 3D platform, they actually did the same process. It became kind of a [big thing after Donkey Kong Country]. I think we were very, very early on it. So my job there was to just get the pipeline working. I was working with BioVision, getting the data, helping clean up the data. We wanted to use the same animation data across multiple characters. That was a very early problem that we ran into that's been essentially somewhat solved to this day. People still run into this: where you have a tall, skinny character and a short, fatter character and you want to use the same animation data. How do you scale this sampled animation data so that their limbs don't clip into their bodies and all that kind of stuff? That was the problem I was working on and I got a pretty good heuristic solution for that.
DG:
I didn't do anything super scientific. I just hacked my way to getting something working and it still required some artist tweaking here and there; I know they had to go into some frames. I would rescale the animation and it would still have some issues and they'd have to do some cleanup, but it got it 80, 90% of the way there for our purposes. So then it was up to them to create the models, the textures… I helped with rendering [the models] to sprite sheets, but the problem is that Accolade went to all this trouble. This and other things ended up being canned because of the financial problems we were having [at Accolade] because of Sega; their lawsuit [Sega v. Accolade].
AR:
Oh, that was because of the lawsuit?
DG:
Yeah. They had an injunction that said you cannot sell any of your Sega products.
AR:
Right.
DG:
They got a temporary injunction from the stupid judge, probably not even realizing what he's doing in agreeing to this. At that point in time, they [Accolade] were pretty light on money. They didn't have a lot of saved money. They needed money to come in; it was difficult to sustain the company with no money coming in at all. It just suddenly cut off their money supply. All the cartridges had to be returned from the stores and it was devastating. Even though it only lasted- [the injunction] was overturned. They got it overturned, right? It was not a correct judgment.
DG:
That dealt a huge blow to them [Accolade], which was a mortal wound. Maybe there was a way for them to continue, but what happened was their main financial backer decided blamed the management of Accolade for this issue; the decision making [that lead to the lawsuit]. "You should have took a valid license with Sega, [or] worked out a deal. You guys messed up. This is all your fault." And they made the horrendous decision to fire them all, basically fire everybody. Fire the management team. The entire management team. So I'm talking about the producer- remember George McDonald, who's a producer, not even involved with any of that kind of stuff? [Everyone] at his level and above was completely lopped off the company. You come into the office and all you had was some engineers walking around and that was it. Every single person who was a producer, manager, founder...
AR:
The producers even. That's ridiculous.
DG:
Yeah, they're just all gone. And they came in with their own management team. It's like Apple bringing in a Coke CEO to take over Apple. Remember that? They did that. They [Apple] survived that because it was just one guy. [John] Sculley, I think his name was. The first guy they brought in [Peter L. Harris] was the CEO of FAO Schwarz Toy Store. Because games are toys, right?
AR:
Yeah, I know. It's what people who don't understand the game industry think.
DG:
There was no understanding. I remember everybody- these are boomers, like super boomers.
AR:
[laughs] Super boomers.
DG:
There were boomers to boomers. Today's boomers are youngsters compared to [Accolade's new management]. This is the nineties. These are the definitive boomers. They have no idea about computers, right? What a shit show. I couldn't believe it. Basically that caused so many problems. [As a result of the firings] they were just quickly bringing in people to populate out the management of the company. For example, they brought in a new technical director for all the engineers. They got rid of the old one; he was management. So the guy they brought in was… just imagine a person that works in a grocery store but loves the video game industry and puts a lot of their volunteer time in the only way they can, which was to help out at the first Game Developers Conference that still goes on today in San Jose.
DG:
So this is a person who basically got involved with the game industry by volunteering at the Game Developers Conference every year and helped put on the game developer [trade] shows. Then over time they got more and more responsibility in [doing] that, mostly because they were in early, not because they were particularly good at anything. They just hired that person to be the technical director of Accolade. That was just the most boneheaded thing I've ever seen. I kind of reminds me of the way Trump is doing things, how he's assigning people to head up agencies that have no business being there. I don't want to get too much into that, but that's kind of an analogy.
DG:
So all the positions were filled with people that had no idea [what was going on]. They got rid of Al Miller, the head of Accolade (who founded it), who was originally an Atari programmer. [He] worked at Activision - one of the founders of Activision - and then branched off to start Accolade with just an amazing (from the seventies all the way to the nineties) knowledge of the games industry. He had all these people that he had hired that were all veterans and knew what was going on, and producers and stuff like that. Then to flush that [away]. I mean, it's kind of cute that you might think that your engineers are the ones who make the games. I might have even said [something like] that when I was younger and stupid, but that is so wrong. I think they got rid of marketing and sales and stuff too. So give me a break. They came in as an all new team.
AR:
So heavy handed.
DG:
Yeah. Anyways, obviously it didn't go anywhere. If the Sega injunction was a mortal wound, this was not the solution.
AR:
Lopping off the head.
DG:
Yeah, just completely. Coming into work was just so weird. I just remember that to this day. I figured I wasn't too long for this. I think though, that's when I really started just doing even more of whatever the hell I wanted to do, because I had the debugger and stuff like that. I was told by the new guy, told to stop working on my debugger. I didn't. I kept working on it and he found out about it and I got brought into his office, insubordination.
AR:
Insubordination. That's really funny.
DG:
That's funny. That's how I ended up at Capcom though, because that was actually my last day at Accolade too as well.
AR:
Oh really? Oh my gosh. No wonder. I don't blame you.
DG:
Yeah, it's complete insubordination.
AR:
I did want to ask, before we hop off Accolade here, that BioVision game, do you remember the name or anything?
DG:
No. I wish I did. I could probably-
AR:
Or the premise or the plot? Something to write down on the page.
DG:
I kind of knew about it at one point, but it's really just sifted away from my mind. I feel like it's probably sci-fi, but I don't know if that's actually a legit memory... Maybe a sci-fi fighting game, one of those.
AR:
Gotcha, gotcha. It's better than a blank page.
DG:
I don't remember though.
AR:
If you do ever come across anything or remember anything about it or just a memory pops into your head, shoot me an email, let me know, because I'm going to be making a page for this and it'd be nice to-
DG:
Let me just see what I... I mean, you could probably ask other Accolade people.
AR:
There's another question. Who else do you remember working on that game off the top of your head?
DG:
I don't remember anybody working on that game. But it's funny that Fred Mank, the guy I was talking about who did that awesome Sega Genesis sound driver and engine thing, I just looked him up. It says here he's still a game software engineer. I just looked him up on LinkedIn. I haven't talked to him in a long time, but he might be retired now.
DG:
Joel Dinolt; so J-O-E-L D-I-N-O-L-T. He's actually technical director at Bethesda, it [LinkedIn] says now. He was at Accolade. I think he started kind of as a junior programmer, and I know that he was a tester actually. He started as a tester and associate game programmer. So he was really young at Accolade and he was there from '91 to '94, according to LinkedIn. I think that would've put him in the timeframe.
AR:
[in confirmation] I think you said '93 in the Hacker News post.
DG:
Timeframes are always a little bit hard to pin down. Things tend to overlap in your mind that didn't actually overlap. '93, '95, yeah. According to me, I was at Accolade from '93 to '95, one or two years. So it wasn't a long time really. It felt like a lot. If you look at my LinkedIn, it says here, I did a full SNES engine, sufficient sprite memory, DMA, scrolling, VRAM. Yeah, it was pretty cool. Created the debugger. Yeah, it's all here. Created the motion capture animation system with BioVision. That's pretty much what I did. I guess I did some help... I helped out on, I did some of the UI work on Unnecessary Roughness for the Genesis.
AR:
So in terms of your accredited Sega work, we've got the two Carmen Sandiegos, we've got Unnecessary Roughness on the Genesis. We've got the Accolade debugger, and then I think you were also doing NHL '94 on the Genesis, correct?
DG:
No, I did not. All the Genesis [NHL] stuff was handled by Park Place Productions. EA Canada only had their fingers in the SNES version of hockey and football. So all the Genesis versions were being handled by [Park Place]. I guess they looked at us as a SNES studio in a way. We did the Genesis version of FIFA.
AR:
Right.
DG:
I was only sort of associated with it, but not actually credited. Even though I did a huge pile of the work on the FIFA SNES, I didn't actually [get credited]. If you look at MobyGames or even the cart or whatever, my name is not in the credits because they were a little bit bitter [that] I left before it shipped. I went to Accolade before FIFA shipped. I had to make a decision.
AR:
That's petty.
DG:
It's a little petty, but that was actually really common at that time. That was sort of usual: if you didn't stay until shipping, you wouldn't get any credits.
AR:
Unfortunate.
DG:
I'm still in the game as a player for Scotland. My friends and colleagues did add me in, which I was pretty glad to see.
AR:
It just says David though, right?
DG:
It says Cameron, which is my middle name.
AR:
Oh, right, Cameron, I'm sorry.
DG:
Yeah, Scotland. I wonder if I Google that. Scotland... I don't know if I can find it easily. But it's there.
AR:
No worries. It's funny that you mentioned leaving EA Canada. What were the reasons behind leaving EA Canada?
DG:
Well, do you remember the guy [Esteban Ahn] that gave me advice about being aggressive in your interview? He had also worked at EA. He ended up getting a job at EA Canada as well. He was just ambitious. So he went to Broderbund in California. He got a job down there without a college education and I didn't think it was possible. So we kept in touch and so he was encouraging me to look elsewhere. "You could make more money. It could be interesting to go work somewhere else." He kind of helped me because he'd been through the process already with interviewing in the US and working on the work visa and all that kind of stuff. And I just did it.
DG:
I was kind of ambitious too, I guess. I wanted to see what was out there. It turns out there was lots of interest in Sega Genesis and SNES programmers. There was not a lot of those people around. So there were lots of places wanting to hire people to do that sort of thing. I interviewed at a bunch of companies including Accolade, but also Tengen, which is the Atari offshoot that made home console games for the Genesis and other things I believe. And then I also interviewed with...
AR:
Virgin.
DG:
Virgin, that's right. The guys who did Cool Spot and Aladdin and then...
AR:
LucasArts as well.
DG:
LucasArts as well, yes. I got a job offer from Virgin, Tengen and Accolade, and it was more than double what I was making at EA Canada; way more than double. So I decided to go for it. I picked Accolade because they were in Silicon Valley. I didn't know they were actually in Silicon Valley. I just knew there was a lot of chip stuff happening there. I found out later it actually was Silicon Valley. That was kind of a goal of mine as a child too, to go to Oz someday. [I was reading] Time Life books talking about Silicon Valley. So I really wanted to go to Silicon Valley. My Oz. Although strangely, it was so ignorant. I didn't actually know it was Silicon Valley and I thought Silicon Valley was in Texas. Where Texas Instruments is.
DG:
I remember somebody asking me, "Why did you come down to the US?" Some colleague at Accolade. I'm 20 something years old, green behind the ears. I was like, "Well, someday I wanted to go to Silicon Valley." And they were just staring at me. "You are in Silicon Valley." I was like, "What?"
AR:
That's really fun.
DG:
"You're here. You're here." I'm like, "Hey, I made it."
AR:
I like you describing it as if it's really Oz.
DG:
Yeah, that was definitely how I felt about it. Some magical land. It's almost a mythicized place. When you're just a little kid living in northern BC, Canada. Pulp and paper, aluminum, cold, snowy, rainy. [A place like Silicon Valley] really does feel like Oz. All the stuff that I think is really cool came from there. Like Apple chips, right?
AR:
Yeah, exactly. So just to hit on a few more questions here. You already talked about it in your previous answers here, but just on the whole, how was working at Capcom USA?
DG:
It wasn't terrible. The culture was more set by the people that they hired. There was a group that was working on not the Dreamcast, but the Sega Saturn, which was a notoriously challenging console to work on. They were mainly Englishmen, people that had experience probably with ZX Spectrums and BBC Microcomputers, maybe Atari and Amiga stuff. They were the kind of people they needed actually for working on something like that. But even with all that kind of low level demoscene, assembly language, home computer experience, they were challenged to get performance out of the hodgepodge of processors in the Saturn. So they just had a big learning curve. Plus all the documentation was really poor and poorly translated Japanese.
DG:
So I really had a lot of pity for them. They were there all the time. They were just never not there. They had to be working at an extreme crunch rate from the start. The other thing that they had there at Capcom was QA and localization, so they had people that could play Street Fighter in the arcade. Obviously I mentioned the Game Boy games. Those guys were awesome; the QA department, I thought they were jolly and fun and they had a fun job too. They had a giant warehouse there as well, just full of Capcom treasures.
DG:
Then there was the PlayStation team. It was pretty early [into the lifespan of the system]. I don't know if [Leatherheads] would've been a launch title, but it a really early PS1 title and everybody was just sort of figuring out stuff. The team was small. It was like three people and all of them were not game programmers. Fortunately one guy was already kind of over the hill in a way. He had worked at Atari as one of the earliest Atari programmers on the home stuff, on the 2600. I think he may have contributed to even the original Combat game. Maybe you remember.
AR:
He was old school.
DG:
Yeah, really old school. Yeah, I know he did [contribute to Combat]. He also did that other game. He did a very famous game there as well. Larry Kaplan. Yeah, that was his name.
AR:
I've heard of him.
DG:
Yeah, Kaboom. So he did Kaboom on the 2600. He just wasn't feeling it [at Capcom USA]. He'd left games and had been working in normal programming, other things. Then he felt [the game industry's] siren call and came back and was thrust onto this PS1. He was a fish out of water actually, and not catching up.
AR:
I'd imagine.
DG:
He was a good rock. Lots of good advice and stuff like that. Then they had another guy who was fresh out of college kind of thing. Even compared to me at that time, he really, really didn't know what he was doing; just complete junior. But he had a stranglehold over the 3D engine part of the game and he wasn't going to let it go. He had just a pit bull grip on it. I wanted to do that [engine work] because I would've been good at it and had experience already doing 3D, especially considering I'd done all that work on the 3D pipeline at Accolade. So I had 3D experience, even though not realtime engine experience yet, but more than him. He was just struggling with it. Then they had sort of a lead programmer who was struggling with making the gameplay. They were really, really, really, really, really behind schedule; and making a 3D game, something that no one had done before. So it was challenging at that point in time. So I came on [to the Leatherheads project]. That part of it was really quite stressful because the whole thing was a disaster from me joining. I got no idea what I was getting myself into.
DG:
Then I think Larry left. He was smart; he could see what was going on. So he left and he told me, "Come with me, I'm going to start a startup called E-TRADE." And I go, "No, I'm going to stay here." I probably should have gone to the startup.
AR:
Wow.
DG:
There was so much of that; of opportunity in Silicon Valley in the nineties. You could have joined Google, you could have joined any number of companies. I think I already told you the only one I regret is the time in 1997 when NVIDIA offered me a job out of the blue practically, and they put the paper on the table and they said, "Come on, sign it, come join NVIDIA." And I was like, "Let me think about it". Then I eventually called them and told them I wasn't going to join them; that was just stupid. I knew it was stupid at the time and it turned out to be pretty stupid considering they're a $4 trillion company now. That's the only one that I really regret, but if I had joined them, I wouldn't have worked on all those other cool games I worked on right after.
AR:
Right, right. One path that's more fulfilling.
DG:
It would've been more fulfilling, but although right now, I probably would've taken the money. He [Larry Kaplan] did work on Combat actually. It says here he worked on the scoring system and last minute bug fixes for Combat. I talked to him a lot actually. It was so fun working with him because to me he was a hero, right? An Atari 2600 programmer sitting right next to me. That's amazing.
AR:
One of the OGs.
DG:
Yeah, one of the OGs. He would've been probably 10, 15 years older than me, maybe. He would've seemed a lot older. I'm in my twenties and he's in his thirties, forties at that time. He seemed old to me. It's not that old, but he seemed like this old guy, right?
AR:
[laughs] Yeah. Moving on to another question here. So after Capcom, I think you went to Cavedog. Could you tell us a little bit about Cavedog? Or Humongous?
DG:
One thing about Capcom.
AR:
Oh, absolutely. Yeah.
DG:
So my perception of Capcom was that it wasn't really that well run, but that's not Capcom Japan. That was just Capcom USA. They were just feeling their way [through the market]. They could have done better. They cancelled the football game and they laid us all off. They eventually saw the situation and they just cancelled [it]. And then the CEO left and he joined a startup called 3dfx.
AR:
Oh my god.
DG:
He became the CEO of 3dfx. So he did pretty well actually. I left Capcom and I went to Opus and worked on 3D video cards for a while. That's how I got to know NVIDIA, and that's how they got to know me and that's how they wanted to hire me. Then after I left, Opus got out-competed and eventually left the 3D video card market, and I didn't want to do their follow-up business, which was video editing software and cards. I wasn't interested in video editing, so I left and, as you mentioned, I joined Cavedog slash Humongous Entertainment. What do you want to know about Cavedog?
AR:
We don't know what it was like, or the working environment there. Just in your own words.
DG:
Cavedog was pretty awesome, actually. The game that I was working on there was very, very poorly documented on the internet, and one of the reasons I was attracted to the job was that they were going to make this very, very ambitious 3D first-person shooter adventure game with a scope never seen before. Think Half-Life, but a different company making it. I didn't know about Half-Life at the time - it hadn't come out yet - but a similar ambition to Half-Life and a similar team size and similar technology; some of it better in fact than Valve. Due to various unfortunate situations, it also got cancelled, but I got to work on my very first real 3D game. I didn't really get to do a lot on Leatherheads because I wasn't there that long before the game was cancelled and we were laid off and given severance, and then I got a signing bonus at Opus. So I ended up with $10,000 between the two. I was actually like, "This isn't that bad."
AR:
Could be worse.
DG:
Could be worse. I was actually happy to get out of Capcom. So it worked out. Nothing wrong with Capcom itself, but just that situation on that particular game was just not- all those people who were on it are also pretty talented. Even the younger programmer, Larry, and... Monty I think was the lead. They've all gone on to do great things after that. So it was just a tough call and they just didn't hire it out as well as they could have in the beginning. It was also hard to find people in those times. It was really difficult. So many more programmers now. Exponential growth of programmers has been amazing. And also unfortunate for me though; there's too many programmers now. Come on.
DG:
I'm just joking. It doesn't really bother me. So the game is called Amen. It was just an amazing experience and really cool game. Really cool designer Greg McMartin; I wish he'd been able to see it to completion. It did go through a lot of development, kind of [development] hell, though that was also because of some youthful mistakes. Once again, a very young team. The average age of the team was probably like 23. A lot of people were just fresh out of college and they were just learning. Even given all that, they did an amazing job and I got to come in and help and learn a lot about 3D math in a very real way for the first time. I ended up contributing to physics, rendering, networking; a lot. I did animation, I guess, as well. Kind of the things I still do to this day. Animation, rendering, sometimes physics, collision... Collision, I guess, is another big one. I worked on a lot of collision, which is kind of a foundational thing for physics and, somewhat, rendering. Anyway, really good team, really smart. Jon Abare was the lead programmer and he actually went on to make a lot of cool things after that. Some of it you may have heard of. I think I'm trying to get the name here for you of the... Yeah, Jonathan Abare.
DG:
He had made a game called Radix in the era of Quake, I guess you'd call it, as a PC game. Very cool. Planetary Annihilation was a really big game. Supreme Commander he also did. These are games he did later. Very cool. Radix: Beyond the Void. That was a 1995 DOS game. And also he worked on Total Annihilation as well. So he did a lot of cool stuff. He was the lead programmer on Amen and we had an engine that was very similar to Carmack's technology. I didn't realize at the time but Carmack had been very sharing with his Quake source. Half-Life was based off of the Gold version of Quake, which gold in video games means just the final version. Alpha, beta, gold. So that's why they called it GoldSrc. Then they just shortened it to Source and then Source Engine, if you didn't know that.
DG:
Working at Cavedog was super fun except for when they cancelled Amen. Then that was also the end of adult game development; then they were just Humongous Entertainment - that was happening simultaneously. Putt-Putt and Pajama Sam and all the kids games were in the same building, same management like Shelley Day et cetera. But a lot of people left when they wanted to keep doing 3D games elsewhere; PC games. I stayed on and transitioned to working on the kids games, but in more of an engine department doing some networking and various other things. Eventually we started putting them onto consoles. So I was working on GameCube and PS2.
AR:
For the Backyard Baseball series.
DG:
Yeah, Backyard Baseball, Backyard Football, Backyard Soccer. There's a whole bunch; there's a whole Backyard everything. I even worked on a Backyard Baseball for the Game Boy. So I did one console thing [at Humongous], which is the Game Boy. But yeah, it was great. I think one of the reasons I stayed at Humongous after the cancellation of Amen was just the culture there was just so inviting. The people were just so nice and it had a really good balance of different types of people and it was just a super cheerful, fun place to work; just really great.
AR:
Oh, that's nice to hear.
DG:
Yeah, Humongous Entertainment is one of the best places I've ever worked in terms of just the people that were there. I think I have more friends now from that era that I'm still in touch with than from any other group that I ever worked with. It was kind of foundational to my social life, I guess. I don't see 'em a lot because they're all in the Seattle area generally, but there's one of the artists I just talked to and he's moved to Orcas Island, which is actually not that far from Victoria. So he's planning to come visit Victoria and we're going to hang out. I might go over to Orcas and visit him.
DG:
The next big group of friends I met was right after that was Griptonite, there was also a big group there. Then less so, but also, United Front Games when I worked on Sleeping Dogs... Then going right back to DSI. I still have old friends from DSI too, but I think Humongous definitely had the most people that I became lifelong friends with. Very cool place, it was great. It was fun. We worked really hard. There was no problem working overtime there when I had to, and it was just always a good time. The management was really great. Food was good. It's funny how you remember things. They [Humongous] had goofy things too, like Pajama Day. They're just one of those kind of places.
AR:
How fun.
DG:
Yeah, lots of good stuff. The studio had giant trees made out of, who knows, fiberglass, whatever. When you walked in, they had a lot of really, really good artists there. The games they were making - the kids games - were just really, really charming. And the art style: they were doing traditional animation, groups of people working on those animations. Same stuff you'd see at Disney, like those little cels, flipping back and forth. It was all hand done and then scanned into the game. So they weren't using digital art tools at all.
AR:
I love that look so much, especially on the Putt-Putt games.
DG:
Yeah, it was just incredible, the final result and the design that the teams did. The programmers and artists were also the game designers, and they worked in these little units and just did a really great job of everything that they designed. There was just so much good stuff came out of there. I worked on a little side project... One of the sound guys - I think he was a sound guy maybe, but also a programmer and also a game designer - named Rett Mathis had this little side project that he was working on that he did in his own time called MoonBase Commander. That was a fun, charming little game that's not that well known, but it's just so good. So I helped out with that on the networking side of things because they put it online at one point. We had a really good, early online Backyard Sports. Total Annihilation: Kingdoms was also online as well, a very early online game. One of the unfortunate things was they [Humongous] were purchased by... Who were they purchased by? French company [Infogrames]. They were pretty shortsighted on a lot of stuff. So they basically shut down the online department and they starved the children's game department from resources and basically choked them to death.
AR:
[in disbelief] How do you do that to Humongous?
DG:
I don't know. They literally hired a guy who's insane as far as I can tell. So you say that's insane? Well, there was an insane guy running it, so that makes sense. He was really weird. He would say stuff like how he used to be in the US Navy SEALs and how he was a Michelin five star chef and stuff, and people would eat it up. I would be like, "No, no."
AR:
If you were a five star Michelin chef, what are you doing here?
DG:
He had made hundreds of games: one of his other claims, hundreds of games. He had hundreds of games, so he'd come in and try to mess with people's game designs because he had this authority of somebody who knew games. He knew how to make games [apparently], but he had no credits on anything. These games did not exist. Today you can look him up online, there's nothing. Basically he was such a bullshitter without any remorse and it was so obvious to me. That movie where, I can't remember, the one where the glasses... The guy with the glasses. You can see the aliens.
AR:
Oh... They Live.
DG:
Yeah. With Rowdy Roddy Piper or whatever; that's what I felt like. Everybody else around me seemed to be just charmed by this guy who's saying all this completely utter, unbelievable bullshit. He knew nothing about making games and he was just ruining the place. He had his hand on the stick pushing it forward, and that's unfortunate. That's what happened to Humongous Entertainment. The original founders had left. They cashed out and they sold to Infogrames. That was it. Infogrames brought in this kind of grifter English guy who didn't know anything about anything, but he was basically fine. He was nice, he was charming, and he wasn't damaging anything. But this other guy they brought in as technical director or whatever, he was the guy that pushed the company towards and wanted us to make AAA PS2 adult games or whatever, and we had no time to do that.
AR:
That's so inappropriate for what Humongous is and what Humongous has done and is capable of doing.
DG:
Yeah, it was really sad. It was really sad watching it just get destroyed. So year by year, Infogrames would take all the profits out of the kids games, then they would put the pressure on them to cheapen up the resources and just make it harder and harder for them to make good games. And also rob them of resources to try to veer into the future, which is adult console games. and trying to move out of the kids game stuff. Then all the money that they invested into this other stuff, they would funnel it down to a studio that's down in the most expensive part of California. I worked down there for a bit to help them out. Shiny Entertainment.
AR:
Oh, Shiny in Laguna Beach. Laguna Beach is damn expensive.
DG:
Yeah. I went down there and rented a car and parked at the Shiny office. They had literally Lamborghinis and Bentleys all in the parking lot around me. They were just whooping it up. Their salaries were through the roof. They had some good programmers, but they were living their life. Their office was literally just right over the water. Beautiful.
AR:
[in confirmation] Right on PCH, the main highway there.
DG:
So I worked there for a bit, helped out on something. I can't remember what. I was down there for a while helping out on a game. I met all the principals: Søren Grønbech, David Perry, those guys. They were cool. They were good. They were all from Denmark or something, or Norway, and Shiny had made some good games. Did they make MDK or something? I can't remember.
AR:
They made MDK and Earthworm Jim.
DG:
Earthworm Jim, yeah. I think there was some crossover with Virgin. Doug TenNapel was there, at the point that I was down there.
AR:
Yeah, I was actually going to ask the dates for that.
DG:
Let me see if this is actually.... Let me check if I have this [info]. Maybe I was helping on Enter the Matrix, possibly. That would've been 2003.
AR:
2003-ish. I'll add this to your page in the employment history listing.
DG:
No, I wouldn't do that until we actually know it for a fact. I can't remember what it [the project] was, but it was definitely down there. This is just sort of guessing now, because in 2003, they did publish Enter the Matrix at Shiny.
AR:
Well, I can always add Shiny without adding a date field.
DG:
Yeah, I definitely worked on a project for Shiny Entertainment in the early 2000s. They just needed extra help and I went down there and worked for a while. It wasn't super long though; just a short amount of time.
AR:
Do you remember a ballpark of how long?
DG:
Less than a month. Half a year? Less than a month. Really short. That's why I don't really remember it too much. But you remember if you've been there: more than a few days, more than a week. Less than a month, but more than a week. I remember obviously being there and seeing all their setups and meeting everybody; meeting Søren, David Perry and all those [developers]. I'm still friends with them to this day because it was cool hanging with them at a party. There was a party atmosphere there. I did feel a little bit of that. A "So this is where all the money's going" kind of feeling.
AR:
Seems like it.
DG:
They wouldn't have felt that [Infogrames money funneling] there. They wouldn't have known anything about where the money's coming from necessarily. But Søren Grønbech, he's a good programmer.
AR:
Just to hop around a little bit more here, you were working on a spiritual successor to Amen [at Interdimensional Games], correct?
DG:
I did, yeah. At one point, yes.
AR:
What was that, in kind of a nutshell?
DG:
It was cool. This would've been... Let me see if I've got the actual date here. I'm sure I know that people have probably preceded us in this approach, but in terms of a dev situation, it was completely remote. Everybody on the team was remote. It was very early for that kind of thing. It was like a 2011 kind of timeframe?
DG:
I kind of couldn't do it full time either because it was very much indie and no money, but I was lead technical consultant or something on the project: setting everything up, hiring people, and solving technical problems. The engine was Source engine, so it used Hammer for world editing. Since we used a preexisting engine, we didn't need a lot of engine work. One of the main technical things I had to do was to take- we were going to use Scaleform, I believe, for the UI, and I'd used Scaleform on Sleeping Dogs. So we needed a way to render the Scaleform UI in the Source engine. We didn't have the Source engine source code, so I had to create an overlay system that used a trampoline in the system code where the D3D9 called to present the screen.
DG:
I would trap that call. I trapped CreateDevice and Present, and then in the CreateDevice I would get all the handles for the 3D API and save them off. Then at the Present call, I would get the back buffer that was about to be presented and I would use the D3D handles to do additional rendering. So all the UI was very last minute. It was kind of a layer over top of whatever the Source engine had rendered. So that's how we did the UI with Scaleform; I created that. That technique is actually exactly what Steam uses now for its overlay system.
DG:
It basically just traps the system calls and then wedges in its own rendering on top before the Present call. That's what a lot of people do to add overlays into an existing game. It's the same technique I came up with. There was that and there was solving [other] issues. I hired somebody to do the conversation system. We wanted this branching- the ideal of Amen was it was like a first-person shooter adventure game again, but with a lot more conversation and in a smaller setting [than the first Amen]. The scope was really, really reeled in because the entire game took place on an airplane, which is a pretty small setting for a game.
AR:
Interesting.
DG:
It's like they'd just be doing a play or a Tom Cruise movie. Movies that are set on submarines like Das Boot or something like that, or in a particular train or something, those are easier to stage. The budget can be [reasonable]. "Oh, you just need train interiors or just the interior of a submarine." Courtroom drama is another one. People love to make those because they're so inexpensive. You're in the court, inside the court, a few outside shots, but mostly it's just inside the courtroom. For that same reason, Greg chose to have it all take place on a pretty big airplane - much bigger than a 747 - and it was a futuristic sci-fi airplane' it was kind of a short and sweet game as well. It had a lot of branching dialogue, so we had to develop a branching dialogue system. That's what I hired a friend to do in Python. So we had Python running in the engine. I figured out how to get that running. So Python plus Source engine plus Scaleform; to leverage a lot of stuff that didn't need to happen. Then all the Source engine specific stuff that I didn't have a lot of experience with.
DG:
I hired a guy that had 10 years of experience doing Source engine programming; he was 18 years old or 19 years old or something like that. He'd been doing it since he was a child. He was well known on the internet: he had led some major Source engine mods, like Half-Life, Team Fortress, whatever, right? He was well known, but nobody [in the company] knew that. He was just a kid and he wanted to work. He was actually working in a Safeway as a stocker, like a person putting product on the shelves. He applied everywhere for a job at a game company. No one would hire him. So I hired him. I was like, "Oh my God, this guy." I actually tested him, and he brought in all his work. He showed all the games he'd made and I was like, "My God, you're actually pretty amazing. This is crazy. How much do you know about..." Specifically what we needed was somebody who knew the Source engine. Pretty soon, he took over all of the programming on the game because I had to go find a real job, which was at United Front Games where they actually paid me. He was willing to work for peanuts. So that launched him into his career basically. I gave him his break, but now he's... What's his name... Ryan Sheffer; R-Y-A-N S-H-E-F-F-E-R. He's actually currently working back at the same place. Interdimensional Games was the little place I hired him at.
AR:
Interdimensional. And they were the ones making the Amen follow-up?
DG:
[in confirmation] From 2011 through 2014. He worked there, but then he got a real job at Hothead Games and then Valve and Solar Storm Interactive. I think he's still working his real job at Solar Storm Interactive, but on the side he's back working with Greg McMartin again at Interdimensional Games. They've since relaunched the game... Consortium is the name of the game, using the Unreal Engine this time. So it's on Unreal Engine, which makes more sense. It should have been Unreal from the beginning. But who knew? Source Engine was something that Greg knew pretty well. So he started with that and it actually worked out pretty well. I learned a lot. Eventually we did actually get, or Greg actually managed to get, an actual Source license for the Source Engine from Valve. For Source 2, I think. But it's still a lot of work, to actually work on a fully custom engine like that that has no public support. So going to Unreal was the right call. That's where they are now, but I haven't worked with them for a long time.
DG:
Alright. Well I do have leave now, unfortunately. This has been...
AR:
Almost four hours.
DG:
I know. I can't believe it. Once I get talking I still have that problem.
AR:
No, no, I really appreciate it. I was just going to say.
DG:
Historical information. Yeah.
AR:
Yeah. Something I value with my interviews is someone being able to tell their own story, but not everyone is immediately prepared to do that or to talk so long. So I really appreciate you just giving us a glimpse, taking us back in time to what it was like working there.
DG:
We could just start writing the book now, shall we? [laughs]
AR:
Would it be okay if I email you with a couple final questions just for coverage?
DG:
Yeah, no problem. Cheers.
AR:
Thank you so much.

Transcript sourced from https://segaretro.org/Interview:_David_Galloway_(2025-09-13)_by_Alexander_Rojas and migrated into devquoted with linked people, tags, source metadata, and media where available.

Reactions

How did you feel about this article?