Difference between revisions of "SummerOfCodeProposal AI Improvement Crab AI Game Rules"
m |
m (categorizing) |
||
| (2 intermediate revisions 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, | + | 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 35: | Line 35: | ||
[/perception] | [/perception] | ||
[/ai] | [/ai] | ||
| − | And, the AI will thing that it will take 3 turns for the enemy to cure | + | 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) |
| 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