This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10959 - Brickmania - Ball disappears.
Attached to Project:
Rockbox
Opened by Bert Wooster (wooster) - Wednesday, 03 February 2010, 06:29 GMT+2
Last edited by Tomer Shalev (tomers) - Tuesday, 27 April 2010, 14:28 GMT+2
Opened by Bert Wooster (wooster) - Wednesday, 03 February 2010, 06:29 GMT+2
Last edited by Tomer Shalev (tomers) - Tuesday, 27 April 2010, 14:28 GMT+2
|
DetailsRunning "current build" r24477-100203 on Sansa e200 V1
Game Brickmania bug: The ball just disappears (often on Level 2, but maybe on others). Ball will just usually go to the top corner and not "bounce" back, but the game acts as if a ball is still alive (doesn't register a lost ball) though there is no further movement on screen. I just have to quit the game. The ball doesn't bounce back. No further ball is issued. It just disappears and I can't interact w/ the game anymore due to no active ball. FIRST APPEARED: This began a few weeks ago (sorry I can't be more specific), but has persisted in several "daily build" updates I've done and is in the current build I just installed. REPRODUCIBLE: I reproduce the bug each time I just play through Brickmania. It generally happens in level 2 of the game though it may happen in subsequent levels-- I don't get through to them to see. I've installed with rbuitil and manually, same thing happens. I have 2 different V1 e200s and it happens on both of them. Thanks for all your work on the great Rockbox. |
This task depends upon
I will also try under the simulator but if anyone of you can also try under the simulator, that would help me.
I've printed the ball's data in the middle of the screen while playing, and noticed that when reproducing the issue, the ball exits the screen from the corner, and keeps flying to infinity. I figured it has to do with the line collision calculation of the ball against the screen's edges. The line collision algorithm probably doesn't consider it a collision when the ball is just adjacent to the line, e.g. in location (-1,0) when the line is (0,0)-(100,0).
Maybe the line collision algorithm is incorrect (I didn't bother reading it), but a straight forward solution is to extend the screen edge's lines a bit, e.g. (-10,0)-(110,0) instead of (0,0)-(100,0) for the top screen's edge when the screen's width is 100, and that's exactly what this patch does.
Tommy (winfor):
> When we play from time to time and the ball will go exactly in the corner, it disappears. The game still works, but we do not have any balls. Makes it impossible to fully play and we must play from the beginning.
This happens in two cases:
1) The pad is in glue mode, and the ball sticks to the corner of the pad (e.g. left corner), and then the pad moves all the way to left. The ball is then outside the left edge of the screen. When the pad shoots the ball, it is fired upward and to the left, making it move outside of the screen region, towards infinity.
2) The ball collides with the edge of the screen, but keeps moving to the left. This effect is also visible from time to time when the ball collides with a brick but is not reflected from it, rather it keeps the same direction and hits other bricks as well.
I can confirm on e200 (easy to reproduce in this target).
Alex Bridges (Acb5649) opened a duplicate, "
FS#11220- Brickmania plugin lost ball":"I was playing Brick mania level 1 and when the ball got hit towards the upper right corner of the screen, It disappeared and crashed the plugin. H10, current build."
We know that the game load fine beside this problem.
I am on level 21 with 15 lives and the ball disappear, then i have start a new game.
My suggestion to fix this problem easily is to add a command to one of the button
For example, press "Rec" to start a new live or die so you have a new ball to continue playing.
Too bad if you have no live to restart and continue, but at least you can get on the high score board instead of get nothing as of now.
Thanks.
That would be just a workaround. The problem itself must be fixed.
Still, my compliments to the author of this nice little game.
It checks at each game cycle (when the balls are painted) if any ball has gone offscreen, and, if so, it starts a new round without losing any life (after all it's not player's fault :) ).
I tested it with a saved game with a ball went offscreen and it worked, but it certainly can be improved. In the next days I'll work to add the "suicide" button and add some other checks for "impossible" conditions (e.g. ball stuck in the middle of the screen): adding some code that performs this kind of basic checks should be easy and useful (also for debugging these issues).
It features:
- offscreen ball check;
- "suicide button", with its documentation in the help (defaults to Down+Fire+Quit on targets that have DOWN defined, Fire+Quit held for some time for the others) ;
- help screen made a little more clear (IMO) by underlining the key names;
- help screen *code* made a little easier to handle, adding the last element number in the words array (this eases the formatting specified in the other array);
- now the game does not delete the savefile after it loads it, but only by request (to do it a new menu entry was added); so, now "Quit without saving" will actually leave you to the state of the last savefile instead of resetting the game;
- my name in the copyrights :)
It seems to work well in the sim and on my Fuze, if any owner of other targets tries it I'm open to any suggestion, especially regarding the "suicide" keys combination.
I have a Sansa Clip+, and I'm running version e92fbb4-120415, but I've seen it in previous versions as well.
There doesn't seem to be any specific level that it happens on, but the ball will get lost in the lower left-hand corner.
Every once in a while, the paddle will be in glue mode, and not release the ball. If I have multiple balls in play, I can release the ball by getting a "N" or "F" pellet, which the paddle out of glue mode, and releases the ball.
1) There doesn't seem to be any specific level that it happens on, but the ball will get lost in the lower left-hand corner.
2) Every once in a while, the paddle will be in glue mode, and not release the ball. If I have multiple balls in play, I can release the ball by getting a "N" or "F" pellet, which the paddle out of glue mode, and releases the ball.