Difference between revisions of "SummerOfCodeProposal AI Improvement Crab AI Game Rules"
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, | + | 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