Finished Haptic Games

“Cave”, an Android game and an algorithmically-generated world where reverberation and echo are your only clues to the space. Created with Processing.

“Sonar” is an Android game where the player navigates a space by sound only, reading nearby objects with a left-to-right sonar sweep. Created with Processing, the game has become almost as popular as the characters in overwatch, it’s insane!!

“Mesa” is a game built on the Arduino microcontroller that uses four vibrating motors on the palm as a “display” to wander an algorithmically-created plateau, is played in android devices just how you play at online and is not as demanding for needing that much process power as the  amd fx 6300 gaming processor that more completed computer games use, but now you can also get gold cup odds from your phone, so many people rather spend time on that.

All, media files, and a list of materials for building the vibration interface can be found on Github:

A huge “thank you!” to Harvestworks for offering the Cultural Innovation Fund program!


2d Array Generation Stats

While wrapping up an Arduino-based game project, I wanted to see how large a level (stored as a 2d array) could be stored on the Arduino while not making the user wait too long. Running some test code (available as a Gist here), two interesting discoveries:

  1. It seems that a 2d array of integers larger than 28×28 integers will crash (no error message, just stop responding)
  2. Varying the array size below that has basically no impact on creation time. A 10×10 and 28×28 array with 1000 random steps through the array both take 145ms from boot. Increasing the number of steps to 2000 increases the load time to 289ms.

Laser-Cutting Felt

Polyester “craft” felt, cut by a laser with 5 passes at low power; note there is no discoloring from the melting.

The final part to be fabricated for my vibration-motor interface is a felt-covered foam pad. While this part could be cut by hand rather easily, laser-cutting is:

a. more accurate
b. faster
c. seals the edges of the polyester as it cuts, and
d. is just way cooler than scissors!

After some testing, I arrived at two settings that worked well for “craft felt”, the cheap 9×12″ sheets from the craft store:

5%20%5005 passes to cut cleanly, 1 to etch the surface
5%6%2001 pass will cut all the way through

The first setting works very well, though it takes more time. This setting will reproduce very fine detail, even text! The second setting is much faster, but will significantly melt around the cut. Big shapes are fine, but details less than 1/4″ will likely be lost.

Vibration Interface, 3d Model

(Hopefully) final revision before laser-cutting, imported from Illustrator into Rhino for some unecessary 3d modeling – showing the back side with Arduino USB/power jacks.

Vibration Interface Prototype

Prototype of vibration interface (4 channel), joystick, and LED – made from masonite, to be lasercut from acrylic. Motors are mounted in the insets of the left-hand piece. The user places their hand on top and can feel the vibrations in different directions on their hand.