Hyperspace Pinball is an arcade shooter for Windows, Mac, Linux, Android and iOS with pinball controls that has players battling aliens and making big skill shots through more than 20 challenging and beautifully rendered levels. Score big points by collecting power-ups, running loops, defeating mini-bosses and conquering mini-challenges. You can even compete with other players on the campaign leaderboards and earn Steam badges, trading cards and more than a dozen achievements!

Post news Report RSS Hyperspace Pinball 1.2 patch released; physics bugs fixed

After a hectic week of trying to pin down issues with the ball sometimes getting stuck (especially on the Linux version) and general issues with the ball being too slow, a patch has been released to fix those issues!

Posted by on

The summary pretty much, well, sums it up. If you'd like to know what happened and how things were fixed, read on!

First of all, the game was initially released for iOS a long time ago. I didn't have these problems, and nobody reported any issues. I then did a huge facelift to the game adding new features; and still didn't have any reports of problems, nor my own in testing.

The fact was the problems were happening; there just weren't enough testers and players unearthing them; that is until the free PC promotion happened. Then when I ported the project to Unity 4 for the Linux release, the problems got 100 times worse; and I didn't play it enough before releasing it.

The problem with developing any pinball game is that you have to deal with the ball going so fast that it can stick to things and fall through things. It's doubly so in this game because there's so much free space in the playfield that the ball has free reign to just bounce all over the place and gain high velocities.

So here's what I did:

1. Fixed ball getting stuck in walls
The ball can now detect if it's jammed in a physics block, and it will "turn off its collision detection" and force itself away from the block until it's no longer touching. When it's not touching, it turns back on.

2. Fixed ball getting stuck in gap at top right
There was an open gap not protected by an invisible block that should have been there.

3. Fixed ball getting stuck in chute
This one required more drastic measures. I made it so once the ball has completely ejected and well into the playfield, that I force its X and Y position to be within the extents of the playfield. No collision tricks here; at every frame I check whether it's out of band, and force it to be in-band.

4. Fixed ball getting stuck on bottom left and right
This was due to bugs in how the invisible physics blocks were laid out. There were two thin blocks instead of one thick block, and the ball would get sandwiched between them.

5. Fixed ball being slowThe velocity limiter has been eliminated entirely. Gravity and flipper strength have also been adjusted.

6. Changed flipper behavior
Rather than using a HingeJoint spring and using a huge spring force, I now simply apply a constant force to the flipper. The force changes based on the player pressing the keys. The flipper mass has also been increased.

7. Configurable speed
If the ball goes too fast for you, you can now reduce the speed from the options menu.

8. Nuclear option
If a ball isn't moving and it's not near a flipper or the launcher, then it will destroy after three seconds.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: