Course: Interaction Intelligence, Spring 2023
Instructor:  Marcelo Coelho
Project Duration: 4 Weeks
Team members: Kai Zhang, Tatiana Estrina

How to make a simple '1D' game that encourages physical collaborations?


See Saw is a one-dimensional game that encourages collaboration between two players who share a single controller. As they slide along the rail, the players must maintain balance and overcome growing challenges. The project involves both software and hardware development. The game is coded within the p5js environment and receives data from Arduino via a serial port. This page will concentrate on the hardware design process.
How to play
Each player controls one block. Tilt the handle to move.
Each player controls one block. Tilt the handle to move.
The size represents weight. The heavier the longer.
The size represents weight. The heavier the longer.
Similar to a see-saw, it tilts! Try to balance it.
Similar to a see-saw, it tilts! Try to balance it.
1/3:The block bounces back when it hits another block
1/3:The block bounces back when it hits another block
2/3:The block bounces back when it hits another block
2/3:The block bounces back when it hits another block
3/3:The block bounces back when it hits another block
3/3:The block bounces back when it hits another block
Controller development

Iteration Process

First iteration: see-saw

The initial controller simply merged a conventional game controller with a see-saw. While the interaction was natural, it failed to foster collaboration---players only use their individual controllers to play the game.
Second iteration: cross

To promote physical interaction, we combined two see-saws into a cross-shaped controller. This distinctive design encourages players to engage with each other's bodies, adding an extra element of fun. However, the basic cardboard prototype restricts independent movement for players.
Third and fourth iteration: free rotation
The solution to the movement problem was to introduce an extra degree of freedom. The third prototype effectively used a rod and a slightly larger hole, but it lacked a polished look and feel. To elevate the user experience, I added two bearings on each handle, resulting in smoother rotation and a premium feel. You can clearly tell the difference when you grab it in your hands.

Thanks to the cross-shaped design, the electronic components are straightforward, requiring only one joystick and an Arduino board. The joystick's X value corresponds to Player 1's acceleration, while the Y value corresponds to Player 2's acceleration.
Back to Top