Play Safari: Comet RAT
Welcome to Play Safari!
Step into a wild adventure where games come to life through the unique behaviors of animals! In Play Safari, each controller is inspired by the spirit of a different creature, blending fun, motion, and creativity. Whether you're doing push-ups with the mighty BearFit, clapping to guide the graceful Flutter High, adjusting light for the mysterious Lantern Angler, or scurrying with precision as Comet RAT, every interaction brings you closer to the animal kingdom.

Comet RAT
Comet RAT is a controller specifically designed for Pong Game. Aiming to provide a set of new challenges to the pong game by adding a whole new layer of interface between the game and the player. The concept is to re-think the relationship between the player and the controller, making the controller more than just a input interface, giving it some personality traits and some form of autonomy.
While the Comet RAT provides a more intuitive way of input, as a trade off it will actively try to sabotage your game session by roaming on the table, which will make the paddle roam on the screen, the player needs to reorient the RAT constantly so the paddle can hit the ball.
Images


Development


Code Narrative
This project is split into two parts, one will map the IMU's yaw reading to the distance the paddle could travel on screen (700 pixels) and give a target position on screen as output. The other part will take that position and automatically try to move the paddle to it. This system effectively narrows the input to one positional input, then the system will try to figure out how long the paddle needs to go up or down to reach the target position.
The IMU reading goes from 0 to 360 degrees. The value will be mapped to a 0-700 value corresponding to the paddle's location on screen. The outgoing command (0,1 or 2) is controlled automatically based on current time, yaw, estimation of the paddle's location and framerate. Because Pong is a closed system there's no way to know exactly where the paddle current is. But with known information it is possible to estimate roughly where the paddle will be after certain actions.
Arduino Code
GitHub: https://github.com/Hzhao-ocad/Comet-Rat
Circuit Diagram
