Snow Brawl. Full-featured holiday snowball shooter in pure Three.js

Merry Christmas, Three.js community!

Here’s a little full-featured seasonal snowball fight game you can enjoy on desktop or mobile: :snowman_without_snow:Snow Brawl. Throw snowballs as a snowman against AI opponents in a frosty arena.

It’s meant to lower the entry barrier for novice coders and fits nicely with my collection of game components on CodePen. I prioritized clean, heavily-commented code over extreme optimization, making it a solid starter project for anyone wanting to build a simple FPS-style game from scratch.

Notable features:

  • Mobile controls using nipplejs (dual joysticks, pinch zoom, tap-to-shoot)

  • Custom lightweight physics (gravity, velocity, projectiles, no external engine)

  • Full player movement: walk, sprint, jump, strafe, rotate

  • Simple AI that chases, avoids obstacles, jumps, and throws back

  • Respawning, health system, hit counter, and visual feedback

  • Object pooling for snowballs/particles to keep performance smooth

  • Dynamic shadow frustum that follows the player

  • Cross-device input detection and polished touch/mouse handling

  • Reflective ice ground, falling snow, throwing arm animation

I hope this helps someone get started or just have some holiday fun.

Merry Christmas everyone!

Play the Game on CodePen →

4 Likes

I like it!

1 Like