Dream Pachinko
--
An audiovisual toy about how sometimes it takes a little luck to take a break from reality.
Video link here!
For my final project, I created this toy inspired by pachinko machines. It’s less of a game and more of a toy, but I wanted to make a commentary on how crazy life can be. There’s so much randomness and things that are out of our control in every life, and we’re constantly reaching for that moment of calm; the brief escape from it all; when everything just works out. But it’s hard to get there, and sometimes it just takes a little luck.
In the normal state, it works similar to a normal pachinko or pinball machine, and the goal is to get the ball into the green target in the middle:
Controls:
- Mouse drag to turn dial that controls power level
- ‘Space’ bar to launch a ball
- ‘D’ button to force a dream state (more for demonstration)
Each color pin in the normal state plays an everyday, mundane sound when a ball collides with it.
Instead of making a big commotion with flashing lights and loud noises, I wanted to flip it: when the ball goes in the target, it gets super chill. The reward is that feeling of peacefulness and calm. This is when you enter… the dream state.
The balls now bounce in accordance to a chill musical sequence, and each color pin now changes to represent a voice in the music: white pins play a pluck, red pins play a chord from a Rhodes piano, purple pins are percussion (kick/clap), and green is a steel drum.
The ChucK side of code tells Unity which notes are coming up and how soon, and Unity delegates each note, timing, and trajectory to a select few balls (the number of balls controlled in the sequence is randomly chosen every time a dream state is entered). The more balls that are chosen, the more “full” the musical sequence is. With fewer balls, there’s a higher probability that some notes in the sequence will be dropped/ignored.
*Side note: due to time constraints, there’s a little weirdness in the trajectories when a ball plays the same note two times in a row. I tried getting it to bounce off “rebound” pad when this occurs, but I ran out of time to fully debug it.
You can’t fire any more balls once you’re in the dream state. I designed it this way so that as a user, all you really can do is just sit back and enjoy it while it lasts. When the dream ends, the balls regain normal physics in reality, and it all starts over again.
Code
Link: TBD
Final Thoughts
This was a really fun (and frustrating haha) final project for an awesome class MUSIC 256A. If I had more time, I would’ve liked to actually build an interesting background instead of the default Unity skybox and add more lights and textures. Many thanks to Professor Ge Wang and Kunwoo Kim for such an amazing class!