Last edited by DJ Omnimaga on 09 Mar 2022 08:43:33 pm; edited 2 times in total
I have revived my 2013 project Supersonic Ball HP, which was supposed to be a remake of my TI-83+ game Supersonic Ball written in Axe in 2013. For many years all I released was a title screen running at 14 FPS, which I later improved but never expanded further than the title screen. When I got a G2 HP Prime my interest for this project got revived, knowing I would most likely have enough execution speed for such game. The result is a game running roughly at the same speed as the regular TI-83+ version, maybe slightly faster.
The screenshot shows the game running roughly at the same speed as on G2 HP Prime, although at lower frame rate:
Although the game will be playable on a G1 HP Prime, it won't be so "supersonic" unless I find ways to optimize it further than the Axe version. Most of the engine's code is reconverted Axe Parser code, parts of which were optimized by Builderboy in 2010.
EDIT: Here is a video running at 60 FPS showing the game in action on two real calculators:
Last edited by DJ Omnimaga on 09 Mar 2022 08:43:30 pm; edited 1 time in total
Thanks! I have now implemented a screenshot-friendly feature for those who have a slow PC or slow screen capture software that slows down the game to 10% its original speed if you press the memory key on the title screen. That feature will only work on the emulator. That way once the animated capture has been done you can speed it up 1000% in your favorite animated PNG/GIF or video editor.
I also made the game so that it runs at the same speed on the simulator as it does on-calc, although I assume on very old PCs this might actually slow the game down.
EDIT: I added a better screenshot to the first post taking advantage of the aforementioned features.
Last edited by DJ Omnimaga on 09 Mar 2022 08:43:26 pm; edited 1 time in total
Thanks! I actually started working on a CE port using ICE a few years ago but I don't remember where I put the code. Ideally it would be preferable to be in C (although I would have to learn it) since ICE is no longer supported but I guess it could do the job. I just don't remember how much code was written (if I still have it at all) besides the following title screen. There was even a CSE version using xLIBC in the works earlier:
Also I added an option to enable motion blur with frame skipping (as it slows the game down), for those who would like to mimic the TI-83+ screen. However that feature cannot be enabled on a G1 model for speed reasons. On a G1 model the game also now has black bars on each side of the screen to reduce drawing time a little bit.
Here is a screenshot, although before the effect is enabled the frame rate is low because I captured without using the capture feature:
The BLIT_P() command in HP PPL, which copies a part of the screen (or one of the 9 buffers) to another part of the screen (or one of the 9 buffers), has an alpha parameter for opacity.
I have uploaded version 0.26 beta to the Cemetech archives. It features the following options on the title screen if you press the following keys:
1: Set normal, G2 mode
2: Enable motion blur with frame-skipping
3: Enable motion blur without frame skipping (game will be slower)
4: Force the game to think it's running on a G2 model
On a G1 model the first three options cannot be set unless you press 4 first and there will be black bars to increase frame rate.
Big update! By reducing the amount of zooming in being done in the game I managed to increase execution speed significantly!
EDIT: The game now runs around 60 FPS max on G2 HP Prime and 15 on G1 hardware. All sprite scaling is now pre-rendered to increase gameplay speed. On G2 calculators the ball physics are now smoother.
Yeah it's the same collision engine as in the 83+ version so it's very bare-bones. The ball can move up to 8 pixels at a time rather than just 1, which can result into some weirdness sometimes. You remain temporarily stuck under the ceiling less often than in the 83+ version, though.
I also added highscores and another tileset, along with new tiles for two of the extra levels, but for some reasons on the HP Prime exported variables do not always persist after runtime, so sometimes after relaunching the game the highscore will reset itself back to 0.
EDIT: Here it is: Version 1.00 of Supersonic Ball HP!
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum