Napoleon: Total War -- The Little General Larger Than Life
When Napoleon: Total War was released earlier this year, hundreds of thousands of PC gamers watched Bonaparte’s career crumble in front of the gates of Hougoumont, at their personal Waterloo. And the devil was in the details because of new technologies that bring historical military campaigns to life.
The downfall of the pint-size general ushers in the 10th anniversary of The Creative Assembly’s phenomenally successful Total War series. When the revolutionary Shogun: Total War appeared in 2000, it married real-time strategy battles with the slower, turn-by-turn, tactical overview of a campaign map. It could have gone very wrong. Blending the resource management and empire building model of Civilization with the fast battles of Command & Conquer was ambitious, but setting the resulting game in a period of Japanese history with which the majority of its potential audience was likely to be unfamiliar compounded the project’s “experimental” nature.
The creative gamble continues to pay off with Napoleon: Total War, partly because of the epic scale and partly because new technologies heighten the details, customization and game performance.
“Being on the cutting edge of PC technology is really important to us,” says Mike Simpson, creative director. “The game is all about putting large numbers of men onto the battlefield. The more processing power and graphics power we can devote to that task, the better the game looks. And that feeds into the sense of immersion and directly back into the gameplay.”
One of the reasons for the enduring appeal of Total War is the breadth of the subject matter. So far, the company has covered feudal Japan, medieval Europe, the Roman Empire and the colonial conflicts of the 18th century.
The previous release, Empire, introduced naval warfare, opening up the tactical map and adding more variety and challenges to the battle sequences. Napoleon: Total War marks another new direction for the team as they get closer to the characters involved. There’s a heavier focus on narrative and personalities: In the beginning of the game, for instance, players encounter the French Emperor when he was a young captain in an artillery battalion.
There’s no shortage of inventive strategy games with strong historical context. What sets Total War apart is the technical superiority of the engine. “We started off in Shogun with 1,000 to 2,000 units on each side,” Simpson says. “Back then, the units were just sprite graphics, little 2-D billboards. Now we’re doing battles with 10,000 to 20,000 men, each one in great detail so you can zoom the camera right up to them.”
The individualization doesn’t extend just to animations. One key new tool for Napoleon: Total War is a custom unit builder, which allows designers to add details such as backpacks, pouches and cuffs to the models. This new level of historical accuracy appeals to tabletop enthusiasts. “You can select your hats and your coats and your boots and then color them all to get the right colors,” Simpson explains.
Getting the small details right isn’t just about pleasing the sticklers in the audience. Increasing authenticity helps not just with the sense of immersion but with fine-tuning the gameplay, too.
The heavy customization of details that makes that happen has in turn been made possible by the introduction of multithreading techniques, which first appeared in Empire. Although it will run on a single-core processor, the game engine has been coded with a dual-core-or-more target in mind and is split into two distinct parts: logic and rendering. These routines are further subdivided into individual “minitask” algorithms, such as sea-geometry refreshes and pathfinding. No one process can hold up another, and the game can take advantage of whatever hardware is available. It’s vital to increasing the number of troops on the battlefield and putting units onto ships for the sea battles.
“The thing I’m proudest of in Napoleon,” says Yuri O’Donnell, senior engine coder, “is the multithreaded work we did on the Total War engine. We can scale to as many cores as the user can provide, so for a strategy game, we’re not really CPU-bound.”
Multithreading is still relatively new in game design and far from ubiquitous. Developers still struggle with decoupling routines successfully, and the performance gains are far from a given.
“Writing slow multithreaded code is easy,” explains O’Donnell. “Just add synchronization everywhere, and off you go. But writing good code that operates at speed, that doesn’t introduce race conditions and that doesn’t suffer from cache problems? That is quite difficult.”