Much of the development focus on Ubisoft Montreal's Far Cry 2 centered around its open world and procedural systems -- which has resulted in an unusual reception curve.
But the game is frequently noted for its fire propagation -- fire spreads realistically and can be used to create or exacerbate explosive chain reactions for strategic purposes. As a result, it's also somewhat unpredictable, making it a double-edged sword.
Jean-Francois Lévesque of Ubisoft Montreal is the individual most responsible for that feature. A gameplay programmer who contributed to various tools and the audio implementation, Lévasque ended up spending over a year on fire propagation alone, researching existing models of CG fire representation and attempting to balance realism and gameplay practicality.
Gamasutra caught up with Lévesque to discuss how fire gained importance during development, how he approached his assignment, and how he has perceived player reaction to the feature.
How did your team decide this kind of complex, procedural feature was necessary for the design?
Jean-Francois Lévesque: I think [creative director] Clint Hocking, very early on, wanted to create a new standard in terms of player immersion. The game design was ambitious, and in order to support that vision the development team had to reach new heights in term of features.
It's probably uncommon in video game development to have a guy working full time for three years on the vegetation system, or to have another one, like me, working a year and a half to make fire believable. That’s how much dedication and effort the team had to reach the goals we set for ourselves.
But to come back to the question, the fire didn’t start as something really ambitious from the beginning.
Before [technical director] Dominic Guay assigned me to fire propagation, the game was supposed to have that feature, but nobody was working on it. He explained that the player would have a flamethrower and some Molotov cocktails to play with, but that explosions and other sources of heat might set fire too.
Dominic is a technical director and obviously he foresaw the performance issues we would have later on. So his first idea was that fire would propagate only on small predefined patches of grass no bigger than 10 meters by 10 meters, and on a very limited set of small objects.
A few weeks later, I had implemented what Dominic wanted, and it was working pretty well. At that point, he, [producer] Louis-Pierre Pharand and Clint flew to Paris to show a demo of the game to the management team.
It turned out that the management team in Paris loved the fire so much, they asked that the entire savanna and every tree be capable of catching fire and propagating it. Since I was junior and had no idea how complicated it was going to be, I agreed.
That’s how it turned out to become an important feature of the game.
What models and principles did you use to determine the fire's implementation?
JFL: Usually, when we need to develop a new feature in a game, we check what has been done before -- we analyze the good points as well as what could be done better or differently.
Sadly, in my case, I didn’t find many references in video games. Historically, fire is just used as a special effect. It hurts the player if he comes too close, but that’s about it.
That said, I checked every game I could think of that included some kind of fire propagation: Postal, Overlord, Mercenaries 2, Alone in the Dark -- I checked tech videos because it was in development while we were as well. We also checked a lot of video references of burning African savanna. We tried to accurately represent not only the behavior, but also the color.
At one point I became literally obsessed -- I would meticulously analyze every flame I saw, virtual or real, and my fire behavior issues in the game would keep me awake at night trying to solve them.
As for the technical aspects of the implementation, I read quite a few PhD research papers. These guys came up with formulas to very realistically simulate fire -- the way hot gases behave and how the fire propagates on complex, curved shapes.
Unfortunately, those solutions can rarely run in real-time -- and when they do, they are too slow for an FPS. I used my research as a base, and cut corners to simplify the math and physics. After all, the goal was not a fire simulation game, but a game with fire propagation in it.
I've succeeded if the player tosses a Molotov into some high grass and says to himself, "Cool. If I had done that in real life, it's plausible the fire would have spread in a similar way."
How did you balance between realism and playability in terms of the fire model?
JFL: There's a funny anecdote about that. A few months after Dominic told me I had to propagate fire to everything, I had it working in my test environment, and I decided to give it a try in the game.
I launched the game and decided to attack a small camp with five or six guards. There was an explosive barrel there, so I shot a single round into it. The barrel exploded and sets fire to the grass underneath, and the fire spread to the camp and set fire to the hut.
The hut set fire to the trees nearby, and the flames reached a propane tank, which went flying in every direction, setting fire to everything in its path.
One of the guards then caught fire and, in his panic, set more things on fire. Within two minutes, as far as I could see, literally miles of terrain were on fire. Every single tree, every hut, everything. The result was that I had killed every guard by shooting a single round and that my PC was now reduced to a crawling speed.
So obviously, we had to make trade-off between realism and playability. The fire doesn’t propagate indefinitely because it’s just not fun. It doesn’t look exactly as in real life, because pushing that many particles on screen while maintaining a decent framerate while keeping some processing power for AI, physics, dynamic world loading, and other game components, was not possible.
Actually, the balance between realism and playability is what I spent the most time on. The propagation mechanics were simple by comparison. I think it turned out well -- the player can go totally crazy with the flamethrower and set fire to as many things as he wants, and he probably won’t notice a slowdown in the framerate.
At the same time, the fire doesn’t oversimplify every thing. You can't expect to set fire to a camp, sit down, read a book, and expect that every NPC dies. That’s also where clever level design and AI come into play.
What in-game factors and variables does the fire in Far Cry 2 take into account?
JFL: It's common knowledge that wind affects propagation direction, but it's not as well known that hot gases released by the flames affect it too. It makes the propagation move faster uphill than downhill.
Humidity is another big factor -- you will notice that the jungle is much harder to set on fire than the savanna, and it doesn’t propagate as much there. The same thing happens if it rains or if it rained recently. It takes some time for the environment to dry and starting a fire during that time might prove to be difficult.
Another nice touch is that, if a burning object falls into the water, only the submerged part of the object will extinguish, while the dry part will continue to burn. The game is filled with those details that nobody might ever notice, but that contribute to the world believability I was talking about earlier.
What's the most entertaining thing that you've seen fire do in the game?
JFL: I really like chain reactions caused by fire. During development, I often found myself laughing out loud because a small fire I started turned into complete chaos -- blowing up cars and structures, setting trees on fire.
The beauty in that is it’s always different. It’s unscripted. I have laid down the rules and the world reacts to them. It causes some surprising and unexpected results.
Do you have a sense for how players are reacting to the feature?
JFL: Since the game came out last week, I’ve spent an enormous amount of time reading forums, blogs and reviews. I even went to game shops to stand anonymously behind gamers that were trying the game to hear what they were saying.
It's true that the difficulty controlling the fire is something that comes back often. Players say they create a wall of fire to block off enemies, only to become surrounded themselves.
It could be that the wind was against them, or they were uphill, but they ended up running away from the fire instead of the enemy -- not exactly what they had planned.
But that lack of control can be a good thing. For example, where I used to live, in the autumn, farmers would make piles of dead leaves and burn them in their fields. Sometimes, things went wrong; they lost control of their small burning pile, and a part of a forest disappeared in smoke.
It works the same way in Far Cry 2. You might plan your attack very well, setting fire to the left hoping to flush your enemies to the right, but you don't take into account the fire spreading to a tree and propagating to that hut or that barrel, which explodes and flies your way. It adds a level of unpredictability that can be fun.
How does that piece of procedural design play into the whole game -- does it interact with wildlife and other in-game elements in interesting ways?
JFL: You often find yourself outnumbered in Far Cry 2, and the AI is programmed to flank you and use openness to its advantage. Speaking in RPG terms, the fire acts as an area of effect fear spell.
Life forms will flee or at least try to avoid fire. It disorients the AI, making enemies forget about you and focus on saving their own skin. It gives you an advantage against high numbers of opponents.
It also reinforces the idea that you are a mercenary, using guerrilla tactics to achieve your objectives. It doesn't matter if it's amoral -- if you have to torch an entire village, you can do it.