11528 is the number of bytes it takes me to store all the different moves every Pokemon in GSC could possibly learn legally (no glitches/hacks).
That number includes all learn moves in GSC & RBY, TM/HM moves in GSC & RBY, egg moves in GSC, move tutor in Crystal Version, special movesets in PS1/PS2, all the variants from in-person events during the 1990s/2000s, and all the PCNY variants obtainable from 2001 to 2003.
Removing the duplicate moves that evolutions share with their previous forms takes the size to 7318. 63% the original size.
Space can be saved with only a few more tokens (~20) when move ids can be represented as continuous ranges. EX:
If bulbasaur can learn: LeechSeed, VineWhip, MegaDrain, Tackle, RazorLeaf. And each move is 1 byte, a total of 5 bytes is stored.
But if LeechSeed=1, VineWhip=2, MegaDrain=3, Tackle=4, and RazorLeaf=5. All the moves can be represented with 3 bytes instead: 1, dash, 5
Getting the number assignment perfect is NP. After crunching my CPU over the night, I got a number assignment which brings the total size down to 4737. 41% of the original size.
Pretty content with that & thought I'd share. Researching moves and data packing has taken like 2 months of my little free time. Nice to see it coming to an end.
#picodex #picodexdual #pokemon #pico8