In April 2003, I uploaded a Breakout clone called either Breakout (the Cemetech/ name) or Hardball (the program's own name) on Presumably I also uploaded it to an old version of Cemetech, but since the current iteration of Cemetech dates from 2005, that's lost to the ages; Cemetech's version dates to 2008. I had long since forgotten about it until January of this year, when dunlavy reviewed it with some well-deserved constructive criticism. Far from "amazing", it shows what my TI-BASIC chops were like 17 years ago, and I was able to replicate the bugs that dunlavdy reports (plus a few extra of my own). I put updating it on my to-do list as a project for a day when I needed to unwind with some calculator programming.

I had some time today, so I sat down with SourceCoder and tried to work through some of the programs issues, bugs, and weaknesses. Among the changes that I made:
  • Rewrote a lot of Lbl/Goto code using loop constructs
  • Rewrote a lot of branching code with nested conditionals
  • Ripped out the old system of three modes that all used stored, randomly generated levels, instead opting for a two-mode system that will have 10 pre-set levels and a random level option.
  • Rewrote its ZStandard-based graphics code to use the "friendly window" graph coordinate setup where 1 pt = 1 px
  • Adjusted logic to speed up the ball's movement
  • Changed how the paddle and ball move to add more sanity and safety checks
  • Made the ball and paddle thicker, made the paddle longer
  • Changed the logic for erasing bricks
  • Changed the logic for the departure angle from the paddle to match what I observed is the standard approach (where on the paddle the ball hits sets the ball's velocity instead of accelerates the ball's velocity in a given direction)
  • Used lines instead of pixels to draw and erase blocks, for speed

I still have plenty to do: programming the 10 pre-set levels (it just fills the whole game grid), adjust spacing of items to make sure that the glitch you see at the left side in the "improved" screenshot doesn't recur, add the random level mode, and add high score-keeping. It's not a high-profile program, but it's fun to apply some of my new knowledge from the past 17 years, and while the remaining items are not trivial, they're hopefully few enough that I can fit it into the rare free time I get for myself and actually release it. And perhaps I'll port it to the CE at some point.

Original (left) versus current update-in-progress (right)
Pity about the framerate, but I guess that's BASIC for you.

It's kind of fun to go back to an old program like this; I was recently looking at ticalc and found my old Sudoku which doesn't seem like it need significant updating but it did remind me of the kind of neat UI flourishes that were included.
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 GMT - 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