Jane’s Combat Simulations – Baltimore
I didn’t work out the transition time as well as some others of the team. I remember there was something like I could have put in my two week notice and would have gotten paid for it, even though they had us leave or since they had us leave I could have started working sooner but I got a couple weeks of a break excluding a meeting or two at Greg’s house so it was OK.
There were a couple of field trips to possible office locations. All of them were fairly close to where MicroProse was. This made sense since we knew this was acceptable to everyone already. One of the offices had a restaurant I liked to eat at but during the late hours and weekends it was going to be a pain to get the climate controls set for human habitation. Also John said he felt like he’d be told, “Greetings employee 135692, are you ready to be productive?”, as he entered the building.
10155 York Rd. Suite 105, Hunt Valley MD. 20103.
Entrance view of where EA Baltimore office was on the bottom floor.
This is where we ended up. Our offices were on the bottom floor of this part of the building, not including the part sticking forward on the right side of the screen. Before we could move in though they had to renovate the office for us so for a while we were actually in the building just to the left of the picture. During this time things were pretty Spartan with just computers on folding tables and sitting on folding chairs. Every once in a while we’d head over to the other office and see how the build out was going. Below are pictures of Mike and Max at the temp office.
Mike McDonald working at temp office.
Max Remington working at temp office.
Also in the beginning we each had to keep a journal of what we were doing and what was going on. Nothing too specific but there was a concern that since we effectively left as a group that MicroProse might sue and say we took code with us and Legal wanted to be able to show how we got where we were. I’ve still got the book somewhere but I don’t remember there actually being that much in it.
Another interesting thing during those beginning days was just getting into the temporary office itself. The door right next to ours was for a place that dealt with people who were outpatients with mental issues. I forget the specifics but usually there were at least a few outside smoking that we’d have to get around every time we entered or exited the building. Nothing ever happened but sometimes there were some pretty weird vibes.
Well actually that’s not entirely true but this was years later after we had moved into the other building. Remember how I mentioned they liked to smoke? Well some of them also liked to wander. As they’d wander they’d toss their cigarette butts into the grass and bushes next to the sidewalk. Unfortunately one time due to a lack of rain things had gotten rather dry and one of the butts caught the hill on fire. Luckily John noticed it and ran to trying stomping it out while Mike grabbed one of the bottles for our water cooler in the kitchen. The bottle had a cap on top so it wasn’t putting out much water so they’re trying to figure out how to get the cap off while continuing to stomp on the fire and avoid catching their pants on fire. Eventually they got the cap off and soon the fire was out. This happened one other time but that time things went much smoother.
When we first started developing the game there were a lot of details to be ironed out. I don’t think we even knew which aircraft we were going to simulate. Well the eventual choice was the F-15E though in the beginning it was known as project “Big Bird”. One of the artists came up with the logo below.
Project “Big Bird” logo: Fun internal logo based on project code name.
While it says, “No Regrets”, I think we all had a few since we had left a lot of really good people back at MicroProse but as Fate would have it a number would come and join us.
Eventually the build out was done but there was one last thing that needed to be done before we could really settle in. Most of our office furniture came from IKEA and as you may know, “some assembly required”. We tried to be logical about it and instead of everyone working on their own office we split into groups and each group would focus on certain furniture types since each time you’d build something it would get easier. I don’t remember what group I was in, probably desks, but I definitely remember getting assigned the conference room table, one of the unique items we had. I remember it because, as sometimes happens, we got some wrong parts but they were close enough that it was hard to figure out. Eventually it worked out but after waiting all this time for the office to be functional it was one more delay.
For a while as others joined our team there was a rite of passage where they had to build their own office furniture, though we’d help as needed. Of course over time things changed and this included the details of how the IKEA furniture we were getting was put together. It looked about the same but it wasn’t so there was still some learning going on. Later on though they (I can’t remember who “they” were) would spring for someone to put the stuff together so the “new” guys didn’t have to put it together themselves. Wimps. Below are pictures of John and me during the build process.
John Paquin putting his office furniture together.
Putting my office furniture together.
There were a few other places we had looked at furniture. At one of these Mike walked up and said that we had to try out a particular chair. It was one of those high backed office chairs and while it looked nice it seemed a bit more formal than I thought the rest of the office would look. Still, I sat in the chair. Ohhhhh…. Very nice…. You sort of sank into it but not to the point that you didn’t think you’d be able to get out of it though it was so comfortable that you might not want to. It cost about four times what we could spend on an office chair but I think a few of us were tempted to do it anyway and pay the difference. None of us did but for a while we still spoke of The Chair. Actually it was more like, “The Chaaaaaaaair” in a tone of fond remembrance. I believe all of the office chairs came from Office Depot but it wasn’t the same.
OK, now we were ready to get going. Since we were working for Andy, who was in Austin at Origin, they put together a video conference setup for us. To save money we had 3 ISDN lines instead of a T1 connecting us. Initially this seemed like a good idea until they started blaming us for thousands of dollars in long distance calls. Nobody had any idea what they were talking about. We told them we weren’t doing anything like that but they kept saying it must be something we were doing. Well eventually someone figured it out. There was a particular issue with the network system we were using. I forget the details but it was something like if the network connection out of the building wasn’t being actively used it would dial the server in Austin, check in and then hang up and do it again a short time later. If the connection had been maintained it wouldn’t have been an issue but it was all the connections that were racking up the bills. It turns out it was a “somewhat” known issue and not an easy fix so I think they eventually just switched us over to a T1 line.
So finally it felt like we were part of a new studio but we hadn’t been idle before then. At this point we already knew we were going to do an F-15E game and had determined what features we were going to try for. Multiplayer and having a dynamic campaign were two features that didn’t make the cut and we knew we’d take flak for but given the timeframe we had and how much we were already planning to do we knew we already had an aggressive schedule. I can’t remember if head-to-head MP had always been down as an “if there’s time” feature. If I can find that journal it might say so I’ll try to look for it before I finish this. (Nope, I went through a lot of boxes but I think I might have pulled it earlier and put it some place “safe” which now I don’t remember.)
On a side note I’ve learned over the years that “aggressive schedule” equates to a lot of overtime. I should also note though that as far as I can remember I don’t think I’ve ever had to work any “mandatory” overtime, though sometimes it was encouraged. We did it because we had made a promise about what we would get done and were going to do whatever we had to get it done.
Anyway, since we knew we were going to be doing a flight sim there were certain things we could work on even when all the important details weren’t in place. The graphics engine had a good start and because I couldn’t start working on the AI until other parts were in place they had me set up the initial joystick code. This was also during the early days of DirectX so there was some learning going on. Once we knew which plane and location we’d be focusing on it wasn’t too long before we had a plane flying around in a world.
Another part I originally focused on was the mission builder since I had done the one for Fleet Defender. I made some good initial headway but there was still a lot to do and there was enough stuff in place so that I could start working on the AI so Mike took over that part.
The initial plan had been to try and have the AIs using the same core flight code as the Player. In this way we could definitely say that the AIs weren’t cheating. At first everything seemed to be going OK but the problems started as soon as I tried to have them fly in formation while in a turn. Now for a pure AI group I probably could have worked out the math enough for everything to be OK but for the Player, since I couldn’t be sure what he doing, things got a lot tougher. I had gotten it working fairly well, especially once George, who we had as a consultant again, clued me in on how to approximate how much bank you’d need to get a specific turn rate and maintain level flight. Still it was taking a while and there were some valid questions being raised about difficulties determining certain things in a dogfight and possible difficulties and time issues we might have tuning all the flight models of all the AI planes since there would be a lot of them and many would be very different. So eventually I got called on the carpet about it.
It was decided that we’d need a simpler flight model for the AIs and this would later prove to be a very good thing. In the beginning all of the flight models ran at a fixed update rate of 50 times a second. Even when the AI flight model was added it ran at the same rate. When we added in time acceleration months later it was pretty easy to get the framerate to start a quick continuing decline. If you have stuff that’s running at 50 times per second and the processing of that takes longer then that you run into a cascading problem where you keep losing more and more ground. One thing I did for the AIs was that depending on what they were doing and where they were I’d throttle back the update rate. I think there were 3 different levels with the lowest for when an AI was out of combat flying straight and level with no one around to really see them.
Even with that there were still times when we’d run into a problem. When I detected that I’d throttle back the time acceleration. I realized now that part of that was probably data loading when we were getting to a new area and should have stored off the desired acceleration and if the framerate got back to a certain rate start trying to bump it back up.
During the beginning of JF-15 we also got to go on some neat field trips. One I got to do was down to Langley Air Force Base in Virginia. We were able to talk with some of the guys from the 71st Fighter Squadron, the Ironmen. They also allowed us on one of their simulators for a bit which is always neat. Andy remembers this from his time on it:
“When I flew the sim at Langley, I did complete fire-up and takeoff with no assistance from the operators. This was based on months of studying the ‘Dash-10’ Ops manual. I seem to recall also putting the IFF into a classified mode. George gave me the evil eye when I did it.”
One really cool thing was that they did a practice for a solo air demo for us where we were standing with the guy doing the narrating. I remember that even with all the awesome stuff around us the act of stepping over the yellow “unauthorized personnel may be shot line” to get to the viewing area definitely makes you focus more on staying with your guide. The atmospheric conditions were such that every time the F-15 pulled a fair amount of g’s it would get a cape of vapor across the wings which I hadn’t been expecting. I think somewhere I still have the tape from that. If I ever find it and if it’s still in decent shape I should put it up on YouTube. When checking to make sure I had the right base I was sad to discover that the 71st was inactivated on September 30th, 2010.
One amusing thing happened while we were in the building where we flew one of their simulators. Computer Gaming World had recently put out an issue where the focus was on “Gaming Gods” and Andy, who had joined us for the trip, was one of the feature developers with a prominent picture and everything. Well as we’re leaving one of the guys who works there comes running up and asks Andy if he’d autograph his copy of the magazine, which he did. Afterwards I think there was a little good natured teasing going on.
Some other good memories from the trip was getting to eat on the base, I think at the Officer’s Club (thanks George!) and learning a little bit more about the finer points of Crud . In case you were wondering we didn’t partake of the drinking portions ourselves. I believe each squadron had their own Crud table but the table where we had lunch was particularly interesting. First off I remember it was a bigger table. The second thing was that the room it was in was just for Crud and the walls were lined with sandbags. People had written on the sandbags but I can’t remember if it was names, locations or squadrons. Here’s a related article though when testing the links to make sure they still work I found they want you to register to read it (though you sort of can). While this one is about Nellis, the room looks like what I remember Langley’s looking like.
Afterwards we went back to the hotel and had a meeting to go over what we saw. Since the weather was great we had the meeting in the hotel’s pool. Andy took a little longer getting there so the rest of us were already in it when he arrived. Putting down towel he jumped right in. The smile on his face was quickly replaced with a look of realization. He had jumped in with his pager still in his pocket. Later on we stopped by a camera store to hit it with some compressed air but while it would power back on it wouldn’t work correctly.
One thing that wasn’t as enjoyable was the long drive down and back. The real problem was that there were five of us in the car. While this car could “seat five” I think “seats five comfortably” would be a bit of a stretch. This was especially true if you were in the middle seat in the back where you also had to deal with the hump over the drive shaft and I got to spend a lot of time there. Still, it was definitely worth it.
Another trip was to Seymour Johnson AFB. Andy remembers this from being down there:
“During one Seymour Johnson AFB tour, they set up a nice display of ordnance at what they called the ‘bomb dump’. Inside of the building were laid out examples of everything the F15E was currently carrying. All the bombs and missiles, including a couple of surprises. We got our first glimpse of the AMRAAM before it ever used in anger. And then, over in the corner, not on display, was something I recognized from Jane’s pics. Nukes. I didn’t say anything, though but am fairly certain as to what I saw.”
Another thing that Andy remembers is that every squadron had “challenge coins” and that they were given coins when visiting several of the squadrons. They’re called challenge coins since someone at the bar can challenge the group and if you don’t produce your coin you have to buy a round.
Andy’s Challenge Coin.
I wasn’t on that trip but there was one thing that stuck out in the meeting we had upon their return. There were two guys that they had spent some time talking with. One of them kept adding “ish” to the end of things he and sometimes his partner were talking about. I don’t remember specific examples but it would be like if I said I was driving down the highway at 65’ish miles an hour. They probably weren’t supposed to give exact details for security reasons and wanted to make sure we understood that. We nicknamed him “Ish”.
Stuff like this was fine with us and we had a standing rule we’d lay down when dealing with the military that that if we ever went into an area they were uncomfortable with just let us know and we’ll skip it. Sometimes when talking with George he’d say something was a grey area and we’d move the conversation elsewhere. Mike told me during one discussion he made a leap of logic about the eventual abilities of a system and gathered he had stepped beyond grey and never mentioned it again.
We developed another rule. Some of the people who would work on the projects had knowledge not available to everyone. If there were things they wanted to put into the game they had to make sure there were at least two public sources that could be referenced. We have a lot of respect for the people serving in the military and didn’t want to do anything that might put them at any added risk.
John Paquin shared with me this particular remembrance from JF/A-18:
“We had CJ who had intimate knowledge of the radars, and we had Matt who had been at the CIA and knew about the information systems. So when I was doing the part of the A2A radar that identifies enemy planes by their radar signature, I had put something in and said to CJ ‘Is this how it works?’ he looked at it then went into Matt’s office and closed the door (something we never did unless we needed privacy). They were in there for 10 or 15 minutes, and then CJ came out and said it would be fine. I learned later that what I had put in was close to what the classified system actually does, and they needed to discuss whether it was too close to ship with, but they couldn’t tell me that (because then I’d know what the real system was like).”
This seems to be a good time to mention another place we’d get our information from, manuals and books. This had already come up in Andy’s story about knowing the F-15E start up sequence from the Dash-10 but he also has a collection of Ops manuals from almost every fighter and helo in the US arsenal from that period. I remember going through a few different ones myself during development. Due to the “Freedom of Information Act” we were allowed to have them but going through the official acquisition process can take forever. I think on some of the projects that process was “shortcutted” with connections.
Also being under the “Jane’s” brand we had access to their stuff. Of course the books and such are available to everyone, for a price. I remember being around when we received one shipment from them. While other members of the team are seeing what we got I took a quick look at the invoice. Looking down the price column my mouth dropped open. I forget exactly how much the subtotal was for but I’m pretty sure it was in the 10’s of thousands of dollars. Visions of someone in EA accounting going ballistic are running through my mind until I see the final total, $0.00. Yeah, this “Jane’s” thing definitely was going to have its advantages.
Another trip I got to go on was down to Origin. It’s always cool getting to see another game studio and this was no exception. Even just getting there from the hotel had its interesting moments. I had been warned about this one steep hill that I would have to go down and even still it caught me a bit off guard. I can’t remember where it was so I could look it up on Google Maps. I do remember going over the crest of the hill and the car tilting down, and still down and a little more down, and thinking, “Well, this must be that hill“. I also remember hoping my brakes would make it.
The whole Longbow team was cool and I had a good time hanging out with them and talking about things they had done. I particularly spent time with TK talking over AI related topics. One thing that I really liked, which I brought over to JF-15, was that the streaming AAA, like the ZSU-23-4, would initially shoot in front of the Player. This had two advantages over just firing directly at them from the start. The first is that it’s really frustrating to get shot out of the air without any warning and could keep the Player from enjoying the game. The second is that if done just right it creates this great moment of drama where the Player is surprised to find himself flying straight towards a fire hose of death and that he has just enough time to do something about it or be sliced in two.
Speaking of drama I had my own bit the first night at the hotel. I found myself waking in the middle of the night to the sound of people out in the hallway. I couldn’t tell what they were talking about but from the tone you knew something was up. After a bit I thought I probably should make sure it wasn’t something I needed to be concerned about so I got up and walked to the door so I’d have a better chance of hearing things and could look out the peephole. Squish! As I got up to the door I stepped into some really damp carpet. Well that explained it; there was a blown pipe, flooded toilet or something of that nature. Nothing to worry about in the short term but I made sure all my stuff was off the floor and nothing electrical might become an issue. I also put my stuff together in case they suddenly stopped by and moved me out of the room. Fortunately that didn’t happen so I was able to get some good sleep but they did leave a message and I moved the next day. The rest of the trip went well and I was really glad I had a chance to go.
Back at the office we were really getting into things. As mentioned we hired more people but besides that it becomes more of a blur. Since I’m not positive about time frames this is probably a good point to put some more general stories. First we’ll get back to tales of cardboard standees. We had a couple around the office. Mike had one of Bartles and Jaymes. I forget if there were any particular where’s and why’s of their arrival but they were pretty well behaved.
The next one we had was of Bill Stealey. While he was running Interactive Magic he had ones made up of him in his flight suit advertising one of his games. Some of the guys were able to get one from one of the local software stores when they were done with it. At one point we were doing some straightening up and someone put it in the shower to get it out of the way. Unfortunately the people that we had cleaning our office didn’t know about this and some poor lady pulls back the shower curtain and… Well at least Bill was smiling and it wasn’t the Airborne Ranger I ran into.
Another Bill standee took a little bit of abuse. One of the guys was at a Border’s Bookstore where they had one near the entrance to their software section. They saw a former MicroProse employee walking by it. Suddenly… POW! The guy had punched the standee in the face folding the head back. The nearby sales guy had a shocked look on their face probably wondering what just happened and if he needed to worry about anything else.
Bill’s standee wasn’t the only thing that got stored in the shower. Someone had received some Mylar balloons for some occasion. It turns out that Mylar balloons and motion detectors don’t go well together. When the heat or AC goes on the air currents cause the balloons to move around and we’re getting calls about a disturbance in the building.
They weren’t the only thing to trip the alarm. Since I lived the closest and knew the alarm system, including having to deal with it when it got fried by a storm, I had to respond to some (though not all) of the calls we got. One time I got a call on a Saturday morning. Fortunately it wasn’t too early. When I got to the office a police car was waiting outside. The officer said she’d wait outside while I looked around. I came really close to asking if she was kidding but didn’t. I was actively taking Kenpo at that time but I really didn’t want to put it to the test.
So in I go hoping it’s the usual nothing. Everything seems OK and I’m not hearing anything suspicious. After a quick initial pass I looked around a bit more and find that one of the AC units in the ceiling had been dripping moisture and it had soaked a corner of the acoustic tile which had sagged and torn off. I was guessing it was that falling which triggered the alarm, although it did seem a bit of a stretch.
I went outside and told the officer that everything looked OK and then I headed back in to clean up the mess. So I’m picking up pieces of the tile and throwing them in a trash can when, “whoosh”, something goes whizzing by my head. It scared the heck out of me. I looked around and saw a bird perched near the ceiling. That I definitely could see triggering the alarm. I went outside to give an update and then spent a bit of time trying to convince the bird to leave. Fortunately there was a door near Max’s Office and I was eventually able to convince it to leave without any other creatures deciding to visit.
We had some other wildlife in the office as well. John P. reminded me that he used to enjoy opening the door he had to the outside and sprinkle some bird seed and watch the animals that would come up to eat. There were two chipmunks in particular that used to like to come into John’s office which he had fun watching. One day though they got into a fight and he kicked them out.
Max on the other hand wasn’t as keen on such things as was worried about mice getting into the buildings. John remembers people thinking Max was worrying about nothing but it turned out he was right. The first indication was when Max turned on his computer one morning and it fried. The thing about his computer was that a faceplate was missing in front of one of the areas you could put a drive. A mouse found this and thought his computer would be a prefect place to build a nest. While the mouse wasn’t in the computer when Max turned it on the nesting material was not beneficial to the continued operation of his system.
After that we started finding other mice indications. I had a plastic sealed muffin sitting on my desk. One had gotten to the back of it and had eaten (and pooped) a bunch behind it but not where I could see it from where I was sitting. Luckily someone else noticed it before I found out about it the hard way. I forget where else they showed up but it was evident that something needed to be done.
First we went with a glue trap. It was successful in catching a mouse but we’re such softies that the guys tried to let it go. John, who was riding a motorcycle at the time, put on his cycles gloves and tried to get the mouse unstuck. Well in a classic sitcom moment one of his gloves got stuck to the trap as well so we have the mouse freaking out as John is trying to free his glove from the trap. We switched to a humane trap after that and eventually evicted our uninvited guests.
Now as you might guess we weren’t all about work, we had our fun moments as well. After hours or during lunch when we weren’t crunching we’d sometimes play games. Mario 64 was finished as a team effort (unfortunately the cartridge with the saved game was eventually stolen). Multiplayer games were also popular. The top of the list were Rogue Spear,Outlaws and Duke Nukem 3D. For a while in Duke one of the artists didn’t know how to change weapons or how to use pipe bombs. Some of the other guys used to like to throw pipe bombs at him so when he’d run over it, it would automatically be picked up and he wouldn’t know what to do.
We weren’t all video games though. Ping pong was another popular game. Also there was a kid’s ball throwing game that actually was pretty large once you unfolded it from the box. We’d stand back a certain distance and go for a certain score. One value even had a return chute and if the ball made it back to you it could be thrown again.
There was also a barbecue grill that someone had been given and we would have cookouts in the area behind our office. This area was actually surrounded by all the buildings of the complex and I’m glad we never had any complaints from the other companies or issues with a fire marshal. Some of the people in the office above us actually joined us once or twice and a second grill showed up.
During F-15 we were directly part of Origin so we’d get copies of the company emails. One thing we used to joke about was when they’d list the hours the masseuse would be in. I’m guessing this would be a situation where people would pay for their appointments but I was never sure. They must have heard about our joking though since one day they got a masseuse to do chair massages for us. In this case there was no charge to us so we all thought this was great. So eventually it’s my turn. I close the door to my office; she puts some soothing music and starts the massage. Nice and relaxing… <knock> <knock> <knock> Someone needs me to answer a question. Getting it quickly out of the way it’s back to the massage… <knock><knock><knock> I sigh. “Go away!” I said. They didn’t listen. Another question from another person. Not the most relaxing massage I’ve had. Well it’s the thought that counts.
Another memorable time was when Richard Garriott came up for our Christmas party. He’s a great guy and it was fun getting to hang out with him. At this time he was preparing for a trip down to Antarctica to look for meteorites. He wanted to stay in communication with people while down there and so was researching satellite phones. That was one of those, “I hadn’t really thought about it“, problems which in hindsight makes a lot of sense. He was eventually successful and during his trip I think he stopped by a base and used it to show them Ultima Online which had launched that September. Richard also came up for an offsite brainstorming meeting we had after JF-15 had shipped.
Working for EA had other perks. I had forgotten about this but John reminded me. To help promote the Jane’s brand EA had a stunt plane that would fly routines at air shows. They actually let some of the team go up in it and the pilot let John do a barrel roll and ½ a hammerhead stall. Here’s what Andy remembers about his time in the plane:
“When they came to Austin, we took the group out for a day of rides. I had my private pilot’s license at the time and knew that airport and the surrounds, so Chuck gave me extra freedom during the flight. I did the take-off, which surprised the crap out of me when I hit the throttle hard. Plane wanted to walk sideways right off the runway due to engine torque. Some major rudder action got us back straight for the rollout. Then, after clearing the field, I was talked through a huge loop where I almost over-g’d the aircraft (6g’s?) and then a Hammerhead. Awesome. Then Chuck took over and did some kind of inverted spiral maneuver where I experienced grey-out first-hand. That was useful for later visual effects in our games.“
Andy also let me know that Chuck Lischer, the pilot of the plane, had passed away in 2006 while flying a Microjet to help calibrate a radar tracking system. Here’s a write up by a friend of his. As Andy said, he died doing what he loved. Here’sa video of Chuck flying the Jane’s F-260.
Worked continued and a lot was happening. CJ was creating a lot of good missions and was using what was known about the Iraqi air defense network as the basis for his default mission template. Unfortunately he was too accurate and had put down as many as he could. The Iraqi’s had tens of thousands of guns alone. He guessed he had about 80% of the gun emplacements and 95% of the SAMs. Smaller missions had been run without problems but when it came time to start using the missions with the full defense network the framerate took a dive. There were just too many objects in the world for the graphics engine to be able to deal with. To make things even worse when you put down something like a SAM site it wasn’t just one object, it was a collection of objects. Each missile, radar, control vehicle and other such things were their own individual object which could be targeted and destroyed. This wasn’t really CJ’s fault. He had come from the Defense industry and no one had told him what the limits were and he didn’t know to ask. On the flip side I think we were so used to automatically keeping this in mind we forgot it wasn’t common knowledge.
To fix this one of the programmers put in code which would cull objects throughout the world. I think it didn’t take whole units just parts of them. If something was a goal then that was supposed to be skipped. I believe it worked in general though did add a number of bugs to be fixed and some people did notice what was going on.
Along the same line Chris had also wanted to put a bunch of major power lines in since they were a major aid to navigation. Even after spacing them out the frame hit was too great and eventually he had to scrap the idea. Someone had actually posted a quote where CJ talks about both of these on the Wiki entry for JF-15 but it was later removed so this link is to an older reversion of the entry. I tried to find the original quote but didn’t have had any luck.
As we worked on JF-15 there definitely was some serious crunch but it was worse during JF/A-18 so I’ll skip that topic for now. Eventually we got to the point where we needed QA. The most testing was happening down at Origin but they sent a few guys up to work with us since it’s a lot more effective to be able to talk with guys directly if there’s difficulty reproducing a bug. Like the guys we worked with at MicroProse these were pretty good. There were the usual “cannot reproduce” and “as designed” moments but especially since we had never worked with any of these guys before I think their team impressed all of us. Of course there was that one incident where one of them broke either the top of the toilet tank or the seat…. (We’ll come back to this.)
After a lot of work we’re finally almost finished making the game. This is a good thing since our due date is also fast approaching. During the last few days we switched into “buddy coding” mode. No changes were made to the game without at least two people involved. The first is the guy making the changes and the other is the guy he’s explaining every step of what he’s doing and why he’s doing it. Since we were all really tired this gave us more of a chance to catch stupid errors and also forced us to slow down a bit and really think things through.
So we’re down to the last day, well actually night. I think we had already sent off what could be a final version but we could “next day” another version if we needed to. With almost no time left a crash bug popped up. This is not what you want to have happen when time is running out. I believe it was just starting up some part of the game as opposed to having to do specific steps to get it to happen. I can’t remember if it crashed on my machine initially or someone else’s but one way or another I think I got it to happen on mine which allowed us to see where the problem was. Even with that I remember it didn’t really make any sense. Still from what we could see there was a check I could put in which might catch it but since the bug was so rare testing might not be able to prove it and we might add a whole new bug. With the clock ticking down to the go/no go point the decision was made to put the change in (buddy coding fully in place) and test it as much as we could while the new master was being created. Nothing popped up and Mike and I headed down to the FedEx center near BWI which was the only place were it would still go out that night and even that we were pushing our luck.
That reminds me. While our run down to FedEx was exciting I remember hearing at MicroProse of them giving a final version to someone in QA and buying them a plane ticket to get a version to where it needed to be at the last minute.
Even though I knew there would probably be a patch I was still worried about this bug. Excluding that I think we had cleared out our bug list and this was a heck of a bug to suddenly show up. If you’re wondering how we could let the game go when it potentially had a crash, we weren’t really. I’m not sure if it’s still true today but once a product has left the team as being done it got sent for one more bit of testing. The game is given to a new test team that has never seen it before. Essentially they’re going to be in the same situation as the customers. They’ll hammer on the game for a week. At the end of that time they determine if the game is OK to ship. If they don’t think the game is ready to ship it goes back to the team to fix the bug(s), followed by more in house testing and then another week of final testing. Andy gave me a little bit more information on this:
“Second set of QA tests you mention was EA’s White Glove process on a fixed set of machines of widely varying configuration. The goal being to sniff out weird customer problems that might show up right at release time. They had a bunch of what had proved to be oddball combinations. We later learned to pre-submit to those guys so we wouldn’t be surprised at the last minute.“
Since I mention patches above this is probably a good time to mention that they also went through harsh testing as well. We got some heat about how long it took to get patches out but with the testing process they had to go through you couldn’t do a bunch of quick ones. For every patch they had to retest the entire game not just the stuff that was fixed since the fixes could break other things.
In case you’re wondering, the crash I put a check for never showed up again. I don’t know if it was due to my fix or maybe there was no bug and my machine was having issues and just needed to be rebooted. I still occasionally have weird things happen which permanently go away after a reboot.
There was another crash though that did show up once the game went live but we could never reproduce it. The only way we were able to fix it was to send test executables to some of the people for which it was happening. I wasn’t working on this part but I believe these would update a file with where they were in the game. When the game crashed they’d email us back the file and they’d create a new exe that narrowed the update region. Eventually they zeroed in on the code where the problem was. For some reason some set ups didn’t like that bit of code while others didn’t have a problem with it. Changes were made and sent back out and eventually it worked on all machines. Working on systems with different configurations and drivers does make things interesting. We’ll come back to this in a bit.
Well for a week we’re dreading every time the phone range fearing the game might have failed the external testing and we’ve got to do more work and have missed our deadline. Everything turned out OK though and it was time to celebrate. The team, their wives and QA all went out for dinner. One tradition was the handing out of call signs. This was something I think George started back at MicroProse during F-15III, and it might have a history before that, but we hadn’t done it during Fleet Defender. The person who’s getting the call sign takes a shot of Jeremiah Weed, holds the glass on the top of his head and is given a call sign. The place we were at wanted a really high corkage fee for even this and we were in our own room so we just snuck it in.
Since I don’t drink they just gave me water. In hindsight I wish I had taken the drink but c’est la vie. My call sign was “Mom”. I’d do the shopping for work making sure we had sodas, some snacks and during crunch there’d be more substantial fare. Another call sign was “Popcorn”. This was due to a few bags of popcorn meeting unfortunate demises after being left in the microwave too long. Burnt popcorn in a small office is not pleasant. I don’t remember any of the other call signs right now but there is one of note from F-15III which is where I initially heard about the tradition. My friend was giving the call sign “ICY”. He could fly the game really well and so everyone’s thinking it’s due to him being such a cool sim pilot and all that. Then he’s told what it meant, “Inner City Youth”. He was quite amused.
Speaking of amusing Andy sent me this link and under this “History” section they talk about Jeremiah Weed and CRUD. Hey, it’s on the internet so it must be true. 😉
Another thing that happened during the dinner was we bestowed a gift to QA. I’m sure they consider it a precious gift worthy of song and story. Remember I had mentioned the toilet that was broken? We had bought them a toilet seat which the entire development team had signed. Yeah, we’re all heart.
So JF-15 has gone gold and everything is looking good. We’re hoping for some complementary time off but the guy who we need the OK from was on vacation. One of the heads of EA even stopped by since he was in town talking to Firaxis and was surprised we were all there. Since we weren’t really sure what we should be doing and people were starting to play the game we took a look at figuring out what we might need/want to do for the patch. I think we also did the demo after the game was released. I remember having to help with the choreography of it, since it was AI driven, but I can’t remember the details. I wonder if anyone will ever post a run of it on YouTube.
I had almost forgotten about something until I was searching for some other posts as a reference. We had some Easter Eggs in the game. There was a drive-in movie theater showing the Longbow II opening or something similar. Another was a giant pail and shovel with footprints leading a way. Noah’s Ark was up in the mountains. Then you could “MEET_SMUT”. Assigning this to your keyboard would cause your plane to turn into a flying pig with an aviator helmet, goggles, jacket and a machine gun. This was in reference to CJ’s call sign in Warbirds with a group called the Flying Pigs. Unfortunately Jane’s found out about it and was rather upset. Considering that meeting Smut had you meeting a flying pig I didn’t really understand the big deal but I guess they have a reputations to consider. Oh well…. No real Easter Eggs for JF/A-18 though.
In general people really liked the game and the reviews were really good. We did have a patch but a lot of it was tweaks and enhancements and we got positive comments about how finished the game was out of the box.
One of the things I worked on for the patch was trying to improve the dogfighting logic. During testing it seemed to work pretty well but now that it was getting played by a lot of people who had a lot of stick time and different styles of fighting some good suggestions were coming in. In particular there were a number in regards to when things got within guns range which I hadn’t had a lot of time to focus on. We recruited some people from the forums to help out, one of which being Pierre “PAPA DOC” Legrand who was one of the regulars on the forums and particularly well known in the Flanker community at the time. He had even helped the demo of that game during the E3 of 1998 and the devs had given him a pink Flanker, he named the Pink Flamingo, to use in the game in honor of the birth of his first daughter. From the feedback on the forums after the patch they seemed to like the improvements.
“Is it just me or have those AI planes taken a liking to me more?”
Another person who helped out with JF-15 was Sean Long, a friend of CJ’s who actually flew F-15Es. He had stopped by to help during the development of the game but these were in areas different from what I was working on so I didn’t have any stories to add earlier. There’s one thing I clearly remember happening once the game had been released. The way our plane flew was not what a lot of people were expecting from things they had read or seen elsewhere. Many times they were confusing the F-15E with its fighter brethren and not taking into account that you have to factor in what the plane is carrying and what altitude it is flying at. I eventually saved off a post where I passed along flight envelope information we had from one of the official F-15 manuals since it would come up again every so often. Still people thought we had it wrong but this didn’t really surprise me. The thing that I couldn’t believe is when Sean posted that the aircraft wouldn’t perform the way they were expecting and explained why. They came back and told him, a guy who actually flies one and whose life might depend on getting maximum performance out of the plane, that he didn’t know what he was talking about. Some days the forums were a lot harder to visit than others.
While this happened a while later this seems to be a good place to add this story from Andy:
“Another story… a year after the product shipped, I was at an air show in Austin where some of the crews from Seymour Johnson were on hand with F15E’s. I saw one of the guys we had worked with who was a backseater by day, but an avid computer gamer at night. I asked whether he’d seen the shipped product and he said it turned out great. But when asked if he liked to play it he answered, ‘Nope. Too much like work’. I guess even flying fighter planes can get old when you do it all day.”
This reminded me of a similar story but I can’t remember which game this was for. This had to do with a pilot who flew a different type of aircraft than what we were simulating. He really liked the game and thought we did a good job but he had to give up playing it since it screwed up his scanning pattern when he’d go back to active flying.
Well now we were done with patching and it was time to get onto the next game.