Hi, I am trying to create Pokemon battle AI, that has about 50% of beating best human players. I haven't worked with AI really before, so I hope people could direct me to right direction.
Rules:
- Both sides see every Pokemon, their stats as well and know every move that the opponent has
- Gen 4 mechanics with simplification. No abilities. All weather and pseudoweather moves are permanent. A lot of mechanics could be simplified or removed for AI.
Goals:
- I want to be able to explain "the thought" process that lead AI to the choice. I have an assumption that learning algorithms will not have that, so I am steering away from those out of the ignorance that I have.
- AI can sometimes guess, that you are switching so it will try to switch as well
- I am willing to negotiate a little bit with probability calculations
Some thoughts:
- I have feeling that Pokemon could be solved. So I am not satisfied with basic alpha-beta prunings or learning algorithms.
- Calculating 1v1 is trivially easy. That's why I think calculating in 6v6 36 separate 1v1's holds value.
- I think categorizing advantage as temporary and permanent holds value. Switching gives temporary advantage, but as soon as enemy mirror your switch the temporary advantage is pretty much lost. Doing actual damage gives permanent advantage.
Willing to write max. 10000 lines of code for now