I'd be really curious to see how the Pokemon Red/Blue split was done. Is it a C precompiler flag? Build config? Actual config? Cloned repo?
I'd be really curious to see how the Pokemon Red/Blue split was done. Is it a C precompiler flag? Build config? Actual config? Cloned repo?
These are the values for each game:
Green: pokemon_type=0 pokemon_type_blue=0
Red: pokemon_type=1 pokemon_type_blue=0
Blue: pokemon_type=1 pokemon_type_blue=1
The general pattern for branching between game variations looks like this across the codebase: ifn pokemon_type
ifn pokemon_type_blue
; blue
else
; red
endif
else
; green
endif
Conditional assembly directives like `ifn` are resolved statically during assembly, so only the code between matching conditions is included as part of the output. To anyone interested in exploring this a bit more, I'd recommend reading Chapter 8 Section 13 of the DOS version of The Art of Assembly Language Programming [0], which starts on page 43 of the linked PDF.Bonus fun-fact: In the Pokemon Yellow codebase it says `pokemon_type=1` is yellow, while `pokemon_type=0` is pink! This suggests to me that the idea of Pokemon Pink with Jigglypuff as your starter was probably being floated around but it was eventually scrapped. (The only remaining options for a pink starter pokemon with a pink evolution in the original 151 would be Clefairy and Slowpoke, neither of which are very cute.) The idea of Jigglypuff as a starter is further supported by her appearance alongside Pikachu on the roster of the original Super Smash Bros. which seems rather unexpected unless they had bigger plans for her.
[0] http://www.plantation-productions.com/Webster/www.artofasm.c...
Thanks for this!
Source: https://m.bulbapedia.bulbagarden.net/wiki/Clefairy_(Pok%C3%A...
Very cool find about the pink version!
The downside is that we'll never really be able to play today's games nostalgically like we can with old burned-to-ROM games.
Online multiplayer games have a shelf life of sorts that depends on the servers being available and having other people to play with. There's a few examples of community-driven projects to revive classic online multiplayer games with mixed success but it'll just never be the same thing.