So, long story short, Johnny the ghost lost his loofah in another dimension and we have to help him find it because he really misses taking baths.
This tragic story needs a hero, or heroes rather, to rescue johnny out of his misery.
Ghost Loofah is a two-to-three player game that uses unusual tangible interfaces to move a character through a series of obstacles.
The controls are very simple:
Rotate the pumpkin to move Johnny up and down
Flash the light to the bold-looking ghost to move Johnny forward, or flash it to the sad-looking ghost to move him backwards.
Place the color cube on the X mark to change Johnny's color
Goal
The players win if they manage to move Johnny through 8 different portals, and they loose by either crashing into a wall or going through a portal with the wrong color.
Design and conceptualization
The whole idea began as Joe and I wanting to create some sort of sound-based puzzle game that people could play with through tangible interaction – that made sense to us since we both have a background in music. I had a very rough idea in my head of wanting to use color cubes and set some soft of action to them.
After a lot of back and forth, we decided that we could try to affect a character on a screen by taking a physical action in the real world and we got hooked with that concept.
We started going through everyday objects and how a simple interaction with them could be mapped to something on a fictitious world, and that's how the loofah came to be.
We though of wireless communication and building a fancy one-player controller that a single person could operate through different gestures, but we kept coming back to the initial concept of the color cubes, so we naturally felt lost until we had the epiphany of creating this as a multiplayer game, and everything fell into place.
At first, the players would squish a loofah to move the character forward, and by twisting a pepper grinder, another action could be taken.
We realized how complex this was going to be for players, so we thought really hard how to simplify the controllers as much as possible to reduce the learning curve while still producing a fun and quality game.
So, the final controls came to reality through that extensive process of simplification, and I personally think that they feel quite natural and intuitive.
Technical stuff
The game is build with the following components.
As depicted in the diagram above, the components are quite simple to hookup. The RFID Sensor Tag Reader was a bit tricky to get working at first, but we used this sensor and libraries to make it work.
For the web side, we used P5.js for the main canvas display, P5.Play.js for sprite/collision detection and P5.serialcommand.js for communication with the Arduino.
We tried using P5.scenemanager.js for handling different scenes such as the intro and main gameplay, but were a few collisions with the P5.Play.js library, so we handled the scenes ourselves.
The code is here, so please feel free to check it out.
In conclusion..
Creating this game was an absolute blast. Collaborating with Joe really made this whole thing come to live. We complimented each other perfectly, and we both gave our input in everything.
One last thing
It was absolutely heart warming to see people have a genuine nice time with something you created. I felt honored in the way the class received this concept and in how people wanted to engage with the game.
I have been making things for more than 6 years now, but I had never felt this way about a creation, and it's making me consider more inclusive projects for the future.
Im really happy the result.
Comments