I recently became interested in learning how to use the C libraries in order to make programs that can read data from appvars or other programs. (I will eventually need to do that in BOOM (https://codewalr.us/index.php?topic=2615.0), which is slowly but surely growing.)
That gave me idea of porting my old game BOULDASH (written for the TI-83+) to the TI CE, as it was a rather simple game that looked through the calculator's appvars to find level packs (like MARIO).
BOULDASH CE is now finished, and it is fully compatible with the original game's level packs, so the same Windows level editor can be used to edit the existing levels and make new ones!
Here are some pictures of the game, showcasing some of the included levels:
The two levels above are part of the tutorial levels (that progressively introduce new items and game mechanics). The two animated screenshots below show level packs from the original BOULDASH game.
The two screenshots above show the levels "DonkeyKong" and "PacMan" from the "Difficult games" level pack. "PacMan" is hard because you need to collect all the diamonds, and falling diamonds kill you; but if you successfully played all the previous levels, then you have a chance to finish this one as well. Below, you can see a level from the "Balderdoush" level pack, and the "Freefall" level, perhaps the hardest of all the included levels, but it is humanly possible!
(https://drive.google.com/uc?id=1FLMgh0WlJ8h3y4qcRP9hoWwWx5f8A312) (https://drive.google.com/uc?id=1jXROsXdZwHe6RKsGUuy1XhHJnfLSUcLc)Everything is available for download there (https://www.ticalc.org/archives/files/fileinfo/475/47554.html) (game, source code, level packs, level editor); the C libraries are required to run the game.
I did my best to keep the source code clean and well organized. Each feature has its own .h and .c source files, and they are all as independent from the others as possible:
- detect - detection of existing level packs
- menu - level pack selection menu
- main - calls detect, then menu, then levelpack
- items - enumerations of the different game items and their properties
- levelpack - level pack parsing and levels loading
- level - the actual game engine
- draw - rendering of the view
In case some people here aren't very experienced with game development for the TI CE calculator, but would like to learn how to use appvars for level packs, or how a game engine can be split into several parts: feel free to study this simple game's source code.
Do not hesitate to make your own levels and share them here :)
THis is definitively going on my calc soon. I like the graphical style that remains true to the original. :)