Difference between revisions of "SummerOfCodeProposal AI Improvement Crab AI Game Rules"

From The Battle for Wesnoth Wiki
m
m (categorizing)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
We need to extract all pieces of code which "answer questions about game rules". These functions are fundamentally different with functions which make "decisions" and "evaluations". Because a question about game rules has only one correct answer (although, given the random nature of wesnoth, those can represent
+
We need to extract all pieces of code which "answer questions about game rules". These functions are fundamentally different with functions which make "decisions" and "evaluations". Because a question about game rules has only one correct answer (although, given the random nature of wesnoth, an answer can be a collection of possible outcomes with %chances attached.
  
 
This will allow us to remove duplication from the code and allow us to plug-in a layer between "game rules" and the "AI" called "AIs perception of the game rules" This will allow us to give scenario designers an easy-to-use tool to tune the AI behavior.
 
This will allow us to remove duplication from the code and allow us to plug-in a layer between "game rules" and the "AI" called "AIs perception of the game rules" This will allow us to give scenario designers an easy-to-use tool to tune the AI behavior.
Line 41: Line 41:
  
 
return back to [[SummerOfCodeProposal_AI_Improvement_Crab#AI_Module|Summer Of Code Proposal of Crab]]
 
return back to [[SummerOfCodeProposal_AI_Improvement_Crab#AI_Module|Summer Of Code Proposal of Crab]]
 +
 +
[[Category:Summer of Code]]

Latest revision as of 03:22, 6 March 2011

We need to extract all pieces of code which "answer questions about game rules". These functions are fundamentally different with functions which make "decisions" and "evaluations". Because a question about game rules has only one correct answer (although, given the random nature of wesnoth, an answer can be a collection of possible outcomes with %chances attached.

This will allow us to remove duplication from the code and allow us to plug-in a layer between "game rules" and the "AI" called "AIs perception of the game rules" This will allow us to give scenario designers an easy-to-use tool to tune the AI behavior.

Some of the most important game rules that can be tuned to achieve flavor-effects are :

Terrain defense value

[ai]
  [perception]
     [filter]
         [filter_location]
             terrain=Gs^Fp
         [/filter_location]
     [/filter]
     my_defence_bonus=-40%
  [/perception]
[/ai]

With such an simple code (no formulas to write! and very easy to understand the effect), a scenario designer will be able to make the AI think that his units have -40% defence in forests on grass, and plan its actions accordingly.

Luck factor

[ai]
  [perception]
     [filter]
            (terrain or unit filter)
     [/filter]
     optimism = 0.2;
  [/perception]
[/ai]

And, the ai would over(under) estimate his luck (It will think that the RNG will roll better than usual and calculate accordingly)

Poison duration

[ai]
  [perception]
     poison_duration = 3;
  [/perception]
[/ai]

And, the AI will thing that it will take 3 turns for the enemy to cure unit from poison, on average (this will affect some attack-related estimates)


--

return back to Summer Of Code Proposal of Crab

This page was last edited on 6 March 2011, at 03:22.