was8bit 2020-02-02 08:52
... testing ...
Roger Davis 2020-02-02 09:34 (Edited)
Hi there was8bit! I realise this is a test (and an early one at that), however there is something I feel I should let you know about. I have been trying out all of your test programs, including this one, multiple times after downloading them - running them, then exiting the program and running them again. Over & over. The other tests seemed to run perfectly well. It's THIS one though that has a problem! On occasion the "ball" will appear to 'blend into' the Spinner. It will sometimes 'stick' in the Spinner as if it is actually a part of the Spinner, and become 'inert' (non-moving) for quite some seconds. I have tried this on normal speed (no buttons pressed), fast (A-button pressed), and very fast (B-button pressed) speeds. I have found that it happens in all speed tests done by me, regardless of the angle at which the "ball" hits the Spinner, and regardless of where along the length of the Spinner the "ball" hits it. Totally at random. This test (version 0.1) would therefore not yield proper results. I know you're probably already onto this, but I wanted to let you know (if that's the case) - that I noticed this glitch also. Two of us cannot be wrong! 😊👌
was8bit 2020-02-02 11:00 (Edited)
Thanks for testing and the feedback :)
.. you are absolutely correct, there is a "sticky" situation here ;)
At first, it would stick all the time, so i added this code...
Which takes the ball back one movement once contact is detected, so now it only sometime sticks rather than sticking all the time...
The problem is 2 fold...
1) the 1st test detects a sprite hitting a cell (a zoomer) and also the zoomers only add a little bit of influence which allows the ball to usually pass thru them
2) the 2dn test detects the ball sprite hitting a paddle sprite... this means the sprites MUST touch to trigger detection of the contact... also the paddle SHOULD cause the ball bounce off and not go thru the paddle sprites...
I will probably try to double the back up amount since the first code i added did help a lot, maybe doubling it will help the occasional sticking :)
was8bit 2020-02-02 11:09 (Edited)
Ok, so,doubling would not eliminate the occasion when the ball and the paddle were approaching each other.. so i changed the backup code into a loop that kept backing the ball away until no more contact was detected...
WHILE SPRITE HIT(1)
Which SEEMS to be working...
... if you can guess, i am testing key parts of my pinball game to get each part right... then i will put all of these parts back into my pinball game :)
Roger Davis 2020-02-02 12:46
Yes was8bit, I knew what the tests were about. I meant to mention something to you earlier on, but forgot! Years ago I played a game of pinball written on the Commodore C64 Computer. It used a trick whereby the "ball" Sprite was kept fairly much in the centre of the screen, while the pinball 'table' (playing area) was on another screen, and was moved "around" the ball! It was a visual trick that produced the same look & feel of the motion on a pinball table. Now that I think about it . . It probably cut out a lot of the need for intricate coding! Just thought I'd mention that. I don't know if it's useful to you or not? 🤔 I believe you used a similar piece of code in that "Screen Doubling" trick you did for me a while back! The main character Sprite being kept centred in the middle of the screen, whilst the lower screen scrolls around it! 😊
was8bit 2020-02-02 13:57
That would be a good idea for a table bigger than the visual screen.. good idea :)
Roger Davis 2020-02-02 22:06
Roger Davis 2020-02-02 23:26 (Edited)
By the way was8bit, I've continued to perform tests on version 0.2 of this for you. Your new coding has done a wonderful job of solving the "sticking ball" problem. I have done the same tests as before at varying speeds, and have found that the incidences of the ball getting stuck within the Spinner are vastly reduced! In fact, the ball does not stick (at all) to the outer 4 balls of the Spinner at any time! The ball DOES though occasionally still get stuck (for a shortened period of time) on the CENTRAL part of the Spinner, - usually at around a position between:
0000 . . And,
Still, this is barely perceptible at high speed (with the A-button pressed), and as I said the 'sticking' time is greatly reduced. I believe this is likely to be as good as you could expect! : )
was8bit 2020-02-03 04:31
Ah, your tests are SUPER helpful, THANK YOU \(^_^)/
This spinner is wide open to the ball at all angles... in the pinball game, the paddle movement is limited and ball access to the paddle will also be limited... we shall see how it all works when i port my test codes into the pinball game :)
Roger Davis 2020-02-03 07:01