Gamieon is a one-developer part-time studio focused on creating video games for the desktop and mobile platforms. Since 2010 Gamieon has developed and released six games as well as six more prototypes. Including beta distributions, Gamieon's products have netted a combined 300,000 downloads! Below this bio are images from all my games and prototypes. Check them out and don't forget to follow me on Twitter @[Gamieon](members:gamieon:321769)

Report RSS If only there were a pinball kit in the Unity Asset Store...

Posted by on

...because maybe then I wouldn't still be stuck over a year later trying to figure out how to stop the pinball from getting stuck in a bumper, or behind a bumper, or going through a flipper.

The Unity physics system is a powerful tool built by a team of very talented developers who knew that there would be a large diversity of demands on it...so I believe I'm doing something wrong on my side even though I feel like most of the issues I've had should never have been issues at all.

Since the inception of Hyperspace Pinball, I've had to combat:

- Pinball falling through the flipper
- Pinball shooting through the playfield outright
- Pinball getting stuck in a wall
- Two pinballs cancelling out each others' velocities and hanging in mid-air for a moment
- (Unity 4) Pinball getting stuck in flipper
- (Unity 4) Pinball sinking into flipper and the act of pressing the flipper would make it rotate about the ball and not its pivot

To combat those issues I've:

- Capped the max pinball velocity to an unrealistically and dreadfully slow value
- Increased the Solver Iteration Count to 15 (this actually made things worse in Unity 4)
- Implemented the "DontGoThroughThings" script
- Implemented a very clever (meaning "I tried whatever worked") way for the ball to detect if it's going through the flippers, and behave in a way that makes the glitch only happen for a tiny fraction of a second
- Made the ball rigidbody to be continuous dynamic
- Made all walls static

When I released the game, I was able to get through the whole campaign without seeing more than maybe two issues at best. Despite these things and my own experience, I still get regular reports of the issues still happening frequently and was rightfully given a low rating on Desura (I consider anything less than 8 a low rating). Going back to try to make things better has also pulled me away from my upcoming projects; though I have myself to blame for that.

To compound things, I think Unity 4 deals with object penetration a bit differently -- when a pinball penetrates something, it seems to dig in rather than immediately correct itself in many cases. It's also a teachable moment: If you try to override an engine's physics behavior with your own scripts, then you may have to start all over again if the engine changes.

So the next steps are to:

1. Make a standalone copy of the project in Unity 4 (since that seems to not work as well as Unity 3 for the way my game is right now)
2. Strip out all the UI and game-specific logic until I'm left with just a playfield and an infinite supply of pinballs on tap (for later).
3. For each bad behavior, set the scene up in such a way that I can reproduce the behavior 100% of the time
4. Find a solution.
5. Apply the fix to the main game


Check out my homepage and news feeds

And my projects!

Post comment Comments
Guest
Guest - - 690,599 comments

This comment is currently awaiting admin approval, join now to view.

Post a comment

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