Reliving my childhood catching Pokémon and completing the Pokédex. Only this time, I'm making my computer do it.
Why not start at the beginning?
It is the game that I have the most fond memories of playing.
It has the least Pokémon.
It runs on a console with an 8-bit, 4.19MHz processor, and a screen capable of displaying only 4 shades of green. Which means emulating many copies concurrently on my laptop is possible with little time optimizing the emulator.
A complete disassembly of the game exists. Intimate knowledge of the game source code provides many shortcuts that I can use to bootstrap the AI development. (e.g. Reading memory values directly instead of using a convolutional neural network to interpret the screen)
Extending this to support other generations is left as an exercise to the reader (or my future self).
This project would not have been possible without these resources.