Wolfenstein Diary

Back when I had just been put in charge of production on the Raven/Id project Wolfenstein, I started a diary I had mentally entitled "Wolf T-365". I started it on November 13, 2006 and the ship date (at the time) was November 13, 2007. That...uh...was not when it shipped. In fact, I never finished the year of diary entries because I was moved off the project well before it was done.

I can't apologize enough for the rough content herein. I never revised my work when originally writing the diary and I'm doing my best to present it verbatim for posterity's sake -- and to maximize my own embarassment. You'll have to figure out the players and events on your own, as we are picking up the story -- shall we say -- in the third act of a five-act play. Evidently, back then I was even more condescending and self-absorbed than I am now. So, yeah. I apologize. I hope you enjoy it anyway.


Thursday, November 30th

            I only worked until lunch today – Ellie needed to head in to the office so I offered to take care of our girls for the afternoon. We ate at the noodle place for lunch (our girls love the macaroni and cheese) and then went shopping at daddy’s favorite store, Menard’s.
            When I first checked my inbox this morning I found that Matthew had responded to my, “Are you absolutely 100% sure we can move ahead with the ETQW tech?” email. He said that since Adam and id were onboard the only way we would turn back from this approach is if we found something in the source code that made us think the tech wasn’t going to work out. My opinion is that this alternative is so much more attractive to Raven than anything else, that if we cracked open the Enemy Territory source code and found that it had been written by penguins we still wouldn’t want to turn back.
            I puttered about for a while talking to designers, making sure they had everything they needed to do their work and setting up meetings to get their questions answered, then I left to pick up my girls for lunch.


Wednesday, November 29th

            Winter’s starting to move in. It’s been in the 50’s for the past week (which is unbelievably warm for November in Wisconsin), but today marked the beginning of a 30-degree decline that’s apparently going to stick around for some time. It started raining today, too, and the cold and wet has combined with the tail end of a bad cold to render me nearly unconscious with sluggishness this morning. I shall endeavor to press on heroically, nonetheless.
            During our leads meeting this morning I got to lay into Mike, our lead game programmer, for not having a schedule that reflects a number of important tasks. I really shouldn’t be so sadistically exultant about such things, but the rush one experiences upon telling someone they have to rewrite a schedule is akin to the absurd self-satisfaction of cutting in front of someone trying to merge onto the freeway. You really shouldn’t do it, and you certainly shouldn’t enjoy it, but you just can’t help yourself. At times the dark side of human nature reveals itself in bizarre ways.
            Immediately following our meeting I got on the phone with Matthew, our producer, for a solid hour, most of which was spent rabidly complaining about the lack of a solid direction for multiplayer – like it’s personally his fault. He was quite patient with me and when I finally stopped for a breath he admitted that, even though he was previously aware of the urgency of the situation, he didn’t know how urgent until now. It’s entirely possible he was telling me what I needed to hear to finally stop talking, but even if he was insincere it was still good to hear some sense of acknowledgement and validation. He informed me that he was going to do all the pushing he could on his end to get a yes or a no on the subject of using the ET:QW engine for our multiplayer.
            That wasn’t the only thing we discussed, mind you. I also painted an appropriately dismal picture of the status of our departmental workloads, from Art (still pretty much on top of things but stinging from the recent departure of one of our two high-poly modelers) to Animation (doing fine now but they’ll be totally swamped by AI requests come March) to Audio (3rd party sound system = horribly broken) to Design (remember yesterday’s dissertation on the January Contingency? Yeah.) to Game Programming (“We can’t get the game finished without another programmer.”) to Tech Programming (stretched beyond the capacity for rational thought). Surprisingly, Matthew responded pretty well to all of it. I know if I had tried to explain something like the January Contingency to Adam he would probably have burst a blood vessel, so it was nice to hear Matthew say he was glad I was looking down the road and planning for likely difficulties now instead of after they occur.
            Shortly after that call I had my weekly one-on-one meeting with Brian. I only had two topics on the agenda: the second was the future of our design team management, the first was – and you’ll find this hard to believe – multiplayer. I informed him that I had spent most of the past hour stressing the dire nature of our MP situation to Matthew, to which Brian replied, “Good. I’ll call Adam after we’re done talking and we’ll put some pressure on this thing from all sides.” I wasn’t sure what else we could do at this point so I let the issue go for the time being and we briefly discussed the design team structure.
             Brian was still interested in figuring out how to get Jon to take more of a role in the direction of the designers. They weren’t getting enough documentation and proper layouts ahead of time, they weren’t always getting the art assets they needed, and their progress wasn’t being tracked closely enough. But Jon’s been completely inundated with GDD updates, meetings with programmers about gameplay implementation, story discussions with our writer, and designing everything from enemy types to rewards to the reputation system. Brian’s idea was to bring in Eric, another project lead with a proven track record and fantastic skills in both management and design. The idea has yet to be fully fleshed out but it’s something like, “Working half-time on his own project and half-time on Wolf, Eric can take over a lot of the top-level design that Jon’s been responsible for, then Jon can essentially be Lead Designer for a while and get the designers on the right track.” There’s a lot of potential in such a scheme to do more harm than good so we’re all going to meet again on the topic some time next week to figure out how best to proceed. This was the first time in the history of the company that a project lead had been pulled off his own team (even part time) to help manage another game. Words don’t accurately convey the full depth and length and breadth of badness that a project has to face to warrant such action.
            Later in the afternoon I was about ready to head home when I saw an email from Matthew. It turns out he’d been beating the bushes at Activision and was on the phone with our contact at id figuring out what it would take to push through our idea of using the ET:QW tech. His email said, “On the phone now. More soon.” I desperately wanted to hear the, “more,” so after our Wednesday night church service I went so far as to duck into the church office and check my inbox. There was a string of emails from Matthew and a few other Activision people indicating that we had the go-ahead from id and everyone else to make use of ET:QW. I replied to Matthew and let him know that I wanted definite word that we weren’t going to get torpedoed before moving ahead. I could just imagine someone telling us a week or two later, “Well, we thought for sure we could get started but it turns out there’s a legal issue and yadda yadda yadda we can’t use the tech any more.” Egad, I’ve become pessimistic.


Tuesday, November 28th

OK, remember how our producer had talked with id and it sounded like they might be cool with us using COD3 for our multiplayer? And how I said all we’d need is a miracle for id to review the code, give it a thumbs up, and all of the contractual agreements to get worked out? Yeah, well imagine the opposite of a miracle. I’m not sure what that would be, exactly, but picture something along the lines of a battleship showing up to help the rapidly sinking Titanic by lobbing a barrage of 18-inch shells into the passenger-laden stern. We found out today that Activision decided they would under no circumstances let id see the code for COD3. There would be no review of the engine, no agreement for us to use it, and no simple answer to our multiplayer problem.


All was not lost, though. We received new information on a different alternative for an off-the-shelf, tri-platform, client/server-architecture-so-id-would-be-happy, MP solution. Nerve, Splashdamage, and Z-axis had been slaving away for months on this little title called Quake Wars: Enemy Territory and it seemed as though we might be able to make use of their tech. We had heard pretty grim things about their progress in recent weeks but id gave us reason to believe the title was in much better shape than we originally thought.


For all of you enterprising souls trying to keep track of this drama at home, recall the list of eight multiplayer development avenues that we had already explored, nixed, or headed down with great uneasiness. They’re handily listed back on the entry for the 17th, in case you forgot. We had now been given a ninth option to look into. My gleefulness was, shall we say, less than effusive. In fact, “absent,” would be a more appropriate term to describe my optimism. To me, this was just a new verse of the same song and dance we’d been exposed to for months. Maybe that’s too harsh. We’ll all find out together.


On a more upbeat note – mind you, Hindenburg footage is more upbeat than a description of our multiplayer situation, so I really haven’t said much, here. Nonetheless, on a more upbeat note, I say, there had been some discussion about rearranging the schedule for the five members of our design team slated to work on the Cannery map next. Actually, “work on the Cannery,” isn’t the best phrase. “Revisit,” is a better word and therein lies the rub: that map had been a royal pain in the ventral orifice earlier in development and nobody wanted to work on it again so soon. As a result, I got to shift it further down the pike and move around a few other maps to produce Revision 9 of the design team schedule. This sort of exercise gives me a perverse sense of joy because it’s akin to rearranging a dozen elephants to get them to fit more neatly into a shoebox. Sure, I’ll do it, if you like. But, guess what? The lid is still not going to shut. I try to hide my pessimism with politically sensitive terminology when discussing the schedule with Jon and our producers, but I’d like to believe I’ve made my position clear with everyone. Too much work, not enough time.


I had recently had another talk with Jon on this very subject, in fact. I reminded him that we had not yet hit a single one of our internal scheduling goals for any of the maps we’d worked on. I pointed out that it was entirely likely that after a few more months of development we would realize that we still were not on track to get any of our maps to Alpha status in the time allotted. It was at this point in the conversation that I suggested the January Contingency.



I can totally see why people like Tom Clancy and Robert Ludlum have churned out so many spy-thriller novels. When you type something like January Contingency you just don’t want to stop. It feels pretty cool. You should try it some time.


The January Contingency basically says, “Let’s look at the state of our current in-production maps at the end of January. If they are as far behind schedule as every other map we’ve worked on, we take a few weeks to perform Disaster Recovery on our most woefully incomplete maps, cut two more story missions, and move on from there with a revised schedule.” The best part of this plan, frankly, is that nobody else thinks it’ll come to that. I told Jon, I told our boss…neither of them thinks this will ever be necessary. But here I sit, clutching the spread sheet labeled Design Team Schedule, Revision 9, January Contingency in my sweat-drenched, figurative little fist, waiting for the day I can lay it on the table in a carefully choreographed, beautifully executed, once-in-a-lifetime I Told You So. And only you and I know it’s going to happen. Hee hee hee.

Monday, November 27th
I forgot to mention this fantastic email we got from our landlord right before Thanksgiving. We’re in this brand new building that’s not even two years old and the property changed hands a few months back. It appears as though the new owners are really picky about fire hazards and the general safety of their tenants. While it makes sense to me that they would disallow the use of toaster ovens and fondue pots in cubicles and offices, I thought it was going a bit far to preclude the use of lava lamps. Hello? Do you even know what we do here? We’re game developers, for pity’s sake. Of course we have lava lamps at every other desk. It really should’ve been abundantly clear to me that the landlord does not, in fact, know what we do when I read the line about personal electronics and home entertainment systems. Hmm, I’m pretty sure the eleventeen hundred 360’s and PS3’s we’ve got scattered about the place would qualify. The kicker, though, was the fact that we’re not allowed to use extension cords. Right. We wouldn’t need any of those unless we had eleventeen hundred 360’s and PS3’s. Of course, even with all those devkits we still wouldn’t need extension cords if it weren’t for the large number of toaster ovens and fondue pots that are using all the available outlets.


Anyway. Back to the project.


Dwight and I talked with this John chap again about some of the more technical issues involving the potential use of the COD3 engine. Since it doesn’t have a PC solution we’d need to create one and therefore security would be a big issue. Dwight hammered this poor guy on a ton of points and came to the conclusion that we’d have to do a bunch of work to provide a secure PC setting if we went with this engine. Mind you, my main thought on COD3 was that we’d toss the whole affair over to some outhouse and yell, ”Don’t forget the PC security. See you at Alpha,” and that would be that, so I wasn’t overly concerned about it.


Later on it came time for our weekly conference call with the publisher. Dwight specifically wanted to outline for them the large amount of work ahead of anyone who wanted to use COD3 to do multiplayer on the PC. Jon was also quite insistent that some decision be reached soon as to what MP technology was being used and by whom. At the end of the call I told him he’d done his best to explain the critical nature of our situation to them but, “It’s really hard to accurately convey a proper sense of urgency to people on the other side of the continent.” It’s absolutely true. I don’t know if it’s the time zone difference, some sort of laid back West Coast mentality, or just the fact that they’re not in the trenches with us, but I swear we could yell over the phone that the building is literally on fire and the response would be, “I hear you. I totally get that. But we should definitely explore some other options before you talk about fleeing to the parking lot. Would it help if we outsourced the screaming and panicking? You know what else? Dude…when Treyarch was on fire last year they hired a bunch of firemen with programming experience so they wouldn’t lose any work. Maybe you could do that.”

Wednesday, November 22nd
The day before Thanksgiving. Even more dull than yesterday. I imagine there will be a time in the not-too-distant future that I’ll long for a day that qualifies as, “dull.”


We had a meeting today on the technical ramifications of music – will it be event-based, how much room will we have for it, what can our 3rd-party sound system do for us out of the box, etc. I had it scheduled with Dwight, Bernd, and Kevin Schilder, our audio lead, for only 45 minutes since we’d had a lengthy chat a few weeks earlier. Little did I know that this would go from a simple, “Let’s explain to Bernd what we decided in our last meeting,” to an unfortunately complex, “Bernd is going to explain to us what we can do with the existing tech if we ever scavenge enough memory with VO streaming and oh by the way did I mention there’s far far too much VO in the game and what do you plan on doing about that?” Suffice it to say we accomplished precious little aside from delaying my lunch by 35 minutes.


Another thing I very nearly accomplished today was rescheduling our writer’s delivery dates. Through no fault of her own she came into the project fairly late so we really need her to haul tail with her first few deliverables (initial outline, first draft of the full story, those sorts of things) so we could be prepared for our VO recording sessions. On past projects I’d been stung more than once by the VO getting to the designers too late, forcing them to revisit maps that they should have already put to bed, so I really didn’t want to repeat that particular pitfall. The result of sending a revised schedule to our writer, though, was along the lines of, “Those early dates look pretty tight. My agent’s in talks with Activision, though, so nothing’s final yet.” Not exactly what I was hoping for, but she didn’t just laugh outright. I decided to take that as a good sign.



Tuesday, November 21st


As comparatively lifeless as yesterday was, today was even more so. I might not have mentioned this earlier, but Activision and its subsidiaries* get Thursday and Friday off for Thanksgiving. Sounds nice on the face of it, but when you give people 40% of the work week as a free vacation you’re pretty much guaranteeing that they’re going to take the remaining 60% off, too. Hey, who doesn’t want a big, fat, nine-day weekend? I’ll tell you who. The two dozen other employees who were at the office with me today, that’s who. That’s two dozen out of 150, for those of you keeping track at home. My count might’ve been off a little bit, but I think you see where I’m headed, here. Skeleton crew. Tumbleweeds rustling down the halls. Crickets chirping in the corners where yellowed newspapers had been forgotten by cold, dry winds.


At least one thing was still going to happen today, though. Dwight was going to start on a Technical Design Doc for multiplayer, having taken part in a final nail-down-the-design meeting yesterday afternoon. Dwight was quick to inform me this morning that, rather than a conclusive session of happy brainstorming, what had actually transpired was just shy of mutinous bloodletting. The other programmers in the meeting had been so blatantly pessimistic about getting anything done by Alpha that they shot down every idea practically before it was vocalized. Not only did a final design fail to coalesce, but morale with these gentlemen was now at an all-time low. Dwight even looked ticked off, and this guy would smile through unanesthetized dental surgery.


Inauspicious though the morning had been, it did improve. Later on, Jon stopped by after talking with the two designers building our DT map. They had begged and pleaded with him for two more weeks of time on DT before they got rolled off onto the next map. And Jon had come to forward their request to The Keeper Of The Schedule. All too gleefully I whipped out revision 8b of the design team schedule and with poorly contained enthusiasm said, “Sure they can have another two weeks! What would you like to cut to make up for it?” From the look on his face I’m fairly certain Jon had assumed up to this point that I would open up a portal to the Nega-Dimension and pull two man-weeks out of nowhere. He clearly wasn’t prepared to deal with having to actually pay for this extra development time. After thinking out loud for several minutes and repeatedly making vague shifting gestures at the schedule, he left with a deflated, “We can talk about this later.” And The Schedule was returned to its resting place, defended once more by its stalwart guardian.

* I’m only medium certain that Raven qualifies as a subsidiary. I’m not overly familiar with the actual business definition of the term, though, so if it doesn’t mean what I think it means, imagine I used a word here that accurately describes a game development house wholly owned by a publisher.


Monday, November 20th

Today was so unexciting I actually felt safe in taking off two hours early to go home and clean our house while my wife was at work. Remember that birthday party for my daughter we had on Friday? Yeah, well as a direct result of that crazed bacchanalia of ponies and coloring books our house looked like a Toys R Us fell from orbit and impacted in our living room. My wife – her name’s Ellie, by the way…you’ll be hearing about her from time to time, I’m sure – my wife is, shall we say, organizationally minded. I figured she’d appreciate coming home from her day at the office to a house that wasn’t wall-to-wall Barbie paraphernalia.

By the way, did you see how polite I was there? Notice how I didn’t call her a neat freak or anything? I should get serious points for that kind of restraint. While I’m on the topic, I saw this great joke the other day that’s totally her: “I have CDO. It’s like Obsessive Compulsive Disorder except the letters are arranged alphabetically, just like they should be.” That so personifies her Ellie even thinks it’s funny.

“That’s great, but what happened with Wolf today”, you might reasonably ask. We had our standard pseudo-scrum with all the leads, but a few guys took the whole week off for Thanksgiving so it wasn’t as involved as usual. We heard from Jarrod, our lead animator, about the new review process for mocap requests. The only point I brought up during the discussion was that I needed to be included as one of the last steps so that I could tell everyone, “No,” because there isn’t enough time, memory, or disk space. Pretty soon these guys are going to get sick of hearing that kind of thing from me, I bet.


After lunch, Jon and I had our weekly call with Adam. Nothing earth-shattering there other than he’s still working the CoD3 angle for multiplayer. I don’t expect progress on that front to be anything but glacial, but if it eventually results in us being able to divest ourselves of the burden of multiplayer development, great.


Another thread in the pathologically tangled MP skein – Adam asked the outsource company (at my behest) if they had any programmers that were willing to relocate to Raven for a period of months. Insane request, I know, but training people for weeks only to have them work remotely would be more of a cost to us than a benefit. And if they actually had any guns for hire who could help dig us out of our hole…well, I figured it was at least worth asking. Strangely, they said they had a list of guys that fit the bill. We’ll see how that turns out.


Friday, November 17th



Today’s most noteworthy event was a dry run we staged for a “Deal Or No Deal” game slated for a release party to be held on Saturday. Instead of a few dozen leggy models, though, we had the department leads from our Marvel title schlepping the prize money around so the contest lost quite a bit of its attraction right off the bat. In case you’re unfamiliar with the TV show, look up some footage online and imagine replacing the ubiquitous glamorous females with shabbily attired game developers. Yeah, I know. Who in their right mind would attempt such a thing at a gathering during which food would be served. I wasn’t holding out much hope, either.


Earlier in the day I had the pleasure of being the first person to inform two of our designers that the map they’d been working on for six weeks – a map which was now roughly 25 or 30 percent complete – was slated to be Alpha in about ten working days. How, you may ask yourself, could these guys have been allowed to work on a map for more than a month without anyone telling them when it was supposed to be finished? Well, remember yesterday when I mentioned, “difficulty with the management of our level designers?” Yeah. That’s how. I’m currently as interested as you are to see how that whole drama unfolds.


I’ll take a moment here to describe some of the causes of the abject despair that has rapidly become inextricably linked with the concept of handling all of the multiplayer programming in-house. For one thing, we don’t have enough programmers. The ones we’ve got were at one time excited about getting to work on MP gameplay but have recently changed their tune because the schedule’s so short. Further, the ongoing effort to cram features into the singleplayer code has demolished any semblance of network functionality that may have once existed. We’ve recently enjoined our producers at Activision in a discussion involving the possibility of using another game’s code for our multiplayer – namely, Call of Duty 3 (or even Call of Duty 4, currently in development). So, to sum up for the folks having a tough time following this series of events, here are, in chronological order, all of the options we’ve looked into for rolling out the MP aspect of Wolf:






1.Outsource all of the engineering and content to one external studio.


2.Whoops. They got pulled away to finish a completely different project. Outsource all of the engineering and content to a second external studio.


3.Hmm. That’s taken too long to get a deal in place. There isn’t enough time left to create a tri-platform MP solution from scratch. Maybe we can have the external studio use an existing engine?


4.Nope, we don’t have the space on the DVD for a separate executable. How ‘bout if we find a third external studio with better and/or more programmers to create multiplayer for all three platforms?


5.That very nearly worked but they balked when they got wind of the contractual ramifications of working with id. Let’s look at – I kid you not – a fourth outsource company.


6.That might’ve worked except it took too dang long to negotiate with them. Now even they don’t have enough time to roll their own multiplayer for PS3, 360, and PC. I guess we’ll have to do it ourselves. Yes. This will work. We’ve got some very experienced guys here who would love to take a crack at multiplayer.


7.No, we don’t. What we’ve got are some guys who got burned on their last project because they didn’t have enough time to finish a good product and just had to shove a half-baked solution out the door. And they just realized they’re looking down the barrel of the exact same thing. No way will they touch multiplayer with a ten-foot pole. Well, maybe we could find enough DVD space for a separate executable, after all. Nah, id would never go for it.


8.Wow, I can’t believe id went for it. Yeah, but CoD3 didn’t ship with a PC solution and CoD4 isn’t even finished yet. Maybe a miracle will occur, but in the mean time we better just resign ourselves to doing the impossible with whoever’s available. We’ll do it all in-house and people will either go along with it or they’ll quit.






I’m telling you, folks…I couldn’t make this stuff up if I tried. Now, if you’ll excuse me I have to get ready for my daughter’s birthday party this evening. Today isn’t actually her birthday, though. It’s really on the 23rd but that falls on Thanksgiving this year so we decided to-






Listen, I appreciate you sitting politely through my little family moment, but I realize you’re really anxious to move on with the material about the game. So go ahead. Turn to the 20th. I promise there isn’t going to be anything else here except self-serving, mushy family stuff. You won’t miss anything if you skip the rest of this.






Yeah, so like I was saying…her birthday falls on Thanksgiving this year so we’re going to have a, “friends from school and church” party tonight and then we’ll do a, “just family” party when we all get together on Thursday. The gig tonight is at a McDonald’s with one of those hamster-tunnel play areas. This is a really good deal for 20 kids around the age of four, especially since we don’t get our house wrecked in the process. I highly recommend it as a party option for parents of small children.
 
 
Thursday, November 16th
Usually, the day following Build Day is when we have a number of meetings and other administrative trivialities that’ve been postponed due to the overwhelmingly apocalyptic importance of getting a milestone out the door. This particular Thursday promised a conference call with each of two companies to which we were considering outsourcing our multiplayer maps. In addition, this was the day Jon had scheduled to take some fairly serious action regarding the ongoing difficulties with the management of our level designers. To top it off, I cleverly decided this would be a good time to meet with Jeff, our PS3 lead, PS3, and core tech lead programmers to address a laundry list of insufficiently scheduled tasks handed to me by our producer. Whee.


We had been in talks with the first outsource house (or, “outhouse,” as I occasionally refer to such studios) for months prior to my arrival on Wolf. They had at one point been slated to handle the entirety of our multiplayer – engineering and all – for all three platforms. The company’s initial bid had all but completely stalled the negotiations. The weeks lost during the ensuing back-and-forth had led Dwight to believe the window of opportunity had passed for these guys, given their headcount and technical expertise. Naturally, that assessment took a long time to sink in with the levels of management above my own, so here we were with only five months left to Alpha looking to seal a deal with these folks for just doing our MP content – namely, eight maps.


After a mere two months as a producer I’m already numb to the fact that discussions such as this can take a vast amount of time and accomplish very little. We spoke with this outsource company for perhaps an hour before concluding the call with roughly ten syllables of new information decided upon. Don’t get me wrong. I find it as entertaining as the next guy to listen to people two time zones away dance around a subject without saying anything substantive. Especially when their ultimate decision is that they need to exchange more documentation that will be out of date by the time the printer cools down.


The next phone call was marginally more interesting. This time we were talking with a second group that had only entered the picture in the past few weeks as a contingency – “contingency,” being a term employed to indicate people who will very likely do the same work for a smaller fee. The end result of this second conversation was unsurprisingly similar to that of the first – the outhouse would send some improbably enlightening documents to our publisher who would then review them and set up another call for two or three weeks down the road.


Later in the day I talked with our tech guys about scheduling some platform-specific tasks. It was a welcome relief to be talking with people who’d actually give me meaningful answers to questions I deemed important and then act on the responses I gave them. Possibly the biggest benefit I gained from this particular meeting was that it prevented me from being present when Jon had the aforementioned chat regarding the management of our design team. Presumably, the chat went well. We’ll find out in short order.

Wednesday, November 15


It was Build Day again. Our five-week milestone cycle had brought us to the delivery date for another build of the game. We beat on a pleasantly non-huge list of hotlist issues yesterday, so today should have been pretty straightforward. The biggest issues were sound problems (the sound system was having trouble with on-the-fly mp3 decoding), a few production maps not fitting in memory on the 360, and some visual anomalies pertaining to shadows. The sound system is third party software that’s been integrated into a ton of titles over the past few years, so there’s no good reason it should give us this kind of grief. Nonetheless, the latest version we had downloaded from the developer had optimized a number of features right out of existence – “horribly broken,” to use one of our favorite phrases. Our audio programmer proclaimed that these issues were absolutely not going to get fixed for the build, so I declared them WNF (Will Not Fix) and moved them off of the hotlist. I’d been in talks with our producer at Activision about the state of the sound system so he wouldn’t be surprised to find virtually none of the VO working properly.


The next item up for bids was our memory situation. Although the 360 is supposed to be our primary SKU we’re still at a stage where we develop any given map on the PC first and then check it later (sometimes much, much later…grr) on the 360 to make sure it fits in memory. Well, this habit is not exactly engrained in our team’s collective consciousness yet, so maps are almost always over budget. Today was no exception. Between the global assets, map-specific assets, and time-of-day shadow geometry, our main production map, MTE, weighed in at about 105% of its budget. Ergo, it didn’t load. Drastic steps had been taken over the past few weeks to get this map to fit, and last Friday for a span of roughly eight hours, it did. Not so, today.


We had pulled out a number of stops last night with last-ditch efforts to bring memory down, but little progress was made. Entirely too much character data was being loaded and we were not at all sure how to proceed. To get this map under memory budget it looked like we were going to have to enact the Omega Protocol – re-process textures at half resolution. This would make MTE dog-ugly, but shaving some 70% off of our texture numbers would definitely fix the memory situation. I was about ready to pull the trigger on this one when Rick, our lead 360 programmer, comes in out of the blue with, “It makes things a lot tighter than I’d like for some of our heaps, but I adjusted the video memory boundaries. MTE loads now.” My first thought was, “Why the heck have you been sitting on this until now,” closely followed by my second thought, “Who cares? If MTE loads, you get the shrink wrap and I’ll get the boxes. Let’s ship this puppy.”


Two hotlist issues down, one to go. Shadow problems still abounded, although they were curiously absent on the 360. I had told our lead programmer, Dwight, that I had no problem build-noting visual anomalies and going on with our lives, but he just looked at me semi-incredulously and replied, “Have you seen the shadows?” That didn’t sound good.


“OK, so I guess we better get it fixed.” Happily, Dwight had been on this bug with one of our tools guys since yesterday. I had every reason to believe this would be fixed fairly quickly. Lunch Time came and went, still no fix. Afternoon showed up, mocked me for several hours, and then headed for the parking lot, holding the door open on the way out for his dastardly partner, Evening. The game had been beaten on by the rest of the team all day (with an asset freeze in place we had 50 people with little better to do than test the game) and was in good shape, minus the fact that the shadows were horrifying to the point of rendering the build unplayable. We could make this build go away if we could just get this last issue dealt with.


Eventually, 8 o’clock rolled around and the team was down to a pack of tech programmers, one designer, one scripter, and yours truly. One tech programmer was working feverishly on the code that processed assets to create shadows, Dwight was staring intently over the guy’s shoulder, the scripter was playing WoW and the rest of the tech guys were talking about it. Allow me to share with you that when you can’t even get a build out the door it’s a little depressing to hear people talking about the net profit of the most popular MMO in history.


“You know they’re pulling in a hundred million a month, right?”


“Yeah, but their maintenance costs have gotta be, like, 50 million.”


“Nah, couldn’t be more than ten.”


“You kidding me? I worked on an MMO. I can tell you they probably pay more than 80.”


Whatever. I’m not going to feel sorry for Blizzard even if the poor devils are only netting a paltry 20 million a month. Not while I can’t go home because our dumb shadows don’t render.


Well, Dwight finally announced he had a fix. Yay. He compiled a new build and re-processed all of the assets. We tested it with loose files on the network build – sure enough, shadows were fixed. Then he began the 30-minute process of building asset packs for the 360. I took some time to grab a burrito, sent a cautiously optimistic email to the Wolf-Everyone list (which, of course, was now only being read by about eight people) about how we were going to run final tests soon, and checked back with Dwight about testing on the 360. Well, ha ha, Dwight didn’t realize that the shadow fix failed to compile on the console build (code was inside a #ifdef PC_ONLY block or some such) so now he had to recompile code for the 360, then re-process the assets – another hour.


It was now 9:30 and I noticed an automated warning email – surprise! The project drive was out of disk space, meaning the build we were attempting to put together probably wouldn’t get completed. Yippee! I waltzed over to Dwight’s desk and he clearly hadn’t seen the email yet because he still looked like he was going to go home soon. I told him to check his inbox and his expression changed so totally and abruptly that I laughed out loud. Or rather, would have laughed out loud if every remaining vestige of emotional energy hadn’t already been drained from my soul by The Build Day That Time Forgot.


Dwight typed up a storm, worked some magic, and we wound up with a seemingly valid 360 build. At this point, we were all so tired of sitting around that our testing went something like this:


“There’s a new build up. Anybody testing it on a 360?”


“Yeah, I just fired up the executable and it should be loading any-“


“Ship it.”


I began ftp transfers for the PC and 360 builds and didn’t even bother waiting to see if they completed error-free. Fourteen hours is by no means the longest day I’ve ever worked at Raven, but having spent eight of those fourteen waiting for a single tech fix had crippled my will to live. Or at least my will to stay at work.
 
Monday, November 13, 2006


Over the weekend Adam, our executive producer, scheduled a 24-hour meeting starting at 2am. Happily, the start and end times weren’t exactly correct. We wound up talking with him eventually, though. Brian, Jon, Dwight and I were on a conference call with Adam, Matthew (our producer), and a chap from Central Tech, John. The discussion was, essentially, How To Salvage Multiplayer. John was surprisingly candid and willing to help, even after we told him our Alpha was in May. To his credit, he barely missed a beat after that little revelation, although I’m pretty sure I heard him suppress a you’re-out-of-luck chuckle. The upshot of the conversation was that we could possibly make use of the Call of Duty 3 engine but we needed to get clearance from id first. CoD3 didn’t ship with any sort of PC solution for multiplayer so our best bet was to essentially copy the 360 peer-to-peer architecture and go Vista-only (or Windows Live-only, at least) for multiplayer on the PC. Traditionally, id products have always been heavy on the client-server, dedicated server, moddable mindset when it comes to multiplayer and all of that goes away if you go peer-to-peer. Time will tell if we’ll get clearance to move ahead with that. And then there are the personnel issues that have recently cropped up in the programming corps, but that will have to wait for another day.