I've started working on a pokedex program!
It'll display sprites, names, descriptions, stats, initial move sets, and evolution paths for all the pokemon. Data is all coming from
http://veekun.com/, but I'm packing it into the calc. Image data is taking up 7 appvars! Good thing we've got ton of archive space on this calc
Darn, that is pretty good Merthsoft. I am surprised you managed to pack that many Pokémons on the calculator under such small file size.
Gotta poke them all!!
Nice work Merth, looks very nice and might even inspire someone to start work on a CE Pokemon game!
Hnnng that looks amazing! D:
Will you be doing any form of search UI for it, or just going to list them all?
Looks great, Merth! Out of curiosity, are you compressing out the " pokemon" string at the end of each description and then just appending it again at runtime? I'm sure those 8 bytes are minimal compared to the size of the sprites, but it can't hurt.
DJ_O wrote:
I am surprised you managed to pack that many Pokémons on the calculator under such small file size.
The 64k file size limit has been a bit of a pain, to be honest--mostly with sprite data, but stats data will need to be broken across multiple appvars, too.
tr1p1ea wrote:
might even inspire someone to start work on a CE Pokemon game!
Here's hoping!
tifreak8x wrote:
Will you be doing any form of search UI for it, or just going to list them all?
Yup. You'll be able to select from this menu, or search by ID or name.
KermMartian wrote:
are you compressing out the " pokemon" string at the end of each description and then just appending it again at runtime?
Yup, sure am:
Code: sprintf(displayString, "%s pokemon", genus);
There are a couple things where I'm using shorts in the data where the data is never actually bigger than, like, 100, so I'm going to change those to bytes. Saving a couple bytes in each entry when there are 769 entries adds up.
Worked some more on the UI:
This isn't final, but it's more-or-less what it'll look like. When you select the pokemon, the list will disappear, and you'll see the stats on the right side. The type text doesn't quite fit all the way across, so I may exclude it until you select the pokemon.
That looks great, Merth! Would you consider having the details pop up as a sort of dialog box overlaying the list, so that you would have enough space to fix all the details without having to also fit the list next to the details?
I'm not sure I follow. The list will not be visible when you're viewing the full details, since there will be stats, types, move lists, and evolutions.
Today's update:
This is utilizing the menu framework I started on way back in the GoL days. Needless to say, I've added quite a bit of functionality to it. BTW, code is available:
https://bitbucket.org/merthsoft/pokedex
That looks fantastic Merth!
![Very Happy](images/smiles/icon_biggrin.gif)
Have you by chance noticed that v3 of the libraries includes sprite lz77 decompression to help minimize size? With all those sprites it must be getting rather large
Oh, I'll have to check that out! Right now all the data is spread across 11 AppVars, so that would be quite handy!
Today's update: Handling pages!
I spent a long time tracking down a memory leak. I suggest to everyone doing C programming to get a static analyzer. I used
Cppcheck which did a fine job. What I really like is that there's a
Visual Studio plugin that works really well.
merthsoft wrote:
I'm not sure I follow. The list will not be visible when you're viewing the full details, since there will be stats, types, move lists, and evolutions.
Ah, now that you posted an animated screenshot, it makes a lot more sense. I thought that the list ordinarily occupied the full screen, and pressing [ENTER] to view details put the enlarged sprite side-by-side with the list, with details under it in the left column. I now understand it better.
Today's update:
This looks simply amazing! I'm just blown away with the sprites.
I definitely need to try again with learning C, only way to really make games, it seems.
C definitely has a lot of advantages over the other language offerings for the CE. Though it's worth noting that a Pokedex isn't very hard compared to an actual game.
what does the [Select] function do?
Selects the pokemon so you can view their stats and other information.
merthsoft wrote:
Selects the pokemon so you can view their stats and other information.
Does it fullscreen the Pokemon, displaying more than is shown in the scroll menu? How Detailed will the stats be?