Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plunger sometimes fails to hit still ball #210

Open
Tynach opened this issue May 17, 2024 · 3 comments
Open

Plunger sometimes fails to hit still ball #210

Tynach opened this issue May 17, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@Tynach
Copy link

Tynach commented May 17, 2024

This is most noticeable when watching the 'demo' mode, because it usually causes the demo to never be able to complete a game. It pulls all the way back on the plunger, releases, and the ball stays still.

When I play on my own, I just have to repeatedly try until it works. Most often it works first try, sometimes it requires a second time, and occasionally I have to try 3 or even 4 times.

I'm playing on git master, not any of the releases.

Potentially relatedly, I noticed that the 2.1.0 release includes 'collision system changes'. Does this have any effect if we're using the Windows 3D Pinball level data, specifically the version from Windows 2000 (not XP)? I'm not interested in Full Tilt compatibility whatsoever, I mostly just want to faithfully emulate how the game behaved on older versions of Windows.

I tried compiling version 2.0.1, but for some reason it refuses to see the level data in /home/tynach/.local/share/SpaceCadetPinball/. The files are there, and the pop-up acknowledges I can place them there, but it acts as if they aren't.

Probably unrelatedly, but a couple days ago I had a very strange collision bug happen twice in the same day (hours apart, and hasn't happened since): when the ball was moving slowly toward the 'launch ramp', it sorta.. Slipped through the ramp and fell out of the map. A few moments later it spawned a ball and launched it out with the plunger automatically on its own.

I don't know if that ever happened in the original 3D Pinball, or if it ever happened in Full Tilt. I don't know how rare it is.. On one hand, I've been playing with this for many days now, and only experienced it twice. On the other hand, both times were within the same day.

@Tynach
Copy link
Author

Tynach commented May 17, 2024

To clarify some things...

The ball 'falling through the floor' may or may not be a bug, depending on if it happened in the original game. I'm not reporting that as a bug right now.

I don't know if the 'collision system changes' made for 2.1 are responsible for any of this. I did try building and running 2.1, and the behavior seemed present there too, though the plunger also pulled back significantly faster and had other oddities to it (which I see multiple bug reports for already), most of which seem fixed in git master.

I would consider 2.0.1 not detecting the game files in the directory it claims to be looking in to be a bug... But it's obviously fixed in more recent versions, since 2.1 and git master both work fine.

So, this bug report is only about the plunger not hitting the ball (even when the ball has settled and is perfectly still), where it seems like pure random chance whether or not it hits.

While it was tempting for my brain to think, "Oh, maybe if you don't hit the ball hard enough, it just doesn't move," because I try to get that 75k 'skill shot' most of the time so only press the space bar for about half a second to two thirds of a second... But seeing the demo mode fail to launch the ball despite pulling the plunger all the way back cleanly proves that false. I've also occasionally pulled it all the way back and found the ball unresponsive, but I probably wouldn't have even tried if not for the demo mode durping out.

Also, I've run the original game in a Windows 2000 VM and never had the plunger fail to contact the ball. I play the version I built from this repository on Linux natively since I have weird framerate problems with QEMU, but the ball movement is.. Mooostly the same as what I observe in the VM, with some differences to how I need to time certain paddle hits. Maybe. I'm really bad at doing that in general, but it just seems like that in my limited experience.

@Waitsnake
Copy link

Waitsnake commented Jun 1, 2024

I can confirm, that I saw the same issue, that Plunger sometimes fails to hit still ball.
When it happens I just shoot the plunger again with more power and this can help and sometimes not or alternatively I just use table bump function before using the plunger again. This should help to free this stucked ball again.

I use the downloaded release V2.1.0 for MacOS on an MBA M1 (ARM64) with Sonoma 14.4.1 and as game data I used the Full Tilt files and set table screen resolution to 1024x786.

I played Full Tilt many times before on Windows 3.1 running in Dosbox with the 800x600 resolution and never saw this issue there.

And I love that you added Full Tilt compatibility! ❤️
Once you played the game on a higher resolution table from Full Tilt you just can't go back to low resolution table of Windows 3D Pinball. 😉

Edit:
I also played Full Tilt now on Windows 3.1 in Dosbox with the 1024x786 resolution for better comparison. So far I did not saw this issue there.

@Tynach
Copy link
Author

Tynach commented Jun 1, 2024

I can confirm, that I saw the same issue, that Plunger sometimes fails to hit still ball. When it happens I just shoot the plunger again with more power and this can help and sometimes not or alternatively I just use table bump function before using the plunger again. This should help to free this stucked ball again.

@Waitsnake, I've done a lot of experimentation, and found that the chances of it not hitting the ball remain the same regardless of using tilt or how hard you pull the plunger back. The majority of the time, the plunger hits.. But at random, it won't hit, and sometimes — because of the way random numbers are — you'll get multiple "won't hit"s in a row.

I've also now downloaded Full Tilt off the Internet Archive, and run it in Wine. It seems that they've significantly altered the way that the plunger makes contact with the ball, making it MUCH easier to make it hit even when the ball is still bouncing in the starting tube. Like, the ball doesn't have to actually be at the bottom for it to be sent flying by the plunger.

In Windows 3D Pinball, that isn't the case, and it is hard to time. However, I don't ever really run into a situation where the ball is both standing still and the plunger misses. Even if you just barely hit spacebar for a single frame or two, it still registers and bumps the ball up a little bit every time. Or at least most times, as there was ONCE that it didn't hit, but it was immediately after it stopped bouncing, and there might have been a subpixel 'bounce' that I couldn't see, or a 1 pixel bounce I missed seeing. But even if it was a legitimate 'miss', it happens FAR less often in the official build.

If I were to wildly speculate without knowing what I'm talking about, I'd suspect that whatever randomness is applied to collisions to avoid infinite loops, is being applied to the plunger in a way that's incorrect. However, I don't see any other weird physics issues with the rest of the gameplay, like one might expect in such a scenario. Things that tend to loop several times in a row (like that top right wormhole when the two rightmost field multiplier targets are down) still do, for example, so it's not like there's more randomness than warranted on most of the physics (that I can see).

But I also can't think of any other rational explanations for why something would only affect the plunger, and in such a random and unpredictable way.

@k4zmu2a k4zmu2a added the bug Something isn't working label Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants