Balloon Pop
Introduction
This is a project carried out by I M Fine.
It is an interactive experience that uses gyroscope data from personal mobile devices to recognize the motion of a dart throw and hit and pop balloons on a large display.
Responsibilities
Rendering the Texture of Balloons (Physics R&D)
- Conducted research on physical properties using Unreal Engine's physics system to depict the characteristics of a balloon that is rigid yet can be compressed and bent
- Implemented balloon movement that reacts based on the direction of collisions and forces, rather than simply scaling the model
Creating the Effect of a Balloon Swaying in the Wind
Implemented an animation where the balloon moves up and down, as if swaying in the wind, to enhance the game's enjoyment
Implementing Gyro-Based Target and Dart Interaction
- Implemented a system that receives gyroscope data from mobile devices in real time and reflects it in the target's movement
- Implemented logic that launches a dart when the change in gyroscope input exceeds a set threshold
- Adjusted input processing and response timing so that device movements are immediately reflected in the game
Design of a Structure for Balloon Destruction and Regeneration
- Implemented collision detection between darts and balloons, as well as balloon destruction events
- Designed a system where new balloons are generated at the bottom of the screen and rise to replace destroyed balloons
- Implemented logic to manage the creation and destruction of balloons to ensure seamless, continuous gameplay
Challenges
I implemented the balloon’s movement using Physics Control and gained familiarity with Unreal Engine’s physics system and control mechanisms. While integrating mobile gyro data, I understood the importance of calibration and learned how to process input while accounting for differences in sensor values between Android and iOS.
Additionally, to ensure users could begin the experience at any time, I designed a workflow that maintains visual quality even in the idle state and returns the system to its initial state after the experience ends. Through this, I learned the importance of state management in reliably connecting the entire flow—from the idle state through the experience to its conclusion—in addition to the operation of individual features.





