# Clanker Arena

> A free multiplayer browser FPS with fast PvP, co-op Invasion, AI opponents, and procedurally generated neon arenas.

[Play Clanker Arena](https://shoot.walt.online/) instantly in a modern desktop browser. No account or installation is required. Players choose a callsign, create a room or join one with a four-character room key, select a weapon, and deploy.

## What makes it distinctive

Clanker Arena treats the browser as a complete game platform. The visual direction combines dark cel-shaded geometry, cyan and amber light lines, animated combat effects, and a TRON-inspired arena presentation. Maps are generated from a seed and rebuilt every round, so layout, cover, elevation, routes, and combat rhythm can change between matches.

The game supports mouse and keyboard as well as standard-layout gamepads. Audio is synthesized in the browser, including the procedural background score, weapons, movement, damage, and interface cues.

## Game modes

- **Free for All:** Every operator is hostile. Human players and configurable AI bots compete for eliminations.
- **Team Deathmatch:** Cyan and Amber teams race toward a shared elimination target with respawns.
- **Team Elimination:** A one-life team mode where a round ends when one squad is eliminated.
- **Invasion:** Human operators cooperate against a staged AI assault. Enemies enter over time, pursue routes, strafe, use cover, and fire visible projectiles.
- **Sandbox:** A low-pressure mode for learning movement, testing weapons, and exploring generated maps.

Hosts can configure game mode, AI difficulty, bot count, map scale, layout style, theme, round duration, score target, and other match settings before play.

## Procedural arenas

Each round can generate a new arena with multiple paths and elevations. Themes include urban, industrial, fortress, ruins, cargo docks, trenchworks, temple complex, arctic base, jungle outpost, desert town, metro station, and orbital port. Layout generation is shared between the browser and authoritative game server so geometry, spawns, and navigation remain synchronized.

## Technical architecture

- **Three.js** renders code-native cel-shaded geometry, player and enemy rigs, weapons, particles, projectiles, and the decorative sky battle.
- **Box3D WebAssembly** handles player collision, gravity, jumping, and fixed-step movement.
- **Web Audio** produces the score and gameplay sounds without downloaded music tracks.
- **Cloudflare Workers and Durable Objects** provide session handling, room authority, hibernatable WebSockets, and colocated match state.
- **Shared TypeScript** defines the network protocol and deterministic arena generation used by the client and server.

Rooms support up to 32 operators. The game uses batched movement snapshots, capped rendering resolution, compact shadows, toon materials, and lightweight local glow to preserve the visual style at interactive frame rates.

## Designed with agentic coding

Clanker Arena is also a portfolio case study in designing with agentic coding. The process is human-directed: establish the product concept and visual system, describe intended player behavior, use coding agents to implement and inspect the system, then test, diagnose, and iterate against real gameplay. The project explores how design judgment, rapid code generation, and continuous technical validation can work together on a stateful real-time product rather than a static interface.

## Controls

Keyboard and mouse controls include `WASD` movement, mouse aiming, left-click fire, right-click aim, `Space` jump, `Shift` sprint, `Ctrl` crouch, `R` reload, number keys to change weapons, and `Tab` for the roster. Standard gamepads use the left stick to move, right stick to aim, triggers to aim and fire, and face or shoulder buttons for movement and weapon actions.

## Canonical facts

- **Name:** Clanker Arena
- **Category:** Multiplayer browser first-person shooter
- **Price:** Free
- **Platform:** Modern desktop web browsers
- **Installation:** None
- **Account required:** No
- **Live demo:** https://shoot.walt.online/
- **Runtime:** JavaScript, WebGL, WebAssembly, and Web Audio
- **Backend:** Cloudflare Workers, Durable Objects, and WebSockets
