SoC Ideas AI Defense Strategies 2012
| This page is related to Summer of Code 2012 |
| See the list of Summer of Code 2012 Ideas |
| This is a Summer of Code 2012 Idea |
Description
AI: Implement a 'total defense' strategy [12]
Page for the idea: SoC Ideas AI Defense Strategies 2012
AI in wesnoth's is good at killing things but is bad at defending. Therefore we are forced to make it attack at 2:1 odds. This is the single biggest limiter of the AI skill at the moment. To solve that, we need to teach the AI to defend.
There are no student proposals for this idea
Additional Information
Currently, the aim is to maximize (enemy losses - aggression*own_losses), where aggression is currently set to 0.4 by default. Teaching the AI to defend would allow us to lower the default aggression value. If we can bring the aggression value close to 0, the problem would be solved.
What would happen if we set aggression to 0 now? AI would only do the attacks which are 'good at killing things', but would not do the attacks, leaving only several units on the frontline. Moreover, the formula max(enemy_losses - aggression*own_losses) is broken, because it does not consider next_turn retaliation properly. A correct (but not calculable) formula would be max(enemy_losses_defending - aggression*own_losses_attacking - aggression*own_losses_next_turn + enemy_losses_attacking_next_turn + enemy_losses_defending_in_two_turns - aggression*own_losses_attacking_in_two_turns - … ). It's not calculable because we can't predict all the turns in advance with any degree of confidence. However, if we take the *next* turn into account better, then the AI would be able to play in styles other than 'all-out-attack' - because, if you take next turn into account, it makes sense to form defensive lines, block enemy units from reaching your vulnerable units, etc.
Whom to ask about this
Crab_ on irc.