I recently read a Destructoid article discussing a forthcoming James Bond game, and it made positive comparisons to a previous Bond game that I worked on, James Bond: Everything or Nothing (EON). I am really proud of the team’s work on this game, and it was gratifying to read the article’s positive comments, a personal first as in my experience comments on the Internet tend to be pithy and negative.
Back in 2003 we had just shipped James Bond: Agent Under Fire (AUF), one of the toughest projects in EA’s history. The project took a large personal toll on many of us, and so none of us were really ready to jump straight into another Bond game. AUF was a major hit for EA, so the powers that be were keen for us to work on the next Bond game, hoping for a repeat success.

Ideally, teams re-use tools and code across games: the pipelines are mature, the tools well-studied and the runtime relatively bug free. Not us. We decided to throw away large portions of the tools and runtime and rewrite them. This proved to be a very unpopular decision, both within the team, and management. Rather than getting a quick sequel that could ride the back of AUF’s success, instead they got a 6 month delay.
In a way, the decision had already been made, much earlier during the long crunch to finish AUF: the runtime was poor and unsuited to game consoles. There was no-way we could achieve our aspirations for the new game upon that runtime. AUF was originally intended to be a PC game, so we bought the PC-based FAKK2 engine from Ritual. About 18 months into the project we decided to switch platforms to the popular PlayStation 2. The PS2 was missing most of the luxuries that a desktop PC has: a fast CPU, fast storage and plenty of RAM; so the engine was a complete mismatch.
But, most importantly, we were able to keep most of the engineering team together. Experienced engineers pay off, and experienced engineers who work together as a team pay off the most. We were able to replace all the broken parts of AUF with superior implementations: the entity system, asset management, graphics engine, visual effects system, asset tool chains, animation engine, camera system, the multi-player game, to name just a few.
It was hard work, but at some point during production we crossed a threshold and entered a virtuous cycle where everyone was building off each other’s great work. At that time it changed from a heavy slog, to a heavy, but fun, slog. Most importantly everyone took pride in what they were making, and ultimately I think that shows through in the final game.
I look back on EON as some one of the most fun and rewarding times I had making games. I’m proud to have been a part of this game. I think a lot of people in the industry were inspired by EON too: we made a very polished 3rd-person cover based game and I can see it’s influence in many games today.
{ 3 } Comments
I’ve read that Agent Under Fire was originally supposed to be the PS2 and PC versions of The World is Not Enough, and that game was supposed to be one of the PS2′s launch games. According to the previews, it originally ran on the Quake III Arena/Heavy Metal: FAKK2 engine (aka Id Tech 3). Can you confirm these?
Also, did EON use Id Tech 3 for the action sections? Based on what I read, both AUF and EON used a hybrid engine: Id Tech 3 for the action sections and an EA custom engine (Need for Speed: Underground engine on EON) for the driving sections?
You are correct – AUF did originally start life as The World is Not Enough. The game had been in development for a while before I joined. At that time PC was the lead platform with a couple of engineers hacking away on a PS2 version. I’m not sure if AUF was intended as a launch title for PS2 though. A few months after I joined they hit reset on development, promoting the PS2 to lead platform and killing the PC version entirely. At the same time we were told we were going to have driving levels, produced by the Need for Speed team in Vancouver, Canada. The game didn’t get its name change until much later in the development cycle.
As the original platform was intended to be PC the team had licensed the FAKK2 engine from Ritual and begun development on that. FAKK2 was built atop the Quake 3 engine (not sure where that lies in Id Tech history). FAKK2 was a poor choice for PS2 and we had to make huge efforts to get the engine running at a decent pace on PS2. For EON we scrapped all the FAKK2/AUF engine code, and kept Radiant (level editor) and portions of our asset pipeline. We spent the first 6 months of EON rewriting everything from scratch. It was definitely the correct thing to do as there was no way we could have shipped EON on the FAKK2 codebase, but at the time it was an unpopular decision.
EON’s driving sections were again built by the NFS team in Vancouver. Here’s an interesting tidbit: in both AUF and EON the driving levels are actually an entirely separate executable that we loaded at the start of a driving level. When they came back to the non-driving sections, they would load our executable instead. Integration was fiddly, and the source of many game flow bugs.
I meant to say that TWINE was supposed to be one of the PS2′s launch titles, before it was cancelled in favor of AUF, which was released later.
As for the FAKK2 engine, it was built on top of the Quake III Arena build of the engine, not the later Team Arena or Return to Castle Wolfenstein releases.
I’m guessing that at the time of EON’s development, it would have used the Team Arena engine (not the FAKK2/AUF engine as you already stated) for the action sections.
Post a Comment