Sugar Shatter is a brick breaker fighting game where you have to hit a candy ball to break more bricks than your opponent. There’s a singleplayer campaign mode as well as online multiplayer - featuring rollback netcode for a smooth gameplay experience.

There are various characters in the game, each with a different set of abilities in-game. The campaign mode takes the player through various levels - each with their own unique mechanics and obstacles to add variety into the moment to moment gameplay. Each character also has their own story arc, which can be experienced step by step as the characters progress through the campaign tournaments.

Beyond the base gameplay, there are boss fights that add a mechanical twist to the game to further deepen the variety that the campaign mode provides. The main bosses each have their own storyline as well, and the player can look for a harder challenge by repeating the bosses with higher sweetness (difficulty) in the dungeon mode of the campaign.
Tech
Sugar Shatter is built using a custom engine using C++ and OpenGL, sharing the same fundamental engine as my previous game, Danju. Various parts of the original engine were updated to meet the need for more advanced features - such as modifying the physics engine to be deterministic in order to be able to support multiplayer gameplay, and dynamic controller support (with fully customizable keybinds) to properly track player controls during local multiplayer.
The game features online multiplayer - heavily leaning on the Steamworks API for lobby/matchmaking handling and socket connections. The gameplay runs on a custom rollback netcode solution, providing smooth input while keeping two clients in sync - even in poor network conditions! The netcode contains features such as desync detection, input prediction, dynamic throttling to remove frame advantage from either client, and - of course - game state rollback when input misprediction is found.
Tooling
The project utilizes a custom dialogue editor for the 11000 lines of dialogue in the game, written in Python with DearPyGui. Various addtional python scripts were utilized to properly setup a build generation pipeline to make the Steam upload process smoother.