skippy is a stone skipping simulator that incorporates elements of VR and 360 degree video with a pinch of surrealness. I was inspired by my childhood memories of skipping stones and the relaxing, meditative feeling that it gave me, and I wanted to share the experience -- but with a twist. By adding some surreal elements to the simulation, I hope to evoke a meditative, dreamlike experience.
The 360 video maximizes immersion within the scene. For best results, use earphones to fully remove yourself from the outside world and experience the meditative tranquility that skippy offers.
This project incorporates two libraries: JoyconLib and NetworkIt and uses assets from the Unity Asset Store.
This is the primary mode of input for the interaction, which communicates with the desktop application via Bluetooth. The user looks in the direction they want to skip the stone, presses and holds the trigger button (ZR) with their index finger, then swings their arm and snaps their wrist while releasing the trigger button. The resulting acceleration value is passed into the Android application.
This is the desktop application that reads the accelerometer, gyroscope, and button inputs from the JoyCon remote. Using NetworkIt, it sends the maximum acceleration value found during the time the trigger button ZR was held to the Android application.
The mount for the phone, the primary mode of output of the interaction.
Receives network messsages from the desktop application. Depending on the force and angle of incidence that the stone makes with the water surface, the number of possible skips changes. Ripples radiate outward from where skips occur, and a flower blooms where the stone falls. Meditation bell chimes as ripples are created, and the flowers "breathe" or "sing" in an ambient harmony. See the Video Demo for details.
Refine the stone-skipping physics, add more kinds of flowers.
Extend the behaviour of the flowers so that they might cross-pollinate or start growing on their own.
Have the stone visible when button is held and mapped 1:1 so that it moves in the VR space as the user moves the JoyCon instead of just simply reading maximum accelerometer value.