❄️ I rebuilt the classic Flash game Snowcraft from scratch

Say hello to SnowCraft :snowflake:

:bullseye: What it is

A fast, cartoony snowball brawl where you command a lone fighter against a squad of snowball-chucking AI kids. Charge up your throws, duck behind cover, and bury the enemy team before they bury you. Easy to learn, genuinely tricky to master just like the original.

:snowflake: The good stuff

  • Charge-and-throw combat hold to aim, watch the power grow, release to launch. No takebacks, so commit!
  • Real snowball physics projectiles arc, miss, and can be dodged. Cover actually blocks line of sight.
  • Lives & respawns get knocked out, pop back in with a few seconds of immunity while you’ve got lives left.
  • Arena buffs grab extra lives, speed boosts, and immunity shields mid-fight.
  • Multiple maps + AI difficulty from “gentle flurry” to “blizzard of pain.”
  • Local leaderboard clear levels faster, on harder settings, with fewer lives spent = more points.

:hammer_and_wrench: The nerdy part (r/gamedev, this one’s for you)

  • Built with Three.js + TypeScript + Vite (Preact for the UI).
  • 100% procedural art & audio every tree, kid, and snowball is made from primitives; all sound is synthesized with the Web Audio API. Zero asset files.
  • 60 Hz fixed-timestep simulation fully decoupled from rendering (targets 144 FPS), ECS-inspired architecture.

:video_game: Play it free in your browser

No install, no login, no Flash, just click and start throwing. Would love your feedback, high scores, and bug reports. Let it snow. :snowflake: