There are few games I can vividly remember seeing for the first time. It only actually happened twice in my life. One of them was DOOM by id Software. The other was Strike Commander by Origin Systems.
Flight simulators were immensely successful on PC in the early 90s. Where most engines still used single color polygons in 1993, Strike Commander and its perspective-correct, Gouraud-shaded texturing technology was unbelievable. Seeing the game run on a 486-DX 66Mhz was mesmerizing.
As a player who enjoys understanding how things work, my curiosity was appeased when id Software released their source code in 1997. Origin Systems' masterpiece however remained a mystery.
A little bit of work to reverse engineer the assets back in 2014 showed some good results[1] but the engine still eluded me. When the opportunity to chat with someone who actually programmed the game presented itself, I was overjoyed.
Frank Savage was a programmer on Strike Commander from June 1991 up to the game release in April 1993. Despite his busy schedule he agreed to sit with me for an hour to chat about the good old days and give us a taste of the colossal amount of work the team of ten had to produce over four excruciating years.
The interview mentions an amazing devices called Periscope which could be inserted between the CPU and the CPU slot for debugging. The os2museum.com has a great article describing them[2].
Photo credit: os2museum.com
Fab: On my website, I usually write about amazing games, amazing code, things that I consider milestones of an era. Today, I'm not writing, I'm chatting. I'm recording a podcast because I'm extremely lucky. Frank Savage who has worked on Strike Commander is willing to put aside some time to discuss with me.
Frank, Thank you so much.
Frank Savage: You're welcome. It's a pleasure to be here.
Fab: Maybe I should help people understand the context of the early 90s. In the early 90s flight simulators were extremely successful on PC. I think maybe every year something like 30 titles were published and along with point-and-click video games these were the most successful genre. And in 1991 at the CES an amazing game was announced featuring breath-taking texture mapping and Gouraud shading and the title was named Strike Commander. And somehow you managed to work on this legendary title. I'm curious to understand what was your path until that point. How did you get to work at Origin and when did you join?
Frank Savage: So at that time I was a hobbyist game developer. I taught myself C and C++. My
education was in Electrical Engineering. So I knew the mathematics behind 3D stuff, but I had never applied it. I never tried to do anything with it except for a couple of courses in college. I was a huge fan of the Wing Commander series. I had Wing Commander license plates on my car in Illinois where I was living in Chicago at the time. I would go to GenCon every year. GenCon was a game convention used to be held in Lake Geneva and Wisconsin and then eventually moved to downtown.
Milwaukee, and that was where I first saw Wing Commander at Gencon the year before. I went and played Wing Commander every day literally every day when it released. Went to Gen Con the next year and they had this demo for this game that that I had never seen before called Strike Commander and watch the demo and saw like unbelievable graphics for that time. There was another person watching it with me a GenCon and we were laughing.
thing about how like how if you can do this on a personal computer imagine what the simulators that we terrain people must must look like. And I talk to Warren Spector who is who is there recruiting for origin at the time told him the story of how I played Wing Commander every day how I knew some of the mathematics behind this and taught myself C and C++ and he said wow, you sound like someone we should hire because Strike Commander needs people to come work on it and I said, well, okay like I'm
I would love to get in the game is like this would be a dream job of mine. So I wrote a letter accompanying Warren back to origin that had like my my experiences and you know the stuff that I've been doing with games and Warren told me he's like look, we're in the throes of shipping Wing Commander to right now. It probably won't won't come out we won't talk to you for some amount of time because the game is still about a month away and we're not sure. So I said okay, that's fine. Like I've got you know, I have a regular job that time. I was working the IT department at a home improvement change so you can see like how steeped in gaming I was at that point. I was a huge gamer, but I hadn't really done a lot of stuff professionally. Origin actually reached out to me that week and they were going to fly me down to Austin, Texas. I've never been to Austin in my life. And the last second they said well, here's what we're going to do. We're going to actually have you be interviewed by by one of the people on the team and over the phone. And then if that goes well then we'll think about what the next steps will be and there's probably gonna be three people talking to you that Friday night and I said, alright, that sounds great.
Fab: So, who did you end up talking to?
Frank Savage: Okay. So Jason Templeman, who is the lead programmer who said, you know, hey, this is like this is you know what we're doing. Like how does it seem to apply to you? And we talked for about two-and-a-half hours and it seemed like a really good interview, but nobody called me for the rest of the night and I didn't sleep very well that night and my wife and I were not getting along super well at that point, but she was even sad at like how how badly the seem to affect me because...
Fab: That was a dream job for you? This was your big break?
Frank Savage: Yes. It's is my one shot and I apparently screwed it up and I didn't even know so I was really depressed that Saturday morning and she finally said, look, let's go do something like we can't just sit here and like brood about this. Like, let's just go like, you know figure out the next steps. We'll figure out what to do. We literally had our coats on and we're walking out the door when the phone rang in, you know, the early 90s like let's remember these were landlines with like really jarring bells associated with them and I was like, well, I'll just see who this is and I picked it up and it was Dallas Snell who is the VP of product development at Origin offering me the job.
Fab: Oh man, just one interviewing in the end?!
Frank Savage: Yeah, and I've never gone from so depressed to so ecstatic in a shorter period of time in my life since then. Nothing approached it and two weeks later, I was down in Austin, Texas working on strike Commander. It was a it was a very it was a very emotional Saturday after that.
Fab: How old were you?
Frank Savage: I was, let's see that would have been 26/27. Yeah, and I was actually one of the older members of the team because Jason Templeman was the same age and a lot of us were were very young. This was our first crazy project or or not for some of us the first crazy project. None of us understood what we were getting ourselves into at the time.
Fab: Were you intimidated when you joined, did you have an impostor syndrome?
Frank Savage: I had very much an impostor syndrome when I joined. I wasn't at all sure that this is where I belonged to or what I should be doing and the very first task I was assigned when I got there was "Here is Wing Commander II, play it and tell us if it is a good game". And you know, I did! I wrote up bunch of like hey, this was really good, this was weird, the graphics were obviously way better, they had voices like it was voice in a game like no one had done anything like that before. So it was it was very cool to to have that be the first thing and I said, all right. Well now that you've done that. At that time on Strike Commander. Hm. Let me let me set the the scene for where we were at that time...
Fab: This was still Summer of 91, right? And you were to deliver in Christmas 91?
Frank Savage: That's correct. Yeah, so couple fun stories. Like let me let me like I said, let me set the tone. So I show up at the office the poster that that you've reproduced here that I still have a bunch of folded up versions of still had my name on it which was astonishing to me because I had no idea that I had gotten in soon enough to have my name on the poster and the fact that it was there changed my life. Like I literally saw that and I am like, whatever these people need, I'm going to do.
Fab: You felt like you belonged
Frank Savage: Yeah, I felt like I belonged there. I felt like they were trusting me to get this stuff done and like they put my name on the poster. Like "I'm sorry honey, I have to be at work tonight"! Yeah, like doing you saw my name on the poster. Right? I had to deliver his was what I felt like and I felt very strongly about that and when I got there, you know, like you correctly point out, we were three months away from shipping and we had terrain that barely worked. We did not have a terrain editor. We did not have missions. We had a collision detection system that was somewhat operational but not really like for example, we had no way of knowing how high the planes were above the terrain at that point. None whatsoever all of the objects in the game at that point were still bitmaps like the ships in Wing Commander I and II.
Fab: So you had no game!
Frank Savage: There was no game! And I've never worked in the game business before right and so I was like, "Everything is normal. Yeah, three months. It'll be fine." Okay, and the first thing they tasked me with was like well, we don't know how high above the polygonal terrain we are Frank and you claim to know this 3D mathematics, why don't you go write some code to figure out how high above the terrain we are. And in that first week, I wrote code that not only figured that out but one of the outputs of that of doing that calculation is you actually get the normal to the triangle and so in today's world when I say, like own we got the normal to the triangle people. Look at me funny. They're like, well, of course you had them. How did you draw anything without that and you have to remember back then we did not do real-time lighting. We bake the lighting into the terrain and so we didn't need to know the normal at runtime. We didn't store the normal at run time because again, let me remind you about the memory requirements at that time, right like 640KiB was what was in a PC at that time. We were still 16-bit mode. So 16-bit mode meant that we had a segment and an offset. So if you the memory that was near memory with it was that 64k that was in the data segment at that time, you could access very quickly, but everything else was much much slower to access...
Fab: Because it was a far pointer...
Frank Savage: ...because it was a far pointer! And so we all at that time were also really confident that we could fit the entire game into 64K in terms of the data that the planes, their positions, all the collision detection data etc... Okay. Yeah and at that time again, I've never worked on a game before I'm like,"" huh? That's 64k memory. That would be fine.". As was my whole Commodore 64 my God, like that's that's a ridiculous amount of memory will be fine. Yeah that turned out not to be the case.
Fab: I have the numbers in front of me and STRIKE.EXE ended up 700k. It doesn't even fit in RAM and maybe you'll talk to us about the kind of trick you played to make this work but please carry on.
Frank Savage: So like I said, we just we had the terrain running, the output of that was the normal, the normal then meant that I could actually put things on the terrain and actually have them terrain-followed which was something we couldn't do till that point either. So that was pretty wildly successful. And then so having been successful, Chris turned to me and said well then since you seem to know so much about this, why don't you go do the Collision Detection system too. So this is my first foray into Collision detection. Like I understood how to collide spheres but boxes were a very different thing at that time. So again started reading, started trying to figure out how all this stuff works, got through the Collision Detection pieces of this. At that time We were also working on the editors for this so we had an editor that was going to help us build the actual aircraft and put the hard points on it. And what weapons were going to be on and there was also a Terrain editor that we were working on that. Is where the idea was we would actually be able to fractally generate terrain...
Fab: All work was done on PC right? Because, at the same time I read a bit about id Software and they were using NeXT workstations. Did you use anything else then PCs?
Frank Savage: All PC and it was all literally DOS with QEMM as the memory extender and everything else like we Windows didn't even really frankly exist at that point as anything but "haha that's interesting". In fact DESQview was the way that most people multi-tasked if they did anything was by it basically opened up a bunch of different DOS "windows" and then was really gross what between exactly and the 386 when Intel came up with the 386 one of their biggest features was this enhanced 386 mode which basically let the processor do that visualization for you a bunch of the visualization for you. So everything was DESQview. Everything was command line. We had our own graphics library that we use for all the UI pieces to draw these things all of these editors are in a 320 by 240. So they were not like high resolution by any stretch of the imagination and the next thing that I get put on was I had this I could show people like I have got this fractal generation stuff. Like I think I could just like wire this in and get and get really good looking terrain out of it and that was my first sort of real large-scale piece of the project that I went and took on it.
Fab: It feels like up to this point, they had focused mostly on the graphic rendering like maybe texture mapping and Gouraud shading and like all the tools, everything that actually makes a game had been left in disarray until you joined?
Frank Savage: Yes, it was not it was not a well-oiled machine at that point. So I took over the tooling for the terrain editing. At that point we were also still struggling with texture mapping. Texture mapping is interesting. And again, a lot of people probably don't realize this because it's so magic now the cards come with texture units inside them. But the reason there is a texture unit, you know, it is because you literally have to do a divide per pixel if you want the texture not to distort and swim when it gets a different angle...
Fab: ...to be perspective correct?
Frank Savage: Exactly. So perspective correct meant to divide per pixel. Well divide per pixel in a software renderer on a you know, 486 Is a tall order even at 320 by 240 and so we didn't have a lot of perspective correct stuff and we were trying to figure out like how are we going to do this? Like, is there an approximation that works? Is there something we could do.
Fab: Was it that bad to work with affine texturing when things move very fast like in the plane or if that the planes are very small.
Frank Savage: So in the distance it was okay. Like we could use affine texturing for that and we were okay the problem became as soon as it started to approach the near plane. That was when the divides actually started to matter and you'd get texture swimming. We used to be what we call it because it would start to distort and look like it was like water was going over it. And so we actually built the 3D system in the game such that we would use affine texturing until I got close enough and then we would switch to perspective correct texturing and so that way we only needed to draw so many triangles and so much of the screen with literally a divide per pixel. Whereas everything else could just swim and go crazy and we were okay...
Fab: And that part, was it done in C or did you have to craft your own ASM?
Frank Savage: The actual rasterization of the triangles was all in handcrafted assembly. John Miles did a lot of that work back in the day and then we went and and optimized it where we could for different processors as best we could at that time because there was right now if you looked at the CPU budgets for Strike Commander back in the day, probably 80 to 85 percent of the CPU is being used to draw we were fitting the entire rest of the simulation and that's flight dynamics, all the Collision, all the AI, all the control systems, like everything that was being rendered from a cockpit perspective, the mission system that was actually figuring out when the AI is we're going to turn on turn off all that stuff was in 15% of like a 386 at that time if we were lucky like this is why the box says on it 486 "highly recommended".
Fab: I played it on a 386 and I turned all the graphics settings to the very minimum and it was still fun in my memory. It felt like it was 60 frames per second. But actually how much was it? Did you guys measure that?
Frank Savage: Yes, we did and with the best machines at that time that we could get ahold of with all the graphics turned on as high as they could go and this is with a local bus video card on a 486 machine. We were lucky to get 15. We used to joke that the only thing the game really was missing right now is a small bottle of shampoo and everybody would look at us weirdly. What what shampoo and we like? Yeah. So what you do is you take the shampoo and you drop it in your eye and the you can't open your eye for very long, but boy when you're blinking in the 15 things are second looks amazing.
Fab: Despite all the tricks you use like for example, I remember that you had to limit the field of view, how far you could see, you told me that It was a foggy day...
Frank Savage: It was a very foggy day most days in Strike Commander.
Fab: And you also implemented level of details.
Frank Savage: Yeah, this was this was one of the first games where we actually did like like Wing Commander had levels of details inside of it as well, but they were different resolution bitmaps.
Fab: I assume those were easy to generate because you just needed to resize the bitmaps. But in that case you had to work with the artists and say I need three versions of this, of everything!
Frank Savage: Yeah, and that's that's basically what we did. We actually built a so when we realized we weren't going to make Christmas of 91. We decided well Christmas '92 sounds like a great target. Why don't we go after that one and if we're going to do Christmas '92, we should add some stuff because like we're really close to having this done and again being super naive and never been in a game business, I was like, "oh, yeah, we should have all kinds of stuff".
Fab: So the initial target was to have everything sprite-based?
Frank Savage: Yes. And so one of the first we decided on once we realize we were going to not ship Christmas of 91 was "we should move everything in the game to 3D" like all the objects should be 3D and that will solve a bunch of our memory problems as well because we won't need all of these bitmaps in different rotations to be able to do this stuff polygons are way way easier to represent it than giant bitmaps are so we pitch this as a cost savings everybody. And of course they know yeah, that sounds great. Let's do that. But that meant that we needed a 3D editor because you couldn't just export meshes from like a 3D-Max. Max was pretty much all there was at that time. You couldn't really just it you couldn't export those because they were there were too many polygons and and the data was weird and everything else. So we hired somebody named Paul steed. To come in and start to build these these meshes and he worked very closely with one of the key developers on the project Paul Isaac to build what became EOR was the name of it, and it was our our object editor. And so Paul actually came up with a methodology where you could it was very very easy to make even all the LODs for the objects because what he would he taught people to do is render it basically the top view side view in plan view of everything all six sides basically and you would put that into the tool. And then you would handcraft the vertices and then that would hand create the UVs off the off those views of the texture so that they would all be texture mapped and we would you know, we would put this stuff on the terrain and we would be astonished at how I mean again 320 by 240 256-color. It was 1992. It looked amazing.
Fab: It looked amazing! That there are few video games. I vividly remember seeing for the first time one is Doom. The other one is Strike Commander Like anybody who saw that game the jaw dropped on the floor? And it's not only the quality of what you guys put out there. It's also the volume like the number of aircrafts you had more like the number of like tank. It's just like it's a huge amount of like modeling and texture and that's why the game ended up being so big it's probably one of the most impressive game to take out of the box. Because you have eight floppy disk. I remember buying Days of the tentacle. Which was six floppies. I'm like, oh, wow. That's a huge game. And then I got Strike Commander. I'm like, what is that? You install it on your hard drive and it's like 10 megabytes. Yeah, and then you start the game for the first time and something happens.
Frank Savage: that takes it to a much much larger footprint!
Fab: Like 35MiB in total! Did you write the terrain generator?
Frank Savage: So yes the terrain generation that we had for the game was interesting because we did a complete fractal generation of the terrain. So we start with a single seed and we would get some terrain out of that. The designers would then go into the editor and they would handcraft the areas that were interesting. So they'd flattened area put a base down. They'd carve a River Canyon if that was something that was important that they needed to do and the end result of those was a series of differences between sort of the fractally generated terrain, which was very easy to represent. It was a seed, in a single 16-bit number then generated all the terrain and then the rest of it was just the new polygons positions and places where they had changed whatever they had edited in the trained to do that. And so it was very very easy to sort of figure out what the differences were write that into a file write the seed into a file and then say that's that's the terrain right now and then during the install process. We actually re-fractally generated all the terrain and then applied the differences to it and we wound up with basically what they had done in the editor what that let us do is all of these terrain meshes were you know, as you can see it went from 13 megabytes to 35 those terrain missions were huge in terms of memory. And so what this did was it allowed us to ship on eight floppy discs instead of the you know, 40-odd we would have needed if we had it all uncompressed.
Fab: And just to put things into perspective, It was pretty common at the time to have an 80 megabytes hard drive. Mine was 40, so that's all I could run And I was very happy to do so, but it was I think it gives a good idea of like the the volume of walk and the immensity of Strike Commander.
Frank Savage: Yeah, the the I mean just generating every night. We would do a build as we were getting close to shipping and I worked on actually the because so much of the build for the game was actually generating these these floppy disks and then actually going and figuring out what the differences were because we would assume everything was different for every every build we would do.
It would take 2-3 hours to produce the the set of floppy disks that actually were the installed version of the game for that for that drop of it that we were working on and most of the time that we were doing this. The machine was just crunching it was happily off figuring out what it needed to do and what was going to write on the floppies. So what that meant was typically we would kick off a bill we were always trying to Target 8 or 9 p.m. So that everybody could go home. The reality is we never got to build any sooner than midnight and it did ever and a lot of them went to two or three in the morning and and those nights like when it was taking two and a half hours to run through the build. This was when I would be playing like X-Wing or TIE fighter or Ultima Underworld or something because I had all this free time quote unquote to actually do stuff and it used to you know, it used to be upsetting because this was the one time when I could actually like do like bike talk to my my wife and she was in bed to sleep by this point usually so yeah, it was it was that was this was just an example of how hard we work to try and get all this stuff done.
Fab: Yeah, as Chris Robert put it, it was "Apocalypse Now".
Frank Savage: Yeah. It was yeah. It was our Heart of Darkness like and he's not joking like the circles under the eyes the the unshaven faces you know, we would we would get out of bed in the morning and go work on this game all day long. I mean Origin was when eventually EA when they bought us was great. They treated us really really well. We got you know, they brought us meals all the time. Like they let us pick the meals which was maybe not the smartest thing to do because we were, you know, we weren't thinking about health really at that point.
Fab: Well, when you are 26 it doesn't really matter!
Frank Savage: Yeah, it didn't I guess because at that time there there are allegedly pictures of me that I've I don't know where they are. But during Strike Commander by the end of Strike Commander, I weighed almost 285 pounds.
Fab: 285?
Frank Savage:285!
Fab: How much did weight when you started when I started Strike Commander?
Frank Savage: I weighed about 210. All of us put on various amounts of weight during that time part of it was clearly, I was making poor meal choices like every day we would go get meals from places and like if they have loaded potato skins, that's what I ate. And yeah. We got so much exercise. It was ridiculous. Like sometimes we would walk all of the 30 feet to the bathroom and back. We didn't get we didn't we didn't move from from our little desk.
Fab: So so that's what's pretty amazing like in a team of 30 people like Origin managed to somehow motivate everybody. So I understand for you that it was your first project. So there was no way you were going to quit you are going to give hundred percent but some of the people had been in the industry for a while I Chris had been in the industry for 10 years, he was approved talent right yet you guys you you delivered like that's what's amazing to be able to work so hard for so long.
Frank Savage: Yeah, it became a matter of Pride honestly, and it was always a labor of love, but it there just came a time when like we were not going to be defeated by this game. We were going to ship it. We used to make jokes like we should send somebody the library and figure out if there's a technology we can find or adopt that allows us to not have to sleep because if we didn't have to sleep we will be significantly more productive. And at one point we we had we had we face so many difficulties in trying to fit a game of this size and complexity into the box that we were given in terms of a PC with 640k of ram like it required a hard drive. Like how are we going to even install that like already our data footprint is this large like. There were so many problems that we had to overcome just to be able to realize the vision that we were after that. We joked at one time that it might be easier to actually invent time travel go into the future get the game and bring it back come back because that would have been easier than trying to actually finish it because we had no idea how we were going to solve a lot of these things.
Fab: It looks like yeah, you kept a positive attitude. I have like a Sudden Death game manual and in it you poke fun at yourself saying that Strike Commander is going to ship in Christmas 2012, honest man!
Frank Savage: Yeah this this time for sure.
Fab: So one of the things you mention is that you had 640 KB of ram people may remember. Well. No, in 1993 you had 4 Meg's of ram but because of you the game was running in real mode. You had extra Ram but only for the assets. The code at to fit in 640 and it didn't but you still managed to do it. Can you elaborate on that?
Frank Savage:Yeah, so the game itself had a bunch of loadable modules to it that depending upon where you were in the game. And what was going on like you'll notice if you if you happen to have the dump of the the of the the directory which I do in front of me which is which is really nice. There's a bunch of different interesting executables here. There's an SC.EXE this was the stub that sort of put the computer into a mode where we could access this this sort of extended memory that was there at that time and what that did was it allowed us to put the assets up and sort of sweep that we used to joke. We sweep them under the EMS rug because that's that's just where they were going to go and there was a whole bunch of complexity associated with that because even with EMS you only had 64k Windows to be able to look into it, which meant that at any one time no matter what was swept under the rug you can only look at 64k of it at a time. So that was that was a challenge, but the we didn't have anything like dlls back then but we hit on the idea of well, if we could dynamically load these pieces of the game into memory when we needed them. We could we could just keep all that stuff going and have everything work. And so one of the one of the key developers on Strike Commander that we had hired to help us do a lot of this stuff was a guy named Jason Yenawine and Jason got hired at origin systems because he was able to show how to run Ultima 7 in Voodoo mode with qemm still loaded which everybody swore was impossible. He had created a shim that actually allowed that to happen and we were like, well clearly you forgotten more about extended memory and how it works than any of us are ever going to know so you want a job and he said sure and so his job was he would sweep things under various memory rugs to try to get things to actually fit and work properly.
Fab: Which made it extremely hard to reverse engineer. And so yeah, I don't mention I love this game so much that I reverse engineer part of it mostly the asset. And as soon as I opened the executable like oh my God what is going on inside the thing and yeah, it's just I mean it's clever but you had to I mean in the end you do what you have to to in order to ship, right?
Frank Savage: Yeah, absolutely and that's that's what it but What it boiled down to was we did what we needed to do in order to be able to ship the game and we would we would pretty routinely go to various and dundry marketing people a TA or we would show some demonstration of something or whatever and everybody would be completely blown away and we would be like great. So here's the thing. Remember when the minimum spec was this we'd like to up it a little bit and there would be the looks of people in the room or sometimes unforgettable. Fortunately. Chris was the one who had to do all this. I just got to sit in the gallery and laugh which was that that was not the case on the next game Wing Commander 3, but but in this case it was still fun for me because I could just sort of watch all this stuff happen but like that. I mean it another very large scale job that I had on the product was actually going in and actually changing all of the near pointers that we had to far pointers because again, every time we would run out of near memory we would decide. Alright. Well something has to go too far memory and so we would take an entire sub system in the game and move it too far memory and you would think oh, well the easy part of this you just put far* instead of * in front of it and magically it would all be okay. The reality was that it was much much harder to do that because eventually we started running out of far memory. And then when Jason started we had to rewrite how all of the memory management work anyway, because it had to go through his magical Universe in order to either sweep things back in or sweep things back out when they needed to do that (Note from Fab: These were also known as Memory Overlays) and it was I mean just the challenges in terms of getting it to fit in memory alone were were unbelievable. Then you look at things like the Collision detection. Like we wanted we wanted like hundreds of bullets flying in the air all the time and colliding a hundred bullets against, you know, even a hundred spheres against another spheres at that time was it was time consuming like that was not something that just happened.
Fab: And you had to do everything, I remind everybody, in fixed Point. You had no floating Point Unit.
Frank Savage: That's right. There was no floating point of that time. We did everything in fixed point. So that meant that when you were debugging the game you didn't see a number that made any sense to you.
Fab:I didn't even think about that!
Frank Savage:
So we actually wrote extensions into like we used Borland Turbo C at the time and we were extensions into the debugger to be able to see what these fixed Point numbers actually meant because they couldn't do it. We couldn't do sine and cosine fast. Those were all lookup tables. So we can do square root quickly. We would we relied on mathematical tricks in order to figure out the distance to something and whenever we could do the distance without taking the square root, like we could leave everything and in length squared we left it in length squared because that's what we had to do. We discovered a bunch of them. Like I have one of these days I should go through and pull the notebooks out. But like we wrote down everything we discovered or that we figured out because I think figure we need it.
Fab: It's the kind of thing people love to read about like these kind of notebook developer notes. Yeah, if you can like dig them up and and try to find them.
Frank Savage: Yeah, I know where they are. I just gotta go get them.
Fab:
So besides the graphics the texture mapping in the garage sharing one really cool feature in Strike Commander was is virtual cockpit and it had never been done before I don't think so and the cool thing is that at the same time you had company like trust Master manufacturing like the Mark I. Joystick. Yes, and when you add everything it was it was almost like not professional would like a military simulator. When did you decide to support trust master?
Frank Savage: That was that was a very sort of early on decision and supporting joysticks back then was not again sort of trivially easy as it is today. One of the things that people again, maybe don't remember or just have never been exposed to is the fact that every single thing you plugged into a PC that was not part of either the CPU the memory or like the disk system.
required a driver and even the keyboard required a driver at that time and all of those drivers worked through a set of interrupts in DOS. They didn't there wasn't this magical Windows device driver model that didn't exist at the time. Everything was through these very well documented frankly interrupt systems. In fact, if you've got a copy of Michael Abrash Black
Book he they're all there like the exact way you had to integrate these things was all written out there early on we wanted to support joysticks and to support joysticks there.
There was actually a joystick Port specification that IBM had come up with and the manufacturers of the joysticks push that specification far beyond what IBM originally intended when they built the system and so there was a lot of hand attaching things to either the driver or looking at ports or we would write our own interrupt handlers. Like we wrote Our own Mouse interrupt Handler for Strike, we had to write all the interrupt handlers because of the way that we structured memory.
There's a there's a really great story about the last bug in in Strike Commander that I can tell about how we had to track that that bug down and I can tell
Fab:
Please! Bug stories, I love them!
Frank Savage:
Yeah, so not to digress from the joystick question. But like the last bugging strike Commander was a random crash and we had it happen in the debugger innumerable times. And what would happen is we would get a clearly a random series of bytes.
Would write themselves across some piece of memory some kind of heat corruption. Something was going on. We spent Jason Yenawine and I were the ones that won the award for going to try and figure this out. We literally went and bought a Periscope board so back then debugging was not again as modern and wonderful as it is today and we actually bought a board. It was called a periscope and what you did was it was a full PC, but it had all of
these debugging Hardware around the CPU in it. And so it could watch memory which was something alien back Then you couldn't you couldn't do that yet. So we would watch memory and we would try and catch the crash and we would look at what was going on. And for the life of us, we could not figure out what was happening. Like we would we would catch it. We would look at the random values. They just look like a random numbers. We didn't understand what was going on.
And I remember the day that we that we finally figured it out. We were in.
We were in my office and it crashed and we were actually debugging something else and it crashed in the debugger and we had gotten used to the magic values that were there and this time for some reason when we were doing it. It dawned on me. I had nudged the mouse. So we've been playing with the joystick in the keyboard and doing all this stuff and I remember I vividly remember my hand coming off the Joystick, and because we just seen the bug happening and we were like damn it. Like it should have broken like Why didn't it and I took my hand off the joystick and I'd nudge the mouse and it crashed.
And we looked at each other and said, "oh my God, it's the mouse driver!"" like maybe this repros if we do that and so we finally got reproducible thing and we look through the mouse interrupt Handler that we had and there was a basically right in the one part of it. You have to there's because there was no multi-threading back then either you had to clear the interrupts because of another interrupt came through all you were handling and interrupt that was bad because memory was not in the state that it needed to be in. So the the main DOS Mouse driver would write to some location but at that time if it did you it was writing to the wrong place. So we were in the wrong mode for that for that driver information to come across. Okay. And so all we had to do literally was put a CLI at the beginning of the handler and magically this bug went away. And that was that day. I remember was the day when I finally thought to myself we might actually ship this if I can figure that one we can do anything like they've bought Periscope boards I mean these boards were expensing their like $35,000 at the time and we got Orign and EA to buy them.
Fab:
That's a lot of money exactly.
Frank Savage:
And then this was 1993 right or 1982 at that time. And so we were like they were willing to do anything to get this to ship because they were tired of.
Fab:
I was doing the calculation to see how much were tje joysticks today and you pretty much have to double to account for inflation. So that would like put the price of the hardware you just described to 70,000.
Frank Savage:
Yeah, that's like crazy.
Fab:
It was really really it was a huge amount but you're right. When you point out that people are very creative and the IBM original spec accounted for like two joysticks. So you have like two stick to I mean for directions and to bottom for joystick and what they did they combine everything in one joystick with a joystick on top of the joystick and use the 4 button for just one controller and they were selling that $150 in 1993. So Nowadays, it's almost like $300 and they sold and they were very successful. And I think that describe well, how popular those kind of games were like. As a teenager. I could not afford it but I wanted one really bad.
Frank Savage:
It was hard for us to afford them. Like even I mean we worked in the game business and I mean that one of the hugest perks of working in the game business was you know, I was also the person that did the joystick integration for all the stuff so I had I had one of the gravis controllers. I had thrustmaster. And every one of them had their own quirks and peculiarities and we would put little magic values into files in order to get all of them to work properly. And I remember, you know, thinking to myself like God, it's a good thing. I'm in the game business because I play all these flight simulators and so I wouldn't be able to afford the joystick habit like outside of this instead. It all went into hardware for the PC because it's what you had to do back then.
Fab: They were very expensie like the whole Rolls-Royce of flight simulator the Mark I from TrustMaster was extremely expensive. Is it program the same way a typical joystick was programmed which back in the day using sure you have two potentiometers and you need to calculate how long it takes for the potentiometers to recharge and that from that you will infer the position. So did you have to do that for like all axis or did they provided something?
Frank Savage:
Actually really funny. If you remember back in the day, one of the things that games used to typically run before they would actually let you play the game was a joystick calibration, right? We used to have to do joystick calibration because all of these folks would not did not settle on a single potentiometer.
Fab:
They all have a different one!
Frank Savage:
Yeah all had different ones. And in fact Thrustmaster would sometimes change the one that was in the Mark 1 from the first model versus the second model. So when they said they was they would cost reduce they would often put lower quality ones in there or different.
Different it didn't even have to be lower quality just had to be different
Fab:
as long as the timing is differential. You need to calibrate.
Frank Savage:
And so like writing the calibration routines for this and then writing the fact that like, you know, there had to be dead dead stick area in the center where if you weren't moving the joystick or you hadn't commanded the joystick to move you would still get noise. You'd still get enough noise through that you would actually have to like put a dead zone around the inside of it. And this is another reason why that was adjustable for people as well because even with the calibration Sometimes it would it would there was there were hitches and weirdnesses in the electronics where you would see like a sudden command of like pitch up and like people would say. I fixed a couple of bugs like this for different joysticks where QA guys that come back and be like, "hey this one joystick like the plane doesn't hold like level it constantly tries to pitch up or it does whatever" and I'd go look at the values and sure enough for this one stick. It was doing something weird, and we'd either Rewrite the calibration routines to try and cover that or we would change the DeadZone routines or and I mean in some cases we would literally hard-code like if these things came through ignore him.
Fab: I have another question. I wanted to to ask like, how did you do? How did you make sure the the scene was drawn properly? Like did you use a painter algorithm or...
Frank Savage:
yeah, so we started we did use painters algorithm and the way that we sorted the polygons. We actually used a radix sort to sort them all which is a which is a special kind of sort of routine that basically uses the digit Radix that it is in the in the number so
We could basically say like all the hundreds ones like all the ones at 200 all the ones that 300 other ones at 400 you go in these bins and then for The Hundreds we could go through and say okay for The Hundreds now, we're going to sort by 10 and then we would sort by one or those kinds of things and what that did was anything that was way out in the distance. We would very coarsely sort because odds are it was either covered up or the draw order didn't matter because the pixels are so small and then as the as the distance is the depth of got closer and closer we would go Further and further down the Radix sort actually put them into the right place. And then yeah, we would draw either back to front or front to back depending on which thing we were doing for the opaque stuff you draw one order for the alpha Blended stuff you draw different orders. So we actually had two different passes for that so that the smoke and the fire and everything else would look okay and even back then like you couldn't You still had to draw things like like turning the full Alpha blend on for the the smoke was a graphic setting if memory serves because the best the realistically the best thing we could do was just follow the alpha outline on the sprite.
Fab:
Yeah, you were using some sort of dithering right?
Frank Savage:
Yeah.
Fab:
so would you say that you got the renderer nailed down kind of early on and then after that you to figure out all the bugs the content and I call the tools?
Frank Savage:
Certain aspects of the renderer to get locked out early the the actual polygonal rasterization pieces. Once we had those working we didn't really muck with those much because we knew we'd gotten them as tightly perform it as they were going to be but the rest of the graphics engine became interesting because of things like one of the weirdnesses about Strike Commander. Was that the polygons for the terrain kind of probably not remembering this a hundred percent
Accurately, but they were on the order of like a hundred or two hundred meters side. Well, that's cool. But like runways are significantly differently scaled than that roads are differently scaled than that, you know, just just a pad that holds a building will be differently scaled than that. And the problem was that you couldn't we needed another we needed another way to draw triangles on the terrain for those kinds of things like a road or a river or those kinds of things because you couldn't it was to course to do that. Otherwise and so we came up with the idea of what we call Accessory triangles, which was basically we would draw the terrain and then there would be a list of based on which terrain block you were in of triangles for that terrain block that we would also draw that represented the roads or the rivers or that kind of stuff and Bill Baldwin was the one who did the accessory triangle pieces for all this and came up with the idea and then and then I worked with him to like put them into the editor and then once they were in the editor then storing them
because accessory triangles again, we're not something that we're practically generated. So that was another dip that we had to store off and then put down when we actually generated the terrain and like a lot of features in games the moment the designers realized they had a way to just sort of arbitrarily lay any size triangle down on the terrain that they wanted with any texture they wanted they went crazy and so like they would build these incredibly beautiful and I would they were gorgeous for that time. Just absolutely beautiful. that would run at if we were lucky a frame per second and you know would use scads of memory and all this other stuff. And so we there was a lot of Education around like please don't do this
Fab:
It must be frustrating to know your engine can generate something really really beautiful but you have to like you lose all the frame rate. In the end, it is an exercice on what cut.
Frank Savage:
Yeah. Now it did there was a lot of stuff we did like
And this is just scratching the surface in terms of crazy stories. But like one of the one of the things that isn't super widely known about Strike Commander was we actually about three months before we shipped. We had the full mission set all done and you could basically play through the game and when we played through the game, we all felt this wasn't utilizing the engine to the best capability. It wasn't giving us the experience. We wanted it didn't it didn't have that feel for the story that we wanted. So
in demonstrating the continued unbelievable wisdom of the Strike Commander team. We tossed all the missions three months before.
Fab: three months before you through everything out? Including the cinematics and .
Frank Savage:
The cinematics and stuff We kept because those were those were general-purpose enough to tell the story and there were there were key moments that had to happen in certain missions in order to tell the story but for the most part the missions were kind of almost like Wing Commander, they were kind of any order and there was a losing path in a winning path and all that kind of stuff, but there were
places where we just were like no we should we should redo this and we should redo this and by the time we got done talking about it in a room. We were like having to redo basically everything then if we're going to do this to really take advantage of what we had and it turned out to be the right decision because so much of what we had built to that point was designed for the engine kind of in its 1991 early 1992 sort of iteration and we'd actually added quite a bit of capability since then and we wanted to be able to get it that capability and to show people like what
Kind of a game we could truly build with this stuff and scrapping them all and then sort of going back in and doing stuff really really help like it made it made such a huge difference and they were much much much much better missions than the ones we originally started with
Fab:
and it made a good argument for reusing the engine because that's not the only game RealSpace was used for because it was used for Pacific Strike, Wings of Glory, Wing Commander Privateer. And of course Wing Commander 3.
Frank Savage:
Yes Wing Commander 3 at one point as we were as we were working on the engine we realized point this is going to get so much easier when we have flat 32-bit memory when we can basically say like and honestly at the end of the day we could have that with Strike Commander because I believe we required a 386 but there was a time when
286 was on the table in the only memory model that worked in 286 was 16-bit. So once we could say with a straight face, yes, everything's going to be 32 bit. Now it completely like it took that engine and actually gave it the legs that it should have had kind of in the first place and Wings of Glory. Actually, I believe was we did Port it to 32 bit which is why it looked so much better than a lot of what was in Strike Commander to begin with so and then yeah for Wing Commander 3, Wing Commander 3 was a lot easier.
in some ways because most of the missions didn't have terrain and it was so easy to just burn through like polygons and that led us to make the what turned out to be really smart decision of going to 640 by 480 with 256 colors which again back at that time 640 by 480 meant that you couldn't draw the whole screen all at once you had to page in there were four 64k pages for 640 by 480 that you paged in to draw which meant that you drew the top part of the screen you flip pages
Just do the next part flip pages do the next part.
Fab:
Yeah. It's easy to forget no idea that you had to push those pixels. All the way to the graphic card which didn't do much.
Frank Savage:
it was a memory repository. and the good news was for the local bus cards that memory was super fast, which was a huge change from from the old the old interface that they used to have or used to have
Fab:
The VL-Bus was like more than four. Or eight times faster than ISA I think.
Yeah. Wing Commander II was definitely a step up in terms of that I remember also opening the box and having the same thing as Strike Commander because it was a CD-ROM era, but when you open Wing Commander 3, you don't have one CD your had 4. It was a gorgeous package. ou haven't had like Mark a me or you're like, I forgot his name, but the guy from Back to the Future (Note from Fab: Sorry Thomas F. Wilson :(). it's a good Crazy really really big game just to to finish with strike camera like so you slept until you the under your desk for two years. How did it feel to when you actually shipped it? Like I don't know. Did Chris came into your desk and like okay "Frank we are shipping, no more changes", like what you do?
Frank Savage:
Oh, would that have been the case. Instead What happened is
Was that we thought we were done. I remember I was at home. I remember I was at home during the day which was something that was fairly unprecedented at that point. And I remember again the fateful phone ringing and I pick it up and they're like, hey, we've got a got a crash. We don't understand going on like we need you to come in because it's like doing this and I'm like, all right.
So, you know, I lived 5 minutes away. So I got in the car drove over.
Watched watch this repro at and basically the repro was you would fly....
to gives you some kind of idea of the the robustness of QA at that point but no one had ever in the training Mission flown over water in the training Mission and actually drop bombs. So when you drop bombs flying over the water in the training Mission and Strike Commander the bombs would instantly explode and blow your plane up and we felt that that was not a good user experience. So it really wasn't crashing. Although that's how they characterized it to me, but it was like
I think we definitely could not ship with and so I was the one who wrote the the bomb exploding code that that figured out when the bomb should go off and it only happened actually with one kind of bomb the cluster bomb. All the other bombs would drop.
Fab:
Yeah. The Durandal irght? If I remember correctly.
Frank Savage:
So we and I had written the cluster bomb code. So it turns out I had written the last bug that was in Strike Commander that we fixed and that bug was what was supposed to happen in the code was that
the bomb was supposed to drop to a certain height and then explode and the cluster munitions would go off and we had set the cluster munition spheres such that they would go off on top of the terrain and the idea was by exploding an altitude which is basically what they did in real life anyway, we would get the exact same effect and for we had tested them we flew over targets. We dropped the cluster bombs. We looked that bombs looked like they were going off above the terrain. Everything was great.
Turns out that what the code actually said to do was if the bomb is over terrain that is zero or less explode. There was a fallback for the regular bombs, which was as soon as the bomb impacted the terrain it would go off.
That was the one that the Durandals were actually using they were going off when they hit the terrain. They weren't actually exploding above it. It just happened to be a happy accident that when we drew the cluster munitions going off. We actually added an offset to make them look even better. Well, the offset was actually the thing that was causing them to look good at all. They were actually exploding on the ground and it worked but it that was the code had that this really heinous bug and the only way you could discover that bug with my flying over train. That was at least zero height.
Only thing zero height in the game was water. And so most of the game does not take place over the ocean. And so and when it did take place over the ocean in Strike Commander, you never carried cluster munitions, you needed a different kind of bomb in order to be effective against the thing that you were blowing up that was on the water. So no one had done this until literally the day before we were supposed to send discs out.
Fab:
the QA team was essentially you guys yeah.
Frank Savage:
Yeah.
There was an away team there. So, you know the people that worked on the QA team don't hunt me down and they did an amazing job. They really really did but they were so focused on the fact that the PC ecosystem was wildly fragmented at that time. Like they were testing things like different joystick combinations with different video card combinations of different mouse combination, sound cards, different monitors plugged in all of that stuff was really what they were worried. Like does it even run across some broad segments of everything.
And if it runs at all great.
Fab:
Yeah, I mean having a bug later on is ok, you need to game to at least start, right? I remember there was a bug description in the manual like maybe not a bug but they said, oh we found out that if you have more than 16 Megs of ram something may not walk and I remember reading these line and thinking WHO? has more than? what kind of millionaire has enough money to have 16 Megs of ram in a PC.
Frank Savage:Yeah Yeah, we actually had one machine that was completely tricked out that was wildly over memoryed and everything else and that one was and that was one of the ones where we saw that and we were like probably most people don't have 16 Megs of ram in April of 93, so I think we're okay.
Fab:
so the game went gold although it's a concept for CD-ROM when you press the gold Master like I don't know how but how you called it back in the days
It went silver maybe in what like in May? I would like ten days before you announced it?
Frank Savage:
I remember Martin Davies who was the head of marketing at that time coming into one of the offices that we had there and he wrote the number and I met probably will get it wrong. But what sticks in my mind is the number 149,713 and this was the sell-in
for Strike Commander, which for that time in PC gaming was a ridiculously large number for a launch title or for something. That was just launching and then you combine it with the fact that like this was not an established franchise. This was not an Ultima. it was an entirely new IP the the production like the requirements on the box were frightening to marketing people but stores bought that many of them out of the gate to be able to sell and you couldn't find it like it would it would blow out of stores as soon as they would get it. And people would shop like they did this. I'm going Commander 3 to they would shop for PCS in these stores by looking at the label on the box. Like they knew that when it was a Chris Roberts game. They were going to get something that was going to show off their
Fab:
quantity was there, the story was there.
Frank Savage:
You just knew that was coming.
Fab:
it was polished.
Frank Savage:
Yeah, and we we breathed and slept polishing this one. This one was not easy to get done.
Fab:
So but you did ship is like, how did you feel once you shipped? Like did you take lile. I watched this movie recently. It's called Free Solo. It's a guy who trains train trains. He climbs the mountain without a rope and he does it and in the afternoon he goes back to training like the did you take a break or you just went back straight to it?
Frank Savage:
So after we fix that bug that night we cut another set of floppies because we needed a new executable and none of us, like none of us wanted to short-circuit any of the systems. We had this had gotten us this far. So like even though we didn't need to run the full disk build system in order to just replace this one executable.
No one trusted that to you know,we wanted a full build. We verified that the disks worked that this bug didn't happen and then sent them off to be duplicated. And you know, I remember the next day because that was when Martin actually came in the next day. So the next day we went to work and we were all just like hoping like QA was looking at it. But like if anything came up we were there on call to do whatever Martin came in wrote the magic number and then we
All like realize it's like 3:00 or 4:00 in the afternoon and we don't have anything to do so we should we should go like get dinner or something. And I remember we went to this we went to this Mexican place and it's Austin, right? So we sat down a Tex-Mex there and had a bunch of food and we came I remember I went back home and I sat down on the couch and I know what to do with myself. Like I was I didn't
these then my wife's like oh should we watch TV. I'm like, yeah, that sounds like what's on TV these days? I haven't watched TV and in two years. What what's up? What shows are on like and the next day. I remember I woke up late cause I slept a long time and my wife said, what are you gonna do? I said, I'm going to sit on the balcony and look out because that the apartment complex I lived in looked out across this Ravine in Austin towards West and I just sat there all day literally and it felt like 15 minutes. She came and said like we're just gonna sit here all day and I'm like, well, it's been that long as in she's like, it's 6:30. I'm like, well, I've been out here for how long she's like eight hours. I said wow felt like 15 minutes, and it was just
Just just really just thinking about everything that had happened and that it was done like that. It was done. Like I there's a there, you know, post traumatic stress syndrome is a thing and I've never really I don't think anyone can have an appreciation for what it is like to come back from something like that from a war or from, you know, an incredibly abusive environment or or something like this where it was your entire life for two years you
didn't watch TV. We used to joke about it in meetings at dinner. "hey, what do you do when you get back to the world" because that's what it was. Like there was no world. We weren't in any place. We just live deep breathes and slept this game. And I remember that was that was that was a watershed moment. The next two weeks are a blur because I just did stuff. I hadn't done in years for the next two weeks, but then the weird part about it was after two weeks.
I was bored and i wanted to get back into it and I actually went to work and everybody was just what are you doing here? And I'm like, oh there's some stuff I want to try and I've got a better PC here at work and I do at home. So and I wrote some some things I changed some of the facts will terrain generation got rid of some of the artifacts that were in it's still that I wanted to try and obviously couldn't do because we were trying to ship the game and just did a bunch of stuff like that. And and right around that time was when another ex-origin developer. Tony Bratton was
Taking the real space engine and actually moving it to 32 bit and when I got wind of that I was like, oh, well, I can I know a lot about this like I can help and so I started helping with that and we got some some really simple 32-bit polygonal rendering running. Then I wrote the 640x480 VESA universal driver for being able to render these things at 640 by 480 256 color.
Got a whole bunch of stuff like that working pretty quickly. Like by June-ish we were like we shipped in April by you know May was kind of fooling around and having fun at work again, but by the end of June, we had the engine ported to 32 bit and we were astonished at first of all, the performance difference it was twice as fast.
Fab: At a higher resolution?
Frank Savage:
Even at higher resolution. Yeah and like it was it was just breathtaking how much better that made everything just in that was all just basically removing the segment offset.
Stuff from everything which then allowed the Intel caches to do their job for real and that made just it was night and day and so that was a tremendous amount of fun being able to do to be able to do that and I got right back into it like this point like we started hiring a team for Wing Commander 3. I started moving the engine to how that was going to work and look like I just started doing all this stuff to try it to try and figure out like how it would happen and I got I just went right back in like
There's a scene that in the new version of Sherlock Holmes that they do for the BBC where the Mycroft you don't know it's Mycroft at the time you assume it's some evil Sinister figure is talking to Dr. Watson, right? And he's reading the notes from his from his therapist. Right? And he says he says, you know, according to a therapist. This is what you're feeling and what you're doing and everything else. He's like, can I see your hands please?
And he holds out his hand. He goes you're under an enormous amount of stress right now. And your hand is perfectly steady.
You Dr. Watson are not suffering from post-traumatic stress syndrome because of the war you miss it. Right and I realized oh my God, like I miss this like this is what I do. it became something that became a core piece of how I just got through the day and coped was like no I need to go back to the war. I can't this this real-life stuff is interesting, but I can't do that. I'm going to
My games again and so that was that was what happened. I made games. I was frontline on games as a lead for eight years after that.
Fab:
So you stayed we've original for an eight years.
Frank Savage:
Well origin actually now so finished Wing Commander 3 went and then worked at Fox Interactive on the Mech Commander games. There was front line on both Mech Commander games there and that that time the second my commander game is actually finished at Microsoft.
Because Microsoft acquired the company and at that point finally after 10 years of marriage had a child and when when the child came, I realized I can't like I'm never going to see this child grow up if I keep doing this stuff. So that was when I changed jobs and went to work on the Xbox Advanced Technology Group stuff. And that was it was still steeped in game development. It was working with game developers getting their games to work on the console as best. We possibly could but
But like I could go home and I could leave work there and I could play with my son which was it was a different. That was that was you know, when I kind of ran all kind of fell into perspective, but it was you know, it was I'm amazed. I stayed married as long as I do.
Fab:
It's interesting to see that they are phases in life where we have different priorities and there are things you we were willing to do and sometimes we look back and like, how did I actually did it? Yeah, and it's it's amazing.
To see what the power of your mind what the sheer will can make you accomplish.
Frank Savage:
Yeah, because it was I mean it wasn't it wasn't you know, there's again there's a scene in Jurassic Park right where he says, you know creation is an act of sheer will right and it was we literally willed this into existence that team and we none of us was the same afterwards.
Fab: When a group of people go though so much hardship, they usually creates bonds. Do you still keep in touch with the team?
Frank Savage:Yeah some of them I did. Unfortunately Paul state has passed he was when I stayed very closely in touch with throughout most of it Chris and I've run into each other every now and then but you know, both of us have stayed busy and all of us actually wound up staying pretty busy or either either that or getting out of the games is this completely because it was just too much
Fab:
It is very taxing. It is extremely demanding.
Frank Savage:
I mean nothing would make me happier than to try and get like, you know, the folks that are left from Strike Commander back together again, and to remember some of the things that happened. It was just a different time
Fab:
and you guys could provide us with an endless supply of nice stories and crazy bug which are I think I find them so interesting.
Frank Savage:
Yeah, like they kinda like the weird part about it is I have a really good memory for this stuff, which is annoying in some ways, but.
Fab:
Yeah, that's what is amazing. You can you can you know all the names, you know all the numbers it's a yeah, you do have a good memory.
Frank Savage:
right was it was like changing at that time? Like it really really was I you know, you just don't you don't forget it because you lived it and it was such a huge part of your life and we just Yeah, they were there was a lot.
Fab:
Yeah, I think Origin did leave a mark. I think on the world of video games like all the products you guys shipped. Were very high quality was always a step up whether it's with the Ultima series with the flight simulator, Wing commander and then later on with Ultima Online. I think you have all the right to be very proud of what you accomplished.
Frank Savage:
Thank you.
Fab:
You made a huge difference, you know people say never meet your hero. I think this is wrong. It's been a delight to talk to you and Thank you so much for taking the time to speak because I know you're very busy, but I'm glad we chatted about it and in to not only to preserve history, but also to show people the amount of effort it took and
I hope you've if people get discouraged sometimes. I think they should keep in mind that to technology change, times change but it's it's always the same spirit to ship something. It's an incredible amount of sacrifice, efforts abnegation, teamwork.
Frank Savage:
Yeah, this still happens every single day in the game industry. This still happens every single day in the movie business. I've you know, I've been I've been blessed at being involved in both sides of that fence Wing Commander
Was very much a crossover between the movie business and the gaming business in a lot of ways and you know, it's funny like you I've been you know you watch making off things and you see, you know, George Lucas after some of my things are JJ Abrams after one of the things that he worked on and really poured his heart and soul into or whatever and we all look the same. We all have that that that stare of like it's done. I did it and it doesn't matter how many of them you do. it really really doesn't it's still the same feeling when you're done of accomplishment shipping. The Xbox's at Microsoft didn't feel any different than shipping the games. It was just as hard. It was just a completely different set of problems. So yeah, I wouldn't trade this for anything. I love shipping stuff.
Fab:
I think those are good final words for this pods cast. thank you so much.
Frank Savage:
You're welcome. There's a pleasure. Thank you.
^ | [1] | Reverse Engineering Strike Commander |
^ | [2] | Have You Ever Used One of These? |