For the final project, Shelly and I designed a game which players can interact physically with computer program. Our settings are quite simple: a trampoline and a computer. Inspiration for this game came from the offline dinosaur game in google chrome. Players control space key to have dinosaur avoid obstacles when obstacles come one by one. In our game, the basic idea is let players avoid all obstacles. But we pay more attention to players’ interactions with the game. So camera will take player’s head portrait first, after finishing avatar collection, the saved image will be filtered and brought into the game and play the main role. The next step in this game is to control the movement of the main role. The role will meet different obstacles and he must avoid them to keep the game going on by jumping up and down. This movement is not controlled by keys or mouse but plater’s real jump. Player is required to stand on a trampoline and jump, when he jump, his head portrait as a role in the game will jump with him
Scott Jump! https://youtu.be/GklHesXhTTc
The principle of this game is quite easy. Processing is used code the whole game and recognizing player’s face. Arduino and pressure sensor are used to connect player’s physical jump with game’s virtual jump. To make it more fun, we got a trampoline for player to jump on it. Everything looks easy to do, however, we met many problems during the process.
First, we want to thank Scott for buying the trampoline for us. Especially, the experience of carrying the trampoline back was super hard. Scott put it on the top of his car all the way back to school because it’s too big to put into the car.
Without the trampoline, the game will lost much fun. Before we got the trampoline, we made a prototype which used two cardboard with foil.
There is a small distance between the two cardboards in a normal position, however, when people jump on them, the two cardboards will touch with each other and connect the whole circuit. Player’s jump actually can open a switch in a circuit. After getting the trampoline, we found several ways could be used with the help of Scott. The reason behind the first way is the same with the prototype. Sticking foil to the surface of trampoline and making a pair of conductive shoes. However, the material is not enough to make. The second way is to put the cardboard directly on the trampoline.
Nevertheless, the cardboard is not hard enough, which can be damaged easily. The next thing we used was flex sensor.
This sensor can measure the degree of curvature directly. Nonetheless, the change of trampoline’s degree of the deformation is very small. The sensor can’t get a range of number for degree of curvature when people stand on the trampoline. Finally, we chose pressure sensor in this project. When people jump up, there’s no pressure on the trampoline, when people stand, the sensor can sense the pressure. This way works much better than others we tried before. At least the game started to work.
Process is always with problems. Since we need to jump directly on the fragile sensor, it’s important to protect it from being damaged. We put many tapes and papers to protect it, unluckily, we still broke our sensor during jumping. The midst of sadness was we found a new sensor which has bigger contact surface. This time, we put it on the small black board first and then put a sponge foam to cover the sensor. Also, we used much tape to stabilize the sensor part. Eventually, it works!!!
Besides the sensor part, we also met some problems in processing. For example, positions of obstacles and the role, speed of obstacles. We need to make sure that the starting point of role and obstacles can have the same height, or the role won’t die in the game. Also, the speed of obstacles are important. We need to find the proper speed that there are some challenges for players. A thing we haven’t figured out is the head portrait of player. This function works, but sometimes it does not work well, our computer sometimes will die, the image sometimes has overlapping layers.
The experience of doing final project for me is more about how to solve problems by using the best way. I learned to be patient and use different ways to solve problems. There are many ways and possibilities in doing one thing, but I need to do many experiments and choose the most proper way.