Tree Trouble
A downloadable game for Windows and macOS
Project by: Patricia, Oumaima, Cagla
Collaboration
This project was developed in collaboration with GLASBOX Makerspace. We would like to thank GLASBOX for their support.
This game project was carried through the course "Advanced Topics in Human-Computer Interaction" by lecturer Juan Felipe Olaya Figueroa.
We would also like to thank lecturer Juan Olaya for his support throughout the course.
Project Description
Tree Trouble is an interactive game where the player walks down a road lined with trees on both the left and right sides. As the game progresses, trees randomly fall onto the road, triggering a servo motor that shifts a physical weight, simulating a change in balance. The player must avoid the fallen trees by jumping over them or moving left and right through gaps.
The player has three lives, colliding with a tree three times results in a game over. During gameplay, the elapsed time is recorded, and the player can collect coins for points.
Occasionally, a strong wind appears in the game. This wind slows the character down due to resistance and simultaneously activates a fan in the controller, allowing the player to feel the wind physically in their hand.
The game features multiple levels, with each level the forward speed of the player increases, gradually making the game more challenging.
The custom haptic controller developed for this project is named WeightShift, highlighting its core functionality of shifting physical weight in response to in-game events.
Input & Output
Input:
The primary input device is a joystick, which is used to control the character's movement. The player can move to the left and right with the joystick and also jump and restart the game with the joystick button.
Haptic feedback sensation:
The game provides feedback using two outputs:
- A servo motor that shifts a weight, simulating a movement force.
- A fan that activates to simulate wind when the player encounters certain environmental conditions (e.g., in-game wind zones).
Additionally, the game provides sound feedback when e.g. the wind is active or when the player collects coins.
Hardware Components
The following hardware components were used to realize WeightShift:
- 2× Arduino Boards: One Arduino handles the input from the joystick, while the other manages physical outputs like the fan and servo motor.
- Arduino Motor Shield: This shield is used on the Arduino for the Output components.
- Joystick: A classic 2-axis joystick with integrated buttons is used for directional input and control commands.
- Servo Motor: The servo motor is responsible for shifting a mounted weight left or right, simulating motion during the game.
- Weight: A small physical weight is mounted to the servo motor and used for weight-shifting feedback.
- Fan: A fan is triggered to simulate wind feedback.
- 3D Printed Controller Enclosure: The hardware is enclosed in a custom 3D printed housing.
References
A. Zenner and A. Krüger, "Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy to Enhance Object Perception in Virtual Reality," in IEEE Transactions on Visualization and Computer Graphics, vol. 23, no. 4, pp. 1285-1294, April 2017, doi: http://10.1109/TVCG.2017.2656978
Jotaro Shigeyama, Takeru Hashimoto, Shigeo Yoshida, Takuji Narumi, Tomohiro Tanikawa, and Michitaka Hirose. 2019. Transcalibur: A Weight Shifting Virtual Reality Controller for 2D Shape Rendering based on Computational Perception Model. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems (CHI '19). Association for Computing Machinery, New York, NY, USA, Paper 11, 1–11. https://doi.org/10.1145/3290605.3300241
Fabian Hemmert, Susann Hamann, Matthias Löwe, Josefine Zeipelt, and Gesche Joost. 2010. Weight-shifting mobiles: two-dimensional gravitational displays in mobile phones. In CHI '10 Extended Abstracts on Human Factors in Computing Systems (CHI EA '10). Association for Computing Machinery, New York, NY, USA, 3087–3092. https://doi.org/10.1145/1753846.175392
Shahabedin Sagheb, Frank Wencheng Liu, Alireza Bahremand, Assegid Kidane, and Robert LiKamWa. 2019. SWISH: A Shifting-Weight Interface of Simulated Hydrodynamics for Haptic Perception of Virtual Fluid Vessels. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology (UIST '19). Association for Computing Machinery, New York, NY, USA, 751–761. https://doi.org/10.1145/3332165.3347870
Nianlong Li, Han-Jong Kim, LuYao Shen, Feng Tian, Teng Han, Xing-Dong Yang, and Tek-Jin Nam. 2020. HapLinkage: Prototyping Haptic Proxies for Virtual Hand Tools Using Linkage Mechanism. In Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology (UIST '20). Association for Computing Machinery, New York, NY, USA, 1261–1274. https://doi.org/10.1145/3379337.341581
Leave a comment
Log in with itch.io to leave a comment.