Open source
pokemon-client
Read Pokémon games into a typed Kotlin model and play them through verified actions.
A Kotlin Multiplatform client for Pokémon HeartGold, SoulSilver and Platinum, currently targeting the JVM. It reads RAM and ROM data into a common model of the screen, team, battle and world, then executes typed actions with verified button presses and cursor movement.
kotlinds reads maps and game data from the ROM; the libretro adapter uses libretro-kmp to run the emulator. The library powers AI Plays Pokémon, with all gameplay going through buttons and the touch screen.