SoC Ideas AI Defense Strategies 2012: Difference between revisions

From The Battle for Wesnoth Wiki
Crab (talk | contribs)
No edit summary
Crab (talk | contribs)
Line 2: Line 2:
= Description =
= Description =
<h2>AI: Implement a 'total defense' strategy</h2>
<h2>AI: Implement a 'total defense' strategy</h2>
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. 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.
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.  
 
Page for the idea: [[SoC Ideas AI Defense Strategies 2012]]
Page for the idea: [[SoC Ideas AI Defense Strategies 2012]]



Revision as of 16:50, 9 March 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

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. Page for the idea: SoC Ideas AI Defense Strategies 2012

There are no student proposals for this idea

Additional Information

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.

This page was last edited on 9 March 2012, at 16:50.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.