*pre alpha game-play (I have always wanted to say that)
Nude Animation System
At the heart of the game engine is an animation system I developed called NudeAnimation. After looking into all the animation options for creating assets for games I failed to find something that did the things I wanted. You could always animate in AfterEffects, or similar, then export image sequences but image sequences lacked both flexibility and a number of features I felt were necessary for the games I wanted to make especially the ability to skin individual parts of an animator (swapping out a hair-do for example) and the ability to completely control the animation once it was in code.
The solution I decided on was to start with AfterEffects, I am a big fan of the open-source DUIK plugin which provides an especially robust set of character animation tools within AE. From there you could export the animation to a machine readable JSON format using the Body Movin' plugin for AirBnb's Lotti animation system (which is a wonderful multi-platform animation system, but again failed to meet my needs). Instead of information about each pixel these JSON files provide a list of individual parameters for each frame of animation, the result being very light weight and easy to deal within code.
From the AfterEffects export the JSON is fed into a custom Mac Application I created called "BodyMovinStripper" which loads up the JSON file, removes any unnecessary information, converts it the the iOS coordinate system and further optimizes the data resulting in a final file which is about 30% the size of the original.
Once the JSON has been "stripped nude" it is ready to be loaded into my Xcode Swift library (NudeAnimation). The library includes all the features I need such as skinning, animation events, mirroring, grouping, etc. I continue to develop and add to the features to this library as my own needs develop.
TLDR: I wasn't satisfied with the currently available animation tools for iPhone development so I created my own system with an edgy name. The system lets me animate in AfterEffects then export very efficient and flexible animations into my own iOS games.
Level Segment Manager
The other reusable library I developed for this project is the Level Segment Manager. I find level design to be one of the more important parts of game development, and as such wanted to create a system where I was able to quickly visualize, adjust, and deploy the level design for an "endless" scroller style of game. The LevelSegmentManager (yes, I realize the name is not as edgy as "NudeAnimation") system I developed allows you to quickly build level "segments" within Xcode's scene editor. You simply drag graphics onto the stage, and provide them with a class file which defines their functionality. Mandatory to each segment are a "start" and "end" block. The system uses these two blocks to align the next level segment giving the designer the freedom to create level segments that are as small or large as necessary.
In the case of Bone Face there are only a few level element types: rigid ground (which can be skated on), rails (which you can grind), danger (which cause a crash), and background which the system automatically moves to create a parallax effect based on the positions of the start and end blocks.
TLDR: I programmed a reusable library that allows me to quickly create and modify level designs within the Xcode scene editor.
This is far from the first game to utilize rag-doll physics to create dynamic and entertaining crashes. And while this may not be that original or ground breaking it makes me smile every time I launch the test app, so I have included a gif of it here. :)