Breeze & Freeze is a 3D top-down arena shooter using voxel graphics developed for the Game Programming Laboratory at ETH Zurich. In this co-op adventure, you and a friend take control of two adorable yet powerful penguins, each wielding magical abilities to freeze and blast enemies.

We built this game from the ground up using MonoGame and C#. Unlike modern engines like Unity or Unreal, MonoGame doesn’t have built-in 3D rendering, physics, or particle systems—thus we implemented all of these ourselves! Check out our trailer:
Juiciness#
A major focus of my contribution to the game was making it feel as juicy as possible. This means the game constantly rewards your actions with satisfying feedback, making every move feel impactful and the overall experience more engaging. To achieve this, I’ve implemented dynamic camera shake, haptic feedback and most importantly, a particle system.
The particle system was designed to be as modular as possible, allowing effects to be easily combined and giving precise, independent control over attributes like position, color, shape, size, rotation, lifetime, and physical properties. For instance, achieving good-looking effects was often as simple as defining start and end ranges and selecting from 30 different supported easing functions. Additionally, I implemented a simple physics-based effect using the explicit Euler method to animate enemies bursting into their voxels upon defeat:

We used the particle system extensively to enhance the game’s atmosphere and combat, including:
- Ambient snowflakes, randomly moving to give the impression of icy wind
- Ability effects, like icicles erupting from the ground, whirlwind stomps, and a large burst of ice shards when pulling off a freeze-and-stomp combo
- Victory fireworks to celebrate a successful run
- Enemy attacks, from explosive coconuts to the final boss’s laser beam and ring of fire
- Spawning indicators to telegraph incoming threats
Other Contributions#
- The entire UI, including camera-based menu transitions and an extensive debugging menu for live parameter tweaking
- A tutorial system to ease new players in
- An unlockable disco mode with flashy lights and Caramelldansen on repeat (because why not?)
- Statistics tracking so you can quantifiably prove to your teammate just how hard you carried
- Aim assist
to ensure my girlfriend wouldn’t quit playtesting in frustration
If any of this caught your interest, you can check out our game for free on itch. We hope it brings you as much joy as we had creating it!