B13rg/pokecrystal

Give pokemon different "forms" similar to unown

Opened this issue · 2 comments

B13rg commented

Similar to unown forms, this change would give pokemon a few different forms that could be encountered. They would be based on images of the pokemon from different versions.

For example, when you encounter a butterfree, it would have one of the following sprites:
1999 Gold demo:

1999 Silver demo:

Silver final:

1997 Silver demo:

Blue:

Yellow:

When a pokemon is encountered, it's sprite will be chosen from a pool of possible sprites based on an inherent property of the encountered pokemon, most likely stats (like unown) or level. Basing it on level would give the pokemon a sense of "growth", having it change as it becomes stronger. Basing on stats would be better, as to not lock some forms behind difficult leveling, instead leaving it to chance.

Some sprites would not have animations, especially in the case of the sprites sourced from the leaked spaceworld demos and older version. In those cases, a static sprite would be used instead.

This change should primarily target the pokemon front sprites, but should also include the backsprites. In cases where there isn't a back sprite, the default crystal type could be used.

In the pokedex, a user should be able to cycle through all the given sprites for a pokemon once at least one is caught. Even if they havn't caught a certain form of a pokemon, they will at least be able to see them all.

To start, a single pokemon should have additional forms added. Once the engine code that enables it is in place, it will make it easier to add forms.

This will add substantial amounts of data just to store the sprites, but it will result in a even more enjoyable game experience. If it ends up taking up more space then we have, the next step would be to increase the ROM size to accommodate them. This may take a lot or a little work, depending on how much the game expects to be in a 2MB ROM. Hopefully we should just be able to add additional ROM banks, increase the max index, fiddle with build commands and call it a day.

B13rg commented

Maybe also add a small symbol of sorts in each sprites bottom corner signalling what game version the sprite originates from