Hi I'm Tommy Thompson, this is AI and Games and welcome to part 4 of the AI of Total War.
In part 3 of this series I explored the campaign AI of one of the most pivotal entries in the
franchise: 2013's Total War: Rome II.
A game that completely re-built the campaign AI systems to accommodate for an increasingly
more complex series of mechanics, resources and consequences.
Rome II's adoption of the Monte Carlo Tree Search algorithm is a critical step in bring
the campaign AI up to spec for more contemporary entries in the series.
But the innovations at campaign level didn't stop there.
In this video I'm going to look at how the MCTS systems were improved upon, as well as
how the diplomacy systems have been scaled up for the modern era as Rome gave way to
2015's Total War: Attila.
Attila is the ninth entry in the Total War franchise and transposes the conflict to the
late 4th and early 5th century: a period of history known as the Migration Period.
The Roman Empire begins to falter, even fracture; the empire is separated with the latin-speaking
Roman Empire to the west and the greek-speaking Byzantine Empire to the east.
The Roman Empire is on borrowed time and will only survive another 200 years at best as
it is besieged by the vandals, franks, saxons and perhaps most importantly, the huns.
Players bring Attila the Huns rise to power as the Hunnic empire forms over what is now
eastern europe.
Total War: Attila is in many respects a natural successor to Total War: Rome II - with a campaign
map of similar size and shape that succeeds the rise of the Roman empire in the previous
title, only to see it crack and crumble with a total 0f 56 factions appearing as either
ally or foe in the original version of the game.
But of course, it's not just the change of setting, the underlying tech continues to
change and evolve as well.
The introduction of Monte Carlo Tree Search in Rome II, the focus of part 3 of this series,
was a massive undertaking.
MCTS had not made the transition into AAA gaming at that time and naturally there was
still much to learn as to how to utilise the systems full potential.
So let's take a look at the gradual changes and improvements made to the algorithm between
post-launch updates for Rome II, all the way the launch of Attila.
The MCTS was updated to address some notable issues in performance and results.
Notably, the algorithm was slow to decide, but was typically making good choices.
A big part of this was that state space coverage becomes increasingly difficulty the longer
the game progresses: the number of AI factions begins to grow, the number of possible future
states grows at an exponential rate.
In addition, the underlying pathfinding tools to calculate distances between factions and
the like during MCTS playouts was proving very expensive.
To resolve this, the algorithm was trimmed to prune the number of strategies it considers.
This required additional analysis of a given state using metrics from the developers itself,
to determine whether a target was unreachable, a battle was unwinnable, there was a low probability
of a strategy succeeding or a given path in the tree was redundant and then removed it
from the decision making process.
This last part isn't as easy as it might sound, given a lot of strategies are essentially
identical: executed in a slightly different order and result in a similar outcome.
This required the system to break up searching into sub-phases such that is enforced an arbitrary
ordering.
This helped identify multiple strategies that essentially the same when ordered a specific
way.
In addition, this all required aggressive patching of the pathfinding system to pre-cache
some calculations and simply reduce the number of calculations taken, only asking if the
MCTS decision making process deemed it necessary.
This resulted in a system that was more memory efficient and ultimately faster.
It shows that the MCTS algorithm, while relatively simple in its design and execution, is also
once that requires additional care when tackling large and complex problem spaces.
Given it may need some assistance in order to make its decisions more efficiently.
Especially when trying to ship it in a AAA product.
One area of the franchise I have not yet touched on is the notion of diplomacy: the process
by which campaign AI players accept, offer and negotiate trade deals and alliances.
Diplomacy is driven by an entire AI system in and of itself.
Adding to the steadily growing collection of AI subsystems such threat analysis, pathfinding
and siege battles, which I will cover in part 5.
Diplomacy is primarily interested in answering three key questions for the campaign AI on
a given turn:
It
needs to ensure the deal is valuable to both parties.
This is both valid for an incoming or outgoing deal, given it wants the other faction to
accept its proposal, but conversly it may need to haggle an incoming proposal to its
satisfaction.
The Diplomacy system is driven by the same information and logic as the player, it can't
take any shortcuts, even when two AI factions are dealing with one another.
They still go through the same process as a player would either with an AI or another
player.
This is a highly data-driven process, with each faction having specific and unique configurations
of values that drive diplomacy in an effort to ensure they all behave slightly differently.
This is pretty important in deriving their personality throughout a given campaign, which
I'll come back to discuss a little bit later.
In order for the AI to pull it off, it transforms these three key questions into diplomacy sub-systems
(or sub-sub-systems I guess).
Deal evaluation, generation and negotiation.
Each of these systems utilises four key metrics that are generated by the system given the
incoming information it has received:
- The economic value: Is this deal going to actually benefit me monetarily?
- The stance value: Do I even like these guys who are negotiating with me?
- The strategic value: Will I gain a powerful ally from this deal?
This is important for war and peace declarations, given the current threat as perceived on the
campaign map (done so using influence mapping) can help determine whether this will make
life easier, or more difficult.
- And the diplomatic value: What will other factions think of me if I sign into this treaty?
If diplomatic value is negative, it means that everyone else *really* won't like you
signing this deal.
In addition, things like stance and strategic value are influenced by a balance factor that
is hand-tweaked by designers.
The balance factor is incorporated into the difficulty and in-game progression, such that
when an AI is losing badly, it'll be more likely to accept offers that might not even
by that useful, even from people they don't really like.
Given it may help ensure their survival.
For deal evaluation, all of these values are then pumped into a weight summation function
to give what is called the Deal Value: if the deal is scored as higher than 0, it means
that it is worth the AI player accepting that deal.
Meanwhile in deal generation, it needs to make some smart decisions on what to offer.
The list of all possible diplomatic actions is took long to consider, as such the system
will use a pre-filtered list based on the current strategic situation, factoring strategic
and economic values pertinent to the current state of the game.
It then prioritises each deal by evaluating it, with the actual evaluation shifting throughout
gameplay, given that a deal may have more or less value at different times during a
given game.
Lastly, the system negotiates deals by starting with a collection of generated deals that
it evaluated as useful.
It will then begin to offer these to other players, but is mindful of previous offers
it has made with a given faction.
If it receives an offer that the deal evaluation scoring disliked, then it will make a counter
offer with a given probability or simply reject it.
The AI players are made to weight a certain number of turns before attempting diplomacy
with a given faction again, so as to avoid spamming you with new offers every 2 minutes.
The actual discussion between faction leaders that takes place during negotiation is powered
by a separate system that ensures that the dialogue fits the style of the people of a
given faction.
Speaking of AI factions, by the time all of the DLC was released for Attila, there was
over 80 factions in the game.
So how do you make all of this diplomacy not feel stilted or samey with each and every
faction you deal with?
As mentioned before, the diplomacy system is data-driven, so each faction is fed data
that influences how it behaves in areas such as budgeting, diplomacy evaluations and negotiations
and technologies.
These components craft what Creative Assembly consider to be AI personalities.
Each of these components are often quite extreme and binary, with budgeting making the AI range
from Scrooge McDuck to Kanye West.
Each of these personality traits are effectively communicated via the user interface, such
that players can establish just how to deal with a given faction.
But it's not enough to have just a static personality throughout a given campaign, it
needs to change and evolve over time.
As such, each faction has a personality group with multiple personalities it can choose
from.
The choice of selection which personality it wants to use is driven by a number of factors,
such as the current difficulty of the game and the stage of the campaign itself.
As such, ultra-aggressive BURN IT ALL DOWN style personalities don't appear as frequently
at the start of the campaign, but are more likely to appear towards end-game.
In addition, many of the personality swaps are tied into the progression of faction leadership:
with new personalities adopted as a faction leader dies and their heir comes to power.
While deciding how to conduct war can be challenging, so to can be forging alliances and making
peace with others.
The scope and complexity of Total War continues to be vast in scale, to a point that the number
of minor AI systems continues grow in order to support the unit, battle and campaign AI.
But diplomacy isn't enough in times of conflict, sometimes we just need to force our point
of view on our enemies.
To make them bow to our will.
In part 5 of my exploration of the AI of Total War, I'm going to look at another of the AI
subsystems in play: one that is responsible for laying siege to an enemy fortification.
While these have been critical to the series for many iterations, I'm going to take a look
at the more recent innovations brought to this system alongside some fresh perspective
for the franchise: as history is cast aside for fantasy and we enter the world of Warhammer.