Several years ago I broke my leg (horseback riding) and I used a balance board to train my muscles. The training with the balance board was very effective but also very boring. I dreamed of creating my own balance board games and play it on the TV. I tinkered around with Arduino - but phew - all those cables, how to simulate keypresses, how to write a game, hm I need to connect my laptop to the TV every time I want to play. What about Raspberry Pi? Need to learn Linux and Python and a gaming framework... Or should I use my phone as a sensor? Send the sensor data via a native app via a web socket to an HTML5 game? These things are not unsolvable, but very "hacky" - not "end-consumer-friendly". The Wii Balance board itself is a great idea, but back then it was not really challenging for my muscles.
Fast forward 2018: end of 2016 I turned into a Swift iOS developer (previous web developer). In 2017 I bought an Apple TV, end of 2017 I wrote my first SpriteKit Game for iOS (loooooong time ago I created games in Flash) and a few days ago I created my first Apple TV app and game. Special thanks to Paul Hudson for his Dive into SpriteKit and Hacking with tvOS books.
I own the previous version of the current Apple TV and the remote control, called Siri Remote, has a built-in accelerometer and gyroscope. Now I only needed to mount the Siri Remote onto my balance board. I was thinking about a 3D printed case, but when I was in my kitchen doing my dishes I spotted my plastic lunch box. Ha!!! Looks like a perfect solution. It should prevent me from stepping onto my Siri Remote. I am not liable if you hurt yourself or break your Siri Remote. I used some tape to secure the lunch box (velcro tape would also work) and some cut some cardboard so that the Siri Remote doesn't move around.
Now I only needed to read the sensor values from the remote and create a game, easy right? Haha, just kidding. Before I could read the sensor values I needed to register the Siri Remote as a GamePad which took me a while to figure out how this is done. In terms of games - yeah, coming up with the right idea, learning how to use SpriteKit, drawing some cute characters and digitalizing them is a totally different story. I managed to create a small prototype (a bear catching fish) and seeing my own game on the big screen and controlling it with my "own" controller was really amazing!
I have created a GitHub repository where you can find more background information, technical details, and a starter project. I will continue to work on different game types, write down UX considerations for balance board games, update my repository accordingly and tweet some status updates. I hope to release an Apple TV game with balance board support in 2018. With my current solution, everyone could turn their Siri Remote into a balance board and use a balance board according to your budget and fitness level. Let me know what you think!
PS: If you find a game on the Apple TV store which you can control only via tilting your Siri Remote left/right/up/down you could also control it via the balance board if you put the Siri Remote upside down.
Top comments (7)
Oh, neat! As much as people poke fun at Nintendo's Ludo and similar "life hacks" to extend motion control, there's no shame in it. Nothing like using duct tape to make a tiny module a huge asset!
Wow this is so cool. @jess I think you'd be into this.
Whoa! I love this, thanks for sharing!
I think we might have the same balance board, too! Though, they probably all look the same..
This is super cool!! I have the old Apple TV remote that I picked up in a free bin from the street once, and I have no idea what to do with it. I don't think it has an accelerometer or gyroscope, but this post is definitely giving me ideas...
Also @chardane you might like this post :)
Wow! That is super cool, thanks for sharing. I didn't even know that the Siri Remote has an accelerometer and gyroscope :D Would be kinda cool to create wii-esque remote accessories that look like tennis rackets or a steering wheel 🤔
This is absolutely awesome. I love that you took some reasonable steps to simplify the project where it made sense (such as just using your lunchbox + some tape + the Apple TV remote).
Great to see the full info in the Github repo, I was definitely curious about how you got the sensor values from the remote.
Thank you for sharing!
Wonderful.
Guru meditation!