Hamster Ball Blitz! logo

Role: Lead Programmer
Platform: Mobile Game (iOS, Android)
Team Size: 6
Duration: 2 months
Achievements: Featured at PAX East 2025 and 2026
Language: C#, Unity Shader Graph
Software: Unity, Plastic SCM, Miro

Contributions:
- Managing task organization and completion
- Programming core gameplay
- Maintaining codebase quality and extendability
- Managing project repository practices
- Rigorous bug testing and quality assurance
- Programming camera system and dynamic backgrounds
- 2D animation pipeline for large cast of characters
- Creating tons of visual effects

About

Hamster Ball Blitz! is a mobile game published by MassDiGI. Knock your opponents out of the ring as you help Chester fight his way through the ranks of the Hamster Ball Wrestling League.

Core Systems

As the team's lead programmer, I developed many of the game's core combat features, including: player movement, knocking an enemy out of the arena, teetering, winning a match, player abilities, and boss abilities.

I focused very closely on developing the game's unique movement system. We wanted for the controls to feel frantic and to explore a unique control scheme only possible in a mobile game.

Movement

Each swipe applies a small force to the player in a direction, so the player must swipe frantically in order to move. Enemies and the environment also add forces to the player, so the player must learn to control their momentum to harness the game's movement.

Teetering

One of the unique aspects of Hamster Ball Blitz's combat is the edge of the stage. When a hamster would fall out of the arena at a low speed, they instead teeter on the edge. While teetering, the player can tap rapidly to save themselves from falling. If a teetering hamster is hit by their opponent, they will be knocked out. This is a feature I worked with closely to really define the feel of the game.

Bosses

The final opponent of each tournament wields a powerful ability. I programmed the boss ability system and several of the boss abilities. I created visual effects that add extra flair to these special powers.

Animation Pipeline

Context Menu buttons automatically format spritesheet and setup Sprite Library Asset.

Each hamster in the game has distinct sprites and animations. I created a system and animation import pipelines to allow for using different sprite sheets for the same animations.

I created a custom Context Menu button in the Editor that automatically divides a spritesheet into individual sprites and then adds each sprite to a Sprite Library.

Our character animations choose the corresponding frame in the Sprite Library to render.

These tools I created resulted in faster importation of animation spritesheets that allowed for faster iteration and a larger cast of characters.

Sprite Library Asset

Character Animations load corresponding sprite in Sprite Library.

This system allowed us to have unique sprite sheets for each character in the game while preserving clean code architecture. The most exciting usage of this feature was the game's final boss Chunky Sandwich who replaces the typical hamster ball animations entirely and rolls around the arena with his large body.

Visual Effects

One of my primary focuses during development was on juicing up the game feel as much as possible. There were a large number of visual effects and animations that I programmed to make the combat feel very responsive and the UI and camerawork feel very lively and expressive.

These effects serve to juice up the gameplay and make slamming into objects, rolling at blazing speeds, slowing down time, stunning enemies, knocking opponents out of the ring, barely hanging onto the edge of the arena, the activation of boss abilities, and so many other actions feel even more exciting.

I accomplished these effects with shaders, post processing, particle effects, animations, and custom scripts.

I also added movement and animations to the menus, including the main menu animation of a hamster getting knocked out of the ring.