development teams, and we certainly frustrate our programmers as a
result! We have a design-led culture, and are always striving to push the
game forward to be the best it can be. If we’re not all constantly terrified,
then we’re not trying hard enough! But it’s an eternal balancing act, and to
walk the tightrope requires systematic questioning: Does the change solve
a specific gameplay problem, or is it just an improvement? Is the solution
obviously better across many circumstances, or an arguable opinion?
Have ripple effects into other gameplay areas been identified and thought
through? Does it require additional changes (UI, AI, text, tutorial advice, and
so on)? How risky is the change, how much new code is involved, and how
deeply integrated is that code with other areas?
Of course, not all the side effects can be predicted; there are unknown
unknowns as well as known unknowns! But on the whole, constantly asking
these kinds of questions as we made late changes allowed us to balance
benefits versus risks fairly successfully.
4 The blessings of a ma Ture engine
/// The saying “If it ain’t broke, don’t fix it” applies to design as much as to
code. A successful game represents years of daily problems encountered
and solved by smart people. We underestimated this when we re-wrote
the entire codebase for EmpirE: To Tal War, and this meant it took years to
reinvent the wheel, even if the wheel was considerably shinier than before.
Only then could we get on to making the new game.
With Shogun 2, we were going to enhance the core engine as required to
support what the new game was going to be. This meant all the effort could
go into making a better game instead of redesigning core systems which
weren’t broken in the first place.
Working on a brand-new (and therefore immature) engine was a key
part of what made EmpirE such a challenging project. Working with a much
more mature framework and developing the components in a more modular,
contained manner was without doubt a major factor in making Shogun 2 a
relatively smooth development experience.
5. ai: a True design-programming collaboraTion
/// The fans have consistently been calling for stronger AI, and we were
determined to deliver it. Writing AI for a campaign and battlefield for a game
as complex and intricate as ToTal War is an immense challenge. Here,
the nature of Shogun 2 helped. On the battlefield, management of melee
combat presents fewer degrees of freedom versus the predominantly
ranged combat of EmpirE, where spatial factors dominate, and more
complex and open-ended attack-arrangements are possible. In addition,
the maturity of the game engine meant the game systems and rules that
the AI had to successfully navigate were not quite the fast-moving target
they had been.
But perhaps the most essential factor was the much greater design
focus on collaborating to improve the AI. Concerted day-to-day design
attention was devoted to AI performance in battles (especially sieges) and
on the campaign map. Designers were able to pore over detailed logs of AI
actions and experiment with many campaign-AI parameters. This required
great care as the AI’s mind is constantly at war with itself, balancing
competing desires that fight for priority. Changing a bias here or there
could improve behavior in one situation, but could prove disastrous in other
unpredicted contexts. This necessitated dedicated and careful collaboration
between AI design and AI programming, as the power given to designers
meant the power to mess things up very easily if they didn’t understand
exactly how each parameter worked.
We were very pleased with the results. The game changed: before, it was
a struggle to create a challenge, and then suddenly the AI began running
amok, even on easier difficulty levels. Complaints across the team used to be
about the AI doing silly things and the game being too easy on hard difficulty
settings. Then the complaints changed: people felt the AI didn’t give them a
chance, was constantly kicking their asses, and was far too difficult for new
players. The balancing task was completely reversed, and we had to hold the AI
back and cheat in favor of the player.
While the AI is not perfect, and there is plenty more to do, it is much,
much better than it has been in the past—a testament to very successful,
close, collaborative work between designers and coders.
game developer | august 2011 16