
Snowball Fight
It’s a beautiful, snowy day in the neighborhood. School’s cancelled, so it’s time for a snowball fight! Play as a group of friends taking up the mantle of defending their homes from imaginary monsters with nothing but snowballs, cocoa, and their wild imaginations.
Developer
AIE Seattle Students: 2025 Major Production
Publisher
Academy of Interactive Entertainment







It’s a beautiful, snowy day in the neighborhood. School’s cancelled, so it’s time for a snowball fight! Play as a group of friends taking up the mantle of defending their homes from imaginary monsters with nothing but snowballs, cocoa, and their wild imaginations.
Immerse yourself in a rich and rewarding tactical experience! As you fight, your imagination will begin to run wild. With this power, you can bring imagination to life! Soar through the air, create the ultimate unbreakable anti-everything shield, and more! After each level, choose three new powers to add to your team! There’s no wrong answers, so let your imagination run wild!
My Involvement
As lead programmer, my part started in preproduction; from engine selection, system design, planned codebase UMLs, to P4V depot configuration. It was my task to ensure the team would have the smoothest start to the project they possibly could.
Once production started, it was off to the races developing an MVP with my fellow programmer Dylan Kirven. We both took a look through the initial documentation from preproduction and found the most efficient way to start the codebase and meet in the middle. Once the core had was ready, I handed off gameplay to Dylan and started work on editor tools the design team needed.
During the first few set of sprints, I had unfortunately made some incorrect assumptions on the functionality of the Unreal Editor and designed the editor tools in a very Unity Editor style. In retrospect, why would they be the same? But you live you learn. I handed off a very rudimentary level editor tool to the designers and started studying some of the inner workings of the Unreal Engine.
When I realized that the “correct” way to achieve the style of tool I was aiming for may involve building a custom engine version, I concluded that was overkill for this project. I redesigned the level editor from a custom editor window to runtime functionality that would initialize the level on level load. It was far less efficient, but it met the scope of the project.
After the editor escapade, I picked up from some of the shader work Rowan Christensen and Luka Voeller had been working on to finalize the render style we were aiming for.
From here the rest of the project involved bug fixing and system optimization for me.
The Team
- Rowan Christensen - Project Lead, UI Designer | itch, LinkedIn
- Luka Voeller - Art Director, Production Artist
- Judah Hawi - Lead Programmer
- Jack Milton - Lead Designer, Content Designer | itch
- Angela Cruz - Environment and UI Artist | ArtStation, LinkedIn
- Alex Heisler - VFX Artist | ArtStation
- Dylan Kirven - Gameplay Programmer | Website, LinkedIn
- Ava Lam - Environment and UI Artist
- Keyon Love - Animator
- Zach Perry - QA, System Designer | itch
- Daniel Sanders - Environment Artist
- Gavin Smith - Audio Engineer, Level Designer | itch