Pachinkoball was a small prototype made during my path of learning Unity and C#. I'm publishing this to show my approach, thought processes, and decision making during development. I try to keep these short and concise, if you have any further questions or feedback, I'd love to hear from you! Reach me on Twitter at @PhilipDrobar.

My goals going into this:

  • Creating a new prototype from scratch based on the "counting prototype" as part of the Unity Programming Simple Functionality mission.
  • Writing a simple design doc and then executing on it within a couple of hours using no external assets.
  • Time to complete: 4 hours.

Simple Game Design doc for Pachinkoball:

  • Make a simple pachinko style flipper.
  • Several “bumpers” increase the score when hit.
  • Two pinball handles that move when space is pressed.
  • They can be used to kick balls back up to hit more score bumpers.
  • Fail state: when all balls fall through the bottom.

My approach on...

Bumpers: I knew I needed to find the right kind of physics-based calculation to make the bumpers work. I had to do quite a bit of research and experimentation to get it to behave as I wanted. Using the inverted normal on the collision point seemed to do the trick, then I just needed to adjust the "bumpiness" level.

Flipper arms: After trying and failing to come to do it with regular rotation, I did some research and discovered the hinge joint component, which was actually pretty intuitive to set up in the end. In order to mirror the left and right arms, I had to invert the limits and motor velocity.

What I would do next to improve this prototype:

  • Improve the pinball board design, more variation with Bumpers and other obstacles. Maybe even randomize it.
  • Improve ball spawn, maybe make it adjustable based on a difficulty level.
  • Polish graphics, add sound and particle effects.
  • Add a powerup that randomly appears on the pinball board. If a ball hits it, it spawns a bonus ball. Maybe tie it in with the score (every 10 points, a powerup spawns).

Leave a comment

Log in with to leave a comment.