In group of two, a programmer and a game designer, we had 12 hours to make a game using an alternative controller. We had to build the controller ourselves, with the constraint that it should be an everyday life object. It was a real challenge, because I had to go into unknown territory -> Electronics and Arduino. It was hard to find an idea, because I wasn’t sure to be capable of doing some things. But in the end, I’m kind of proud of the result and I learned A LOT (on electronics and Arduino, but also on adjusting the scope to finish in time).
AND THEN, THERE IT IS : A first person shooter with a wardrobe controller. The player controls a static turret that destroys targets. We wanted that the player feels like controlling a complex and big machine. The controls aren’t intuitive at all, but with some training (1 minute or so) it becomes easier.
Each drawer has two states : Opened or closed.
The first drawer, the movement drawer, controls the crosshair movement : When opened, the crosshair moves.
The second one, the axis drawer, controls the axis of the movement : When closed the crosshair can be moved on the horizontal axis, when opened on the vertical one.
The Third one, the directional drawer, controls the direction : When closed, the crosshair can move to the left or to the top depending of the axis drawer state. When opened, to the right or the bottom.
The fourth one, the heat drawer, controls the temperature of the turret. During the game the temperature inside the turret increases. While overheated you take damages, you have to open the heat drawer to cool the turret down. On the contrary if you let the drawer opened while the temperature is low, you take damages so you have to close it.
The last one, the laser drawer allows you to fire at targets. When opened, the turret loads the shot, on closing the turret shoots (the drawer can remain closed until the next loading).
So, now you can imagine why it’s a complicated controller. As we can’t be fast and precise with a wardrobe, we wanted to focus on mental charge. The player should carefully think of which drawer to open or close to make the desired movement. But we also wanted the player to act as fast as possible. The enemies fire at him if he doesn’t destroy them quickly. We are in a complex machine, the pilot has to be multitask ! We added the heat system, that push the player to keep track of an another thing than his targets. Finally, in order to shoot, the player has to load the turret, so if he wants to optimize his time, he has to load it while aiming.
How does it work behind the scene ?
Each drawer possesses its own photo-resistor, an electronic component that allows us to get the light intensity on its surface. When a drawer is opened, the intensity is high, and when closed, it is low. The Arduino card is connected to the computer and communicates with the game (made with Unity). It tells the game the intensity of each photo-resistor so that the game can know if a drawer is opened or not and… That’s all ! A simple trick to make a fun controller. 😀
Fun fact : Two of the drawers shared the same room, so when one of the drawer was opened, the photo-resistor of the other one was illuminated… How to solve this ? Hey… It’s a wardrobe right ? I put some clothes in it to create a wall between both photo-resistors :’).