Skullgirls is the mobile version of the hit console game. It is a true fighting game experience on your mobile device - one that’s easy to pick up for casual players, but still challenging for seasoned fighting game veterans.
Skullgirls is a fighting game with a unique art style that harkens back to classic 2D fighters, while boasting high-fidelity and lush graphics for modern-day hardware. The mobile game’s graphics pack the same punch as the original!
The mobile game brings a rich fighting system to touch screens with a variety of combos, special moves, and “blockbuster” super attacks. It also introduces RPG elements, such as leveling up, evolving, equipping moves, and status effects that can give you the edge in battle.
Skullgirls began development in January 2015, and it was launched in early 2017. We are still actively developing the game, with exciting new features being released on a monthly basis!
When we started working on Skullgirls, we didn’t even know whether it would even be feasible for the game’s graphics to run on mobile platforms, both because of the memory overhead and the decompression/rendering overhead. My primary responsibility was to implement the 2D rendering systems from the console game in Unity and see whether a Unity-based mobile version of the game would be viable. Fortunately, it was!
I served as the lead programmer on Skullgirls. I was responsible for porting much of the fighting game functionality from the console game to mobile, including 2D art rendering and loading, fighter state and transition system, hit/hurtbox detection, and a custom scripting language used to implement all the fight logic.
My goal was to make the porting of assets between the console and mobile game fairly simple. This included many assets: art, state machine data, sound and music, 2D art for story/dialogue, and fight stages. I believe we have largely succeeded in defining straightforward pipelines that allow such assets to be easily shared.
Porting of console features to mobile required discovery of some optimizations and efficiencies. For example, art is decompressed on-the-fly using multiple threads and texture updates are done using a native C++ plugin to improve performance and avoid unnecessary memory allocations by Unity.
The mobile game also has features that weren’t in the console game. Perhaps the most complicated I developed was our “ability” system, which allows fighters to react to certain game events, under certain conditions, to apply one of many modifiers (such as bleed, health regen, armor, etc) to one or more fighters in the game. I’m quite proud of this system’s modularity and extensibility - it has been used to implement hundreds of unique behaviors for the game’s fighters and moves.
The backend requirements of Skullgirls have given us “full stack” experience with Unity, Java, AWS, and MongoDB. Using these tools, I’ve been responsible for implementing authentication using Facebook, Google, LINE, and in-house implementations for email/password login and guest login. I’ve also implemented purchase validation and tracking for Apple App Store and Google Play. Another fun thing to implement was realtime matchmaking for an async competitive mode we added to the game!