Merry Christmas, Three.js community!
Here’s a little full-featured seasonal snowball fight game you can enjoy on desktop or mobile:
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!