Browser-based arcade head-soccer game · 2026
Big Ugly Head Ball
Arcade head-soccer where the ball is a giant, grotesque, procedurally generated head.

Big Ugly Head Ball
Arcade head-soccer under the floodlights of The Grimpit. The ball is a giant, grotesque, procedurally generated head. First to 5 goals wins.
Play free: biguglyheadball.com
Built with: three.js · Vite · Web Audio API · custom 2.5D physics · Custom OST.
Overview
Big Ugly Head Ball is a browser-based arcade sports game: two giant boots kick a giant, sickly-green head around a neon-lit pitch in front of a crowd of roughly 700 turnip-like spectators. First to five goals wins a two-minute match; a tie at full time forces sudden-death golden goal. There’s no download and nothing to install, just a keyboard and a two-minute match.
Highlights
- A head that acts alive. The ball is a procedurally displaced skull mesh that blinks, glares at whoever’s nearest, and grimaces on every impact.
- Zero art or audio assets. Every mesh, texture, and material is generated in code, down to the canvas-drawn pitch and the instanced crowd. Every sound effect is synthesized live with WebAudio, not sampled.
- A living crowd mix. Murmur, chatter, and roar layers track the run of play, with anticipation swells, clap-by-clap applause, and stray fan whistles.
- A full broadcast goal package. Dual-tone air horn, organ “charge!” stab, net swish, formant-synthesized grunts from the head, a speed-tracking ball whoosh, and a golden-goal heartbeat.
- An original Suno-composed OST, “The Grimpit Sessions,” with title, match, and stinger cues mixed into the same bus graph as the synthesized SFX so music and effects never fight each other.
- Broadcast-style post-processing. Bloom, vignette, chromatic aberration, and a warm grade, with hit-stop, screen shake, slow-mo goal celebrations, and an FOV punch on every kick.
Tech and Architecture
three.js is the only runtime dependency; nothing is loaded from disk beyond the OST tracks. A custom 2.5D physics layer runs at a fixed 120Hz substep, handling ball restitution, crossbar collisions, kick impulses, and boot-vs-boot shoving. The WebAudio engine is a bussed mixer with a mastering compressor and a procedural stadium reverb, driving stereo-positioned, pitch-varied impacts and the dynamic crowd mix. An EffectComposer post chain layers Unreal bloom, vignette, chromatic aberration, and color grading over the render, and a fixed-step game-state machine (title, kickoff, play, goal, full time) drives both the match rules and the camera.
Process
Built solo end to end: the procedural head and arena, the physics and AI opponent, the full WebAudio synthesis and mixing layer, an original Suno-composed soundtrack wired into the same bus graph as the SFX, and the marketing artwork and share assets for launch.
Gallery
Gallery coming soon
More visuals from this project are on the way.