Closed caymansimpson closed 6 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 84.03%. Comparing base (
f458350
) to head (547dbdb
). Report is 36 commits behind head on master.
Actually, please don't accept quite yet! I realize that it's probably important for the AI to record the events in the last turn that leads to victory, which it doesn't right now. This is not necessary for decision-time planning, but may be helpful information for AI who learn from a game after it's played
This PR ballooned and now contains many things 😅:
Observation
class that tracks the states of the Battle each turn. Each Observation
class holds the state at the beginning of the turn and the events
observed in that turn that leads to the next stateObservedPokemon
which can be used by AIs to track Pokemon
information (and what Observation
class uses)save_replays
functionality to use Observations
tera_type
suppport for Pokemon
TargetTypes
to support Dynamaxdetails
argument for Pokemon instantiation
Thanks a lot @caymansimpson !
On Observation class design, it catches all temporal effects that allow us to recreate a Public Belief State (all observable information) at the time. This includes:
With this information, you can recreate battle states for an agent to learn from, or feed into a model. Right now, there is no inference or processing on top of the raw data stored in the Observations class