I'm finally returning to TI-BASIC!

Absolute Madness is roughly a sequel to Absolute Insanity, but completely rewritten and with lots of new features. It's a puzzle/action platformer in pure TI-BASIC, and it's my entry for yAronet's zContest 2011.

Here's half a level running on a TI-84 Plus:



I'm coding this on a TI-83 Plus, so I'm trying to keep it as playable as possible at 6 MHz.
O_O Wow. This is epic. How'd you do sprites? Pt-On?
A combination of lines, characters, and horizontal text sprites.
I like it! However, I noticed some obvious flashing in the re-rendering of multiple objects on screen. I'm assuming you're rendering them every frame? Perhaps only re-render what's actually moving, like the 'X' of doom, or the mushroom guy when you press movement keys?
The X is rendered every frame (for obvious reasons), and so is the boulder to account for cases in which the X passes on it. Everything else is rendered only as needed.

The reason whatever block to the right of the character flashes whenever the character moves is because I use a text sprite for it. I may just change that to a pixel sprite instead to fix that problem.

EDIT: Working on the menu screen: https://img.ourl.ca/rfg/10-14-11.gif
Deep Thought wrote:
I may just change that to a pixel sprite instead to fix that problem.
Did ^ that. It's amazing how much faster pixel sprites are than text sprites. At least twice as fast when I tested it Surprised

Then I fixed some more bugs and finally made a complete level, with boulders, enemies, and dimension switches during jumps: https://img.ourl.ca/rfg/10-21-11.gif
Do you have an objection to using hybrid BASIC sprites? That might allow you to speed it up even more. Of course, it looks amazing as-is; very impressive work. Smile
I've never done much with extended BASIC, and this is for the pure-BASIC portion of zContest 2011, so that unfortunately is out of the question :/ And thanks! Just remember that that's a TI-84 Plus screenshot. It runs about half that speed on an 83 Plus, but it's definitely playable.
Ah, that's fair. I was just thinking that one of the biggest pains with textsprites is having to redraw the sprite directly to the right of your sprite (and potentially above as well) even if you are just redrawing a single sprite.
I always use RecallPic to restore the game map every frame. That leaves me with much more flexibility in moving and displaying objects.
Deep Thought wrote:
I always use RecallPic to restore the game map every frame. That leaves me with much more flexibility in moving and displaying objects.
Ah, then there's another place that the xLIB commands in hybrid BASIC could give you a pretty significant speedup. Sad
Yeah, that's true. I never really got into xLIB though -- started a single project with it, lost it, then gave up entirely. RecallPic isn't too bad though. It's probably one command I use in nearly every TI-BASIC game I make.
Well, I finished and submitted it. Here's my final screenshot:

This looks decent. Hope you end up high!
  
Register to Join the Conversation
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.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
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

 

Advertisement