How can so many Pokémon sprites fit in such a small game, and how exactly is all that data compressed? It's all explained right here.