Much to my surprise, I seem to have a new game to tell y’all about. Here’s the pitch:
An instant to learn - A lifetime to master! Break from boredom and break boards with Bored Breaker - a quick reaction game designed to challenge your reflexes complete with HD graphics and realistic physics to delight your eyes. Refine your skills with the predictable Zen mode in preparation for a real test of skill in Ninja mode.
In unprepared, marketing-free talk, it’s a tap-tastic quick-reaction game. 2x4s are being chucked at your space ninja’s head and you need to tap the screen to karate-chop them in half before being clonked into unconsciousness. (The spellchecker is okay with “clonked”? Huh, go figure).
Anyway, this one is available for free from Google Play or Amazon AppStore for Android devices. I’ll try to get a web player build up here later this week. I don’t feel that playing with a mouse does it justice, but I know you folks don’t all have ‘Droids. Also, PC FTW Anyway, watch this space for more versions “soon”. Update: Browser based version available here.
So, anyway… Yeah, made on accident. I was taking a break to learn some new skills (ie. avoiding working on some of the larger game projects I’ve got lying around here) and decided to play with IK animation in the new 5.0 release of Unity. Games are great fun to make; Content for ‘em… eh, not so much.
Inverse kinematic (or IK) animation is neat. Rather than using traditional animations where movements are planned and recorded ahead of time, IK takes a particular body part (hand, foot, head) and, using the bones and joints of the model, creates dynamic animation on the fly. You can see this effect used in newer 3rd person games where a character can stand realistically on uneven terrain, or having a character’s head look towards a point of interest, or allowing a character pick something up without needing to move the model to some predefined location. Grand Theft Auto IV and The Last of Us both feature some exception uses of IK blended with traditional (FK or forward kinematic (pre-scripted)) animation.
And thus I began to tinker. As with everything I’ve discovered in my first year of making games, nothing is as easy or as magical as it seems on paper. Even with a well configured model, you need to be careful about what you’re going to the pointing where. With a… less than well configured model, the results can be downright frightening!
I started off getting the hang of some basic waving and looking. From there I moved into trying to get the character to reach for a user input location.
It took a while to design the best way of smoothly animating the IK target position. I tried a few methods such as slowing increasing the blend from the FK animation to the IK or using linear interpolation to move between points. These schemes would work for one-off animations, but broke down in a game like Bored Breaker where the player can change the IK target location at any moment. My final solution was to create a dedicated IK target point (an invisible ball, actually) that the hand or head would always be chasing. When the player clicks, a target is created and the ball moves towards it. The hand in turn chases the ball. When the ball hits the target, the target is deleted and the ball moves towards a pre-defined rest point. If the player clicks again before the ball catches the target, the original target is deleted and the ball simply begins moving from it’s current position towards the new target. This allows the character to change where it is moving/looking without needing to worry about any pre-existing conditions.
The next thing ya know, I was sticking colliders on our ninja friend’s hands, building physics-based board launchers, and decorating the scene with some Edo era props. And, of course, figuring out where to hide an Easter egg
Even in it’s basic form there was something… I dunno… “Flappy” about Bored Breaker. It was simple, challenging, playable for a minute at a time, yet had a delightfully addictive hi-score chasing goal. I took a shine to this little training exercise and proceeded to spend WAY too much time tuning, tweaking, and creating additional features that would end up cut in the name of keeping the experience ‘pure’. The final result is a little game I never set out to make, but am rather proud I did. I hope you enjoy it.
We love you! Thanks for reading.