[This classic postmortem was originally published in the March 2009 issue of Game Developer magazine. In honor of the game's release 7 years ago today, we're republishing the article in full.]
FAR CRY 2 was an enormously challenging project from both a technical and creative perspective. For the team at Ubisoft Montreal, it was our vision from the beginning to deliver a seamless 50-squarekilometer open world, with no loading, that was as beautiful from both technical and artistic standpoints as any modern, top-tier, corridor shooter. We also envisioned for the game a highly dynamic and destructible environment that supported robust and realistic fire propagation through building structures and vegetation.
Open world ambition
Once in production, we retargeted from a PC-only release to a planned simultaneous launch on both PlayStation 3 and Xbox 360. And each version would support multiplayer versions and contain a level editor.
As if that weren’t enough, we also aimed to innovate on numerous fronts by making the main characters of the game autonomous and unscripted, allowing the player to build relationships with them through game mechanics. We further expected these characters to be able to live or die at any time as determined by the player’s actions, effectively creating a dynamic narrative that could sustain itself beyond the attrition of the major characters of the story.
As is typical, we succeeded at delivering some of these things, and failed at delivering others.
What went right
From the very beginning, technical director Dominic Guay asserted, “We have designed a game that forces us to make tools that will allow artists and designers to build and iterate content very rapidly.”
With engine development planned to happen parallel to game development, we would be working under constantly shifting budgets, and we would need to be constantly tweaking and tuning the gameplay, even as the technical constraints changed. We literally needed to be able to build a square kilometer of the game in one day, and then be prepared to throw it away the next day if things changed.
At the end of pre-production, we presented a two-minute time-lapse video of a level designer and a level artist creating a one-square-kilometer section of African jungle in four hours. The proofof-concept included all the terrain, dynamic vegetation, roads, structures, AI, and gameplay, and demonstrated beyond any doubt that we could create our game world.
The toolset would ultimately become the foundation of the level editor that shipped with all versions of the game. It allows players to create multiplayer maps rapidly and iterate their designs to deliver professional-quality levels to the FAR CRY 2 multiplayer community.
2) Commitment to innovation
It is a misconception that innovation is overthrown by corporate coup and that large companies are averse to innovation. Innovation is more typically chipped away at, piece by piece, and frequently, it is dismantled from the bottomup. As experiments in delivering new experiences fail and time ticks by, individuals tend to retreat to more conventional or established solutions, which not only wither the blossoms of innovation, but can kill it at the root.
On FAR CRY 2, we often committed to no-compromise strategies that would not accommodate partial withdrawal. For example, the dynamic narrative structure of the game does not function with fewer than 12 buddy characters. When the game flow and scripting of the narrative were massively behind schedule, and the character modeling team was badly overloaded at the same time, removal of buddies began to look very attractive.
"FAR CRY 2 breaks many conventions of both the shooter and open-world game genres."
But there was no Plan B. There was no way to have a “partially dynamic narrative.” There was no way to throw money at the problem and render cut scenes at the last minute to tell the story, because in a very real sense, we had not written a “story”—we had written the elements required to support a dynamic narrative that worked with exactly 12 buddies.
Maybe this sounds like something that belongs in the “What Went Wrong” section, but in fact, it was an all-or-nothing commitment to the important elements of the dynamic narrative that made it possible at all. There remain many peripheral failures in the delivery of the narrative design, but the fact that we were committed to delivering it at all is what allowed us to make those failures, and consequently to learn from them so that we can iterate and improve them in the future.
The Far Cry 2 development team
3) Empowering creativity
As creative director, my job is not to create the game, but to get the most creativity out of an entire team by empowering people to work in a way that allows their creativity to be expressed in their work. FAR CRY 2’s team reached that state more successfully than any other I’ve worked with.
"FAR CRY 2 has demonstrated an unusual lifecycle as a game, as a cultural artifact, and as a product."
This creative empowerment took a number of forms over the course of the project. In the concept phase of the project, I worked with a small team to harvest and catalogue all our ideas about what FAR CRY 2 could be, and then sorted through them to aggregate the concepts that seemed to work best. After that, I briefed every new member of the team to ensure they understood the game concept and had someone to talk to about any creative concerns.
In production, I began the long process of turning over creative responsibility to the implementers. By ensuring that designers delivered all documentation on time, and that they then worked closely with implementers, we were able to slowly abandon the conceptual vision as it lived in documentation and in our heads for the reality of what was in the game and in the code. As this transition happened, individuals were encouraged and given the confidence to take creative ownership of their work, whether it was a level, an animation, or a piece of code.
If, toward the end of a project, a creative director is still explaining to people how and why to do something, he has already failed. Under the best circumstances, a creatively invested implementer—not a designer—is the person most qualified to make the decision about how best to deliver on the vision.
4) A true next-gen art pipeline
Before we were even finished with our concept phase, it was clear to art director Alex Amancio that a new art pipeline would be needed to deliver on the promises we had made.
"We expected characters to be able to live or die at any time as determined by the player’s actions, effectively creating a dynamic narrative that could sustain itself."
Broadly, Amancio envisioned a technically complex art pipeline based on repetition and combination of memory-light compound assets. These assets would be made to appear more complex using run-time processes such as multi-layered shader systems, kit-system assemblers, dynamic weather systems and destructibility. Without the processes we would have required more numerous, heavier assets in order to avoid obvious repetition. Conversely, without light compound assets that reused all these components in dozens or even thousands of permutations, no amount of dynamic process would create the illusion of variety.
This philosophy was expressed everywhere; from heavily instanced vegetation assets that did not appear instanced at all under a procedural wind, to a “character kit system” that assembled AI characters upon instantiation from a collection of body parts, clothing, and equipment pieces that were all designed and built using the same mapping and reusing the same shaders. Instead of having 20 character models, we had 20 character models worth of kit, providing nearly infinite variety at a cost far less than even 10 unique models.
No doubt, there were numerous hurdles to clear, not the least of which were the support demands on the graphics coding team and the training demands on artists joining the team, but in the end it was the commitment to this innovative pipeline—combined with traditional optimization techniques— that allowed us to fit in memory while constantly streaming from the hard drive and never having to dump the player to a load screen during gameplay.
5) Staffing up
In terms of staffing, FAR CRY 2 was in a difficult position from the very beginning because its development timeline was parallel to SPLINTER CELL: CONVICTION’s, and one year behind ASSASSIN’S CREED. Despite the challenges, the FAR CRY 2 leads did an amazing job of finding dedicated and talented individuals who made tremendous contributions to the game.
Technical director Dominic Guay had planned a long and steady ramp-up of the engine team and game programming team, and managed to ease programmers into the code base at a steady rate of one or two per week instead of dropping 20 new coders into a code base maintained by only a dozen. This not only got them working efficiently more quickly, but also let us release stable daily builds.
Lead level designer Jonathan Morin and lead animator Sandra Warren were both uncompromising in their efforts to find the best possible candidates for their teams. Many new hires were experienced people from other projects, such as RAINBOW SIX: VEGAS, but others were graduates of the Ubisoft Campus, young developers directly out of school who had never shipped a game. Many of the least experienced team members outperformed our expectations and made important contributions to the final game.
I personally believe that it is neither the leads nor the veteran developers who make a game great—they are simply the ones who deliver it. The ones who make a game great are the inexperienced ones who exceed your expectations, create breathing room in your planning, and bring passion, energy, and fresh perspective to the team. Despite our staffing challenges, FAR CRY 2 had more than its share of talented and driven young developers.
What went wrong
1) Inability to iterate the game flow
Early in development, the design team made the case to the programming team that we would need to manage the dynamic narrative and game flow from a drama management engine written by a programmer. In balance against all the other engine features, this was deemed to be a job that could be handled by higher-level scripting, and that was how we proceeded.
"FAR CRY 2 creates certain expectations on which it fails to deliver, while at the same time delivering something unexpected."
By the middle of production, one scripter became two scripters, then three, and then a whole team. More and more scripting work was offloaded to the level design team. A programmer was required to code the core of the mission manager, and several programmers were needed throughout to provide scripting tool support. Even with the continual influx of resources and support, the scripting team was still badly overloaded and in perpetual crunch.
We were unable to reproduce a successful walkthrough of the entire game until about one week before the first master candidate. Consequently, virtually none of the drama management is tested, and even many of the things we did manage to test and prioritize for fixing were things we simply could not fix on time.
In the shipped game, drama management is driven by discreet player choices as filtered by reputation, an invisible counter that runs under the hood. We realized (too late to act) that a superior design would have driven the dynamic narrative based on a relationship history matrix involving the player and all the other characters. But even though we had simple designs for a system that could have effectively patched the existing system to incrementally improve it, we were handcuffed by the weight of all our previous mistakes and the impossibility of testing even minor changes to the game flow.
2) Multiple redundant overlapping systems for AI behavior and animation
Early in development, we prioritized having a functional combat AI in place early so we would be able to iterate gameplay. While this had the benefit of guaranteeing we could have a robust and autonomous combat AI that could read the dynamic environment and deal with fire, vehicles, grenades, and whatever the player could throw at it, this approach prevented us from building a general purpose AI that could do all the things we wanted the AI to do outside of combat.
As an example, the smart terrain system that allowed AI characters in their default, non-combat state to wander around and perform actions based on their needs was not compatible with the briefing AI. This meant the autonomous behaviors used by non-combat AI could not be used in the briefings, and all the sequences with the warlords and their aides—the leaders of each faction who would brief the player on his missions—had to be scripted by hand (in all their permutations).
Worse still, the similar briefings with the buddies presented too many permutations for us to script them all, and therefore the buddies literally could do nothing but stand unmoving like statues and talk to the player with simple look-at blends. The simple behaviors of them doing stretches or checking inventory or using cell phones while waiting were hacked together in desperation at the last minute, instead of being designed and built from the beginning as part of a general purpose system that could be reused in any situation.
In the end, this problem massively constrained our ability to make the buddies, warlords, captains, and lieutenants as engaging and dynamic and credible as we wanted them to be.
3) Meaningful characters are realization-dependent
FAR CRY 2 is fairly unusual for a shooter in that the player gets to play the high-level gameplay: the dynamic story and the relationships with the characters. The decisions he makes when assassinating a major character, being rescued by a buddy, or dealing with a buddy who has fallen wounded on the battlefield, have lasting repercussions, the effects of which might not be relevant until much later.
In these sorts of sequences, iterating low-level gameplay is not as important as polish and realization. For example, we could have made a surgery mini-game where you try to save the life of a wounded buddy, but frankly, it would have been focusing on the wrong thing. The gameplay that occurs when a buddy is wounded should not be based on reflex skill, but rather on the challenge of making a difficult moral decision with far-reaching repercussions under various situational pressures. What mattered was not iterating the low-level mechanics until they were fun, but achieving a high enough level of realization that the player would be emotionally invested in the unfolding events and would find the decision to euthanize or abandon his wounded friend more challenging than any test of reflexes.
Unfortunately, we underestimated the degree of realization that was required not only in these sequences, but globally. For the player to care deeply about a buddy bleeding to death in his arms, he must find the character credible and engaging all the time. Only then can the climactic moments of the relationship—the moments that determine the course of the rest of the game—take on the emotional weight and resonance they need.
4) Lack of an animation director
Further compounding our difficulties in bringing well-realized characters into the game was the fact that we were trying to do it without an animation director. Until the game was in full production, we did not have an animation director at all, and even once we were in full production, SPLINTER CELL: CONVICTION animation director Gilles Monteil was only able to assist us on a part-time basis.
Ubisoft works on numerous high profile, third-person action-adventure games in which strong character animation is absolutely critical. Because FAR CRY 2 is a first-person shooter, animation was (perhaps rightly) deemed less important than for, say, ASSASSIN’S CREED, PRINCE OF PERSIA, or SPLINTER CELL.
There is no argument that FAR CRY 2 had ambitious animation goals. With our determination to stay in first-person perspective with no HUD and with the complex animation demands of the wound system, the in-game map system, and the buddies, we definitely needed an animation director.
What is the mistake here? It’s not that Ubisoft could not reassign an animation director to our project, as we fully understand that PRINCE OF PERSIA and ASSASSIN’S CREED could not have shipped at all without one. It’s not that we didn’t identify our need and try to recruit a new animation director. The thing we did wrong, simply, was that we did not bring the requirements of the project and the reality of the staffing situation into line with one another. Whether we should have recruited more aggressively or perhaps changed the scope of the artistic vision according to our resources remains unknown because the conversation never happened. But it should have.
5) Managing single-player and multiplayer teams
FAR CRY 2 had ambitious multiplayer goals. However, with our aim to build an engine in tandem with shipping a first-person open-world game on three platforms, including multiplayer support and a level editor on PC and console, something was going to crack.
From the beginning, our aim was to keep the single player design team in lock-step with the multiplayer design team, and make sure that the multiplayer experience was elaborating on the same sorts of themes and feelings as the single-player experience. Needless to say the realities of a multiplayer versus single-player game are very different, and this creative vision in itself may have been fundamentally flawed.
Eventually, it was decided to split the multiplayer team into its own group, managed separately from the single-player team. Junior multiplayer designers, without support or oversight from the rest of the design team, were left on their own to defend an innovative vision that had not fully steeped into the growing multiplayer team. This led to conflict, inevitable compromises, and ultimately cascading failure of the entire multiplayer design.
Fortunately, the meltdown happened while the multiplayer engineering team was in the process of building its technology, and the pipeline was ultimately delivered. But as late as alpha, the multiplayer team was still without a design. A consultant was hired to help reboot the process, and the team was able to stabilize and grow from that point, but the fact remains that the majority of the multiplayer design was not defined until close to beta.
Expecting the unexpected
FAR CRY 2 is not a typical title. It breaks many conventions of both the shooter and open-world game genres. It creates certain expectations on which it fails to deliver, while at the same time delivering something unexpected. It has received highly polarized critical reception, and so far has demonstrated an unusual lifecycle as a game, as a cultural artifact, and as a product.
The mysteries of FAR CRY 2 are not going to be revealed in 10 bullet points, but I hope that those who wish to explore deeper will find these notes from our development process a helpful guide through the massive open world of what FAR CRY 2 actually is.