By now you should have realised that interaction within Virtual Reality is my biggest turn-on. After playing with DanceMats, Blink detection, custom controllers, etc… there was still one key missing experiment to do: Balance control.
The Wii Balance Board is an inexpensive (£10), obsolete and reliable piece of hardware. With two pressure plates per foot (toe and heel) it can measure with precision the balance of the user and share it over Bluetooth. It has been used in a few experimental VR games in the past, but I still wanted to give it a go and try to design around the problems in a different way.
Connecting the board
Originally I wanted to do something for mobile VR, but the board can only communicate using the L2CAP protocol which was deprecated in Android 4.2, so for prototype shake I decided to just do it for a PC.
Connecting the board using Windows is not straight forward, even though the OS detects the bluetooth controller it does not pair to it properly as Windows asks for a unexisting pair code. As silly as it sounds the trick here is to not use Settings->Bluetooth->Add Device but ControlPanel (very different thing, apparently!)->Hardware And Sound -> Add Device, which does not ask for the PIN.
Or one could be a bit lazier and download the super useful application Wii Balance Walker. WBW not only allows to detect pressure in the balance board and convert it in joystick or keyboard input, but it also comes with super nice feature to detect and pair automatically the board! I ended using it to pair my board most times as it is more reliable than the control panel method, but just to be clear I did not use it to feed data into the game (where would the fun be?).
Now we are paired we need to read the data coming from the bluetooth connection. After some research I found two handy tools that helped me move forward: the first one is a Unity Asset named WiiBuddy . Sadly after testing it it became obvious that the code was obsolete and broken, but thanks to this amazing GitHub repository from the mighty Keijiro that goes into a deeper level I managed to fix all problems and read the raw pressure of each one of the plates! The path was clear for the gameplay implementation.
Creating the game
Some gifs and videos about the original prototype:
Here is a tech talk about the terrain system:
I had a chance to demo the prototype at VRManchester and gather some feedback regarding the controls, this allowed me to further polish the game looks and feel and release it for free in itch.io.
Download the finished prototype of Perpetual Snowslide !
I also decided to present the game to the ProcJam and be a bit more vocal about what I do in Reddit. It turned to be a great idea, the reddit post blew up and caught a lot of attention, giving me a boost of confidence to push towards a fully fledged game (more about this soon!) But most importantly some PhD researchers from Berlin University found it and got in contact with me: they are investigating innovative ways to help free-riders avoid snow-slides and were aiming to create a similar tool to mine, so when they asked me if I could help with their research I jumped right in and created a special version that has been used in their project AVALANCHE for them to measure the reaction time of the snowboarders.