Around the beginning of October, I started a Hybrid BASIC Jezzball game for the TI-84 Plus C Silver Edition and Doors CSE. For those not familiar with Jezzball, it's an extremely addictive arcade/puzzle game from the Microsoft Entertainment Pack (MSEP) for Windows 95. I used to have the most fun with that around 5th grade, and although there is one TI-83+ ASM version, it has poor reviews. There are no color versions. Anyway, I started a color version, but soon ran into speed problems. The screenshots below shows the current state, without the ability to remove the line-in-progress when a ball hits it, and with poor behavior when a ball gets trapped in a small space (please pardon the graphical glitches; they are jsTIfied's screenshotter's fault):



I therefore decided that I would make a version in Assembly, and that I might as well also submit it to the current Omnimaga programming contest if I can get it down in time. To further challenge myself, I'm trying to use the same source code to build both a color and monochrome version of the game. Here's as far as I've gotten it so far, with a crystal-based interrupt for consistent ball movement, a cursor you can move with the arrows and flip with [ALPHA], and a debug-mode key of [+] that lets you advance levels. It also has the key and structure framing for a main menu, but no graphics.



Edit: And if you want a very rough idea of what the color version looks like, imagine that the left half of the screen here covers the entire screen:

Classic game and I must say the trial is still pretty sweet.

I am very interested in the multi build concept.
This looks pretty good so far! Eager to see what this looks like in a more playable form.

Thinking for the color version, you might want to go with smaller balls, because otherwise it won't take very long before you can't progress to the next level.
Jezzball will make it on make calc, just make it no-shell since my friends don't understand how to use shells wisely. B&G FOREVER!
ordelore wrote:
Jezzball will make it on make calc, just make it no-shell since my friends don't understand how to use shells wisely. B&G FOREVER!


Pretty sure it uses DCS libraries, so anyone wanting to play will need DCS at least run and installed. It has the Homerun feature, which means they don't need to go through the shell to run it, they can do it normally from the prgm menu.
I like Jezzball very much, and am glad to see a version being developed for the CSE! I hope, though, that it's physics stay truer to the original than the TI-83+ version, which was nearly unplayable.
ordelore wrote:
Jezzball will make it on make calc, just make it no-shell since my friends don't understand how to use shells wisely. B&G FOREVER!
I don't know what B&G is, but this will definitely requires Doors CS 7 on the monochrome calculators and Doors CSE on the color calculators. I think you need new friends; it's not exactly hard to press [Apps] and choose Doors CSE. Razz

Caleb: Thanks, that's my goal.

tifreak8x: Yeah, I think I'm going to scale down both the grid pieces and the ball from 12x12 to 8x8 on the CSE. Thanks for the compliments and suggestion. Smile

tr1p1ea: It's the first time I'm trying anything of the sort, so I'm doing my best to make it stay relatively sane and readable. Smile
B&G stands for Black and Green. Unless I get the CSE as a gift, I won't ever be convinved to get it under my own financing.
*bump* Between last night and this morning, I wrestled with and implemented a fast ball-checking and "flood"-fill algorithm. The balls don't bounce off the filled areas yet, but the fill acts correctly based on ball position. Next up is getting the balls to bounce off the fills, then getting the balls to be able to cancel fills. The simultaneous 84+CSE version is also working, but there are some graphical glitches with the fill, so I didn't screenshot that yet.

This looks fantastic! Is it still having issues with the cursor staying in the screen spot after it moves, or is that an emulator glitch?
tifreak8x wrote:
This looks fantastic! Is it still having issues with the cursor staying in the screen spot after it moves, or is that an emulator glitch?
The cursor glitches are the result of glitching ASM code, not glitching Javascript code. Wink I'm planning to get more of the gameplay in place before I worry about that, but it'll get done eventually. I also need to do some debouncing / repeat control on the cursor, because it's difficult to flip orientations and to position it precisely. Of course, if I want to get this working for Omnimaga's contest, I have exactly 4 days and 8 hours left. Smile
Looks good so far Kerm and best of luck with the deadline! will be cool to have you entered!
I don't say this much, but it does look fantastic! I thought you were only programming it for the CSE, didn't know you were making a TI-83+/84+ version! Very Happy
Oh, I certainly am. More progress from today: balls now bounce off filled areas, and fill detection is implemented. I almost feel like I do need smaller balls here. Neutral



Edit: Also, you can see some amusing things happen from balls ("atoms" in Jezzball parlance) not destroying walls in the midst of being drawn.
Looks pretty awesome Smile

Is the line killing upon impact not yet implemented?
tifreak8x wrote:
Looks pretty awesome Smile

Is the line killing upon impact not yet implemented?
No, that's among my next items of business. I have a To-Do list for today that includes implementing that. Smile
I'm an hour early to be technically allowed to do this, but anyway, *bump*. I have implemented additional various facets of the rules and gameplay mechanic, including:
1) Balls hitting an in-progress wall will cause that half of the wall to be removed and erased.
2) A life is lost each time half a wall is removed, and if you lose as many lives as the level has balls, you lose
3) Walls that are created over ball (this is a subtly different case than (1)) cause the same erase and life decrement
4) The bounce/collision code for edges and fills now covers more corner cases.
5) The cursor can no longer run off the edge of the screen



What's left on my todo list for the next 2.5 days?

Code:
; [ ] Try smaller grid/balls (4 and 5 px respectively)
; [ ] Add scoring
; [ ] Add game over score display
; [ ] Add fill, score, lives display
; [ ] Add high score storage, computation, and notification
; [ ] Add main menu that shows high score, help, author, URL
; [ ] Add key debouncing for rotation, and perhaps something for cursor movement too
; [ ] Remove debug define


Edit: Collision bugs aside, do you guys like the smaller grid (6->4 px) and smaller balls (8->5 px) shown below better? It should allow you to get to higher levels.

I like the smaller grid.
I think the smaller grid looks better, as it will allow players to advance a bit further a little more easily. Smile Looks fantastic overall.
tifreak8x wrote:
I think the smaller grid looks better, as it will allow players to advance a bit further a little more easily. Smile Looks fantastic overall.
Thanks to both of you! Here's the current status, with score/level/lives display, a cleaner Game Over screen, and a main menu. There are still plenty of in-progress things, including the display of the main menu and what looks like a pair of subtle bug with wall removal, but it progresses smoothly:

  
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 4
» 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