HoeenCoder / Wavelength

The github repository for the Wavelength server on Pokemon Showdown.
http://wavelength.psim.us/
Other
10 stars 46 forks source link

SGGame AI TODO: #163

Open DeathlyPlays opened 6 years ago

DeathlyPlays commented 6 years ago

I'm basically going to play around with the trainer AI in SGGame and report anything we should improve.

List of Checks needed:

Possible Implementation:

HoeenCoder commented 6 years ago

More like: complete rewrite

DeathlyPlays commented 6 years ago

LOL

HoeenCoder commented 6 years ago

Heres a layout of what I want: The AI should support multiple skill levels which should be denoted by a number input between 0 and 5. What each of the levels generally mean is outlines here:

0: (Wild Pokemon/Very Basic Trainer) Randomly selects a move out of its movepool, only switches if its active pokemon is KOed, randomly picks what pokemon to switch to out of the non-KOed choices.
(1-5 build on each other, ex: 3 has the abilities listed in 1, 2, and 3)
1: Base. Uses moves that cause damage over anything else. Its random which one they will use out of their movepool. 
2: Uses status/boosting moves as well now. (Wont attempt to apply a status the foe has already). Avoids moves that the foe is immune to.
3: Handles combo moves (sleep/dream eater, stockpile/split up), Avoids moves that the foe is resistant to as well. Will switch out if the matchup is bad for the AI.
4: Will switch out if there is a good oppritunity. Perfers super effective moves. Takes into account the players actions (see bellow).
5: When attacking, prefers moves with a higher estimated damage (taking effectiveness into account). This AI's pokemon will not be able to 2HKO the foe, and can boost to make it possible, it will do so.

This is subject to change as possible improvements come up. The COM should not be looking at the players choice or other info it does not have access to. It can look at moves the player has used/it has been notified about (ex: forewarn) when making a decision though at level 4 or higher.