Swarm

Swarm

Swarm

A neon voxel FPS where you're trapped in the pit, surviving endless waves of an alien horde across rotating jungle, cave, and hive arenas while bosses crash in every five waves and your only way out is to outgun them all.

Desktop only | Cannot play on mobile

AI Tools Used:

Claude Code (Opus 4.8)

Code + Game Design + Voxel Artwork

The Goal

The Goal

SWARM is a first-person, wave-survival shooter that runs entirely in the browser with **no build step, no installer, and no asset files** — everything (3D models, levels, sound effects, and music) is generated procedurally in code.


You drop into an alien pit, fight escalating waves across three rotating environments, beat bosses to unlock new weapons, and chase a high score until you're overrun.

Prove that the skill that ships a game isn't typing code it's creative direction applied to a machine.

Constraints: instantly playable from a link, intentional rather than a tech demo, and honestly shippable.


Menu, pause, high score, death screen, music. Everything lives in one self-contained HTML file.

What I Learned

What I Learned

Vibe-coding a real-time 3D game lives or dies on feedback loops.

The wins came from knowing what "good" felt like tighter movement, fairer telegraphs, more readable threats, and being able to articulate it.


The bottleneck was never syntax. It was judgment, art direction, and play testing this game over the course of 8 hours

Every system (the first-person controller, the swarm AI, the boss fights, the procedural worlds) came from describing what I wanted, playing the result, and steering the next pass.


My job was taste and decisions; Claude Code did the typing.

How It Was Built

EVERYTHING IS PROCEDURAL


Not a single image, model, or sound file in the project. Models are colored boxes assembled in code, levels are generated, sound effects are synthesized from oscillators, and the soundtrack is sequenced live. One style low-poly voxel made the "no assets" rule possible and unified the whole look for free.


THREE WORLDS, ONE PIT


The level tears down and rebuilds every five waves — jungle pit → crystal cave → alien hivemind — over one shared platform layout, so the gameplay stays consistent while the world transforms.


THE HARDEST BUG


At high waves the game hitched, but only when too many enemies died at once.


The cause was subtle: every pickup spawned a point light, and in Three.js adding a light forces a recompile of every material's shader, so a multi-kill triggered a storm of recompiles.


The fix made lighting static, emissive pickups and a fixed pool of lights recolored per area. Zero runtime recompiles. Found by profiling the symptom instead of guessing.

Enemies

Weapons

Final Assets


• Built with: Claude Code

• 0 lines of code written by hand

• 4 enemy archetypes + 3 bosses · 4 weapons · 3 worlds

• ~96 KB single HTML file · 0 asset files

• Three.js / WebGL · Web Audio API

Copyright © 2020 – 2026 All Right Reserved

Copyright © 2020 – 2026 All Right Reserved

Copyright © 2020 – 2026 All Right Reserved

Create a free website with Framer, the website builder loved by startups, designers and agencies.