How it Works

Tetris Weightlifting

Control

The controls for Tetris weightlifting are relatively simple. Users hold two handle grips while seated. Each grip has a button that can be used to rotate pieces.

Pulling a handle moves a piece in the associated direction

Pulling both handles moves a piece downward

Hardware

Weights are placed in buckets, connected to each of the handles. Two Phidgets infrared distance sensors track the current height of each bucket. When one of the buckets reaches a threshold height, the control software triggers a key press event.

Each of the handles contains an arcade-style switch connected to a remote control taken from a radio control car. A 5V relay is connected in place of each car’s motor. The relays are then connected to digital inputs on a Phidgets Interface Kit.

Software

The game software component of Tetris Weightlifting is based on an open source Tetris clone written in Java. Using an open source project as the basis for the game portion of the device helped to cut down on development time. In addition to the small changes necessary to the game’s graphics to allow it to display full-screen, I made two major changes to the game-play. The first change I made was to stop game pieces from falling on their own. This makes the game somewhat more reflective and allows players to exercise at their own pace.

In my own initial play-testing, I found that the game-play was much slower than I’d expected. I realized that one aspect that I’d overlooked was just how long it would take pieces to fall to the bottom of the playing area when moving them manually. To address this, I tried cutting the size of the playing field in half, reducing it from 12×22 to 12×11. Found that shrinking the effective playing area made the game feel much “faster”. Even though pieces weren’t moving any faster, new pieces were appearing more frequently since it took less time to move each piece to its destination.

Click here to download the source for the modified version of Java Tetris (17KB ZIP, Java).

The control software for the Phidgets sensors was a simple program written in C#.

Click here to download the source for the sensor control program (10KB ZIP, C#).