pkmn is a collection of projects centered around competitive Pokémon battling.


EPOké (named after a portmanteau of EPO and ‘Poké’) leverages a reverse damage calculator (‘gmd’) and additional logic to construct the perceived state based on the perspective of the client. EPOké is designed to be useful in many domains, exposing additional information from replays, extending the Pokémon Showdown client tooltips/UI, or inside the engine of a Pokemon AI.


0 ERROR (named after a famous glitch in Generation 1, while also alluding to flawless play) is an AI based around MCTS and battle state evaluation heuristics. 0 ERROR relies on EPOké's enhanced battle state tracking and prediction capabilities as well as an optimized battle simulation engine and enables offline play in the PocketMon client UI.


PocketMon (named in reference to the original Pokemon manga, with ‘Pocket’ referring to its mobile nature) will provide an interface optimized for battling on modern mobile phones. Battling 0 ERROR while offline is the primary goal of the project, but playing online against human opponents with the PocketMon UI is a potential future feature.