pkmn.cc is a collection of projects centered around competitive Pokémon battling.
- EPOké is an enhanced Pokémon battling client which tracks not only the observed state of the battle, but which also uses the mechanics of the game to infer as much as possible about the state of play (including but not limited to an opponent Pokémon’s spreads/items/abilities).
- 0 ERROR is a competitive Pokémon battling AI, leveraging EPOké to improve its perceived information set.
- PocketMon is a mobile application which allows you to play multi-generational competitive Pokémon in an (EPOké-enhanced) offline client against an intelligent opponent (0 ERROR).
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 board state evaluation heuristics (expectiminimax, learned policy and evaluation functions, etc). 0 ERROR focuses on the OU singles metagame in every generation, originally playing using a fixed set of teams. 0 ERROR will iterate on ideas from existing AIs, utilize usage statistics and EPOké in an effort to surpass human-level battling performance. Within PocketMon, 0 ERROR can additionally be set up in an ‘omniscient’ mode where it is aware of the true battle state as opposed to relying on what EPOké can infer.
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.