mshumer GitHub avatar

Claude-of-Duty

mshumer

A browser-based first-person shooter built entirely with procedural generation and orchestrated AI agents, featuring 55k lines of Three.js/WebGL2 code and no art assets.

Stars

389

7-day growth

No data

Forks

76

Open issues

2

License

MIT

Last updated

2026-07-25

Why it is worth attention

It demonstrates the frontier of AI-driven game development with a fully procedural asset pipeline, a rigorous tooling harness for reproducible benchmarking, and a process discovery that sequential single-owner passes outperform parallel fan-out.

Who it is for

  • Game developers interested in procedural generation and AI-assisted creation
  • Three.js and WebGL2 developers exploring advanced rendering techniques
  • Researchers studying AI orchestration and software engineering workflows
  • Performance engineers focused on WebGL shader compilation and frame time analysis

Use cases

  • Reference implementation for procedural texture, mesh, and sound generation
  • Testbed for AI agent orchestration strategies in large codebases
  • Learning resource for real-time rendering techniques (TAA, bloom, cascaded shadows, etc.)
  • Benchmark for reproducible WebGL2 performance measurement and optimization

Strengths

  • Fully procedural asset generation (no files) with a 33³ grade LUT and AgX composite
  • Reproducible baseline captures preventing state leakage across frames
  • Shader pre-warm eliminated runtime compiles, improving p99 fps from 4–9 to 14–17
  • Sequential single-owner passes raised critic score +1.00 and cut defects from 66 to 26

Considerations

  • Does not match modern Call of Duty quality (scored 5.05/10; every blind A/B lost)
  • Visual shortcomings: blocky hands, noise-revealing surfaces, mannequin-like enemies, approximate indirect lighting
  • Performance still limited (28–30 fps Retina) with a known viewmodel light rig bug causing 20× irradiance

README quick start

Claude of Duty

Get updates here.

A first-person shooter built in the browser with Three.js r180 and WebGL2. Roughly 55k lines across 11 subsystems, written by a fleet of AI agents under orchestration.

There are no art assets. Every texture, mesh, animation and sound is generated procedurally at load time from code. No models, no HDRIs, no image files, no audio files. The only runtime dependency is three.

npm install
npm run dev          # http://127.0.0.1:5173

Click the canvas to lock the cursor. WASD move, mouse aim, LMB fire, RMB ADS, R reload, Shift sprint, Ctrl crouch, Space jump, Q/E lean, Esc release.

What's in it

subsystemwhat it does
renderHDR pipeline, cascaded shadow maps in a sampler2DArray with texel snapping and PCSS contact hardening, MRT depth/normal/velocity prepass, GTAO, TAA with YCoCg variance clipping, tile-dilated motion blur, Karis bloom pyramid, GPU EV100 metering, procedural 33³ grade LUT, AgX composite
materialsGPU texture forge: 19 procedural surfaces (concrete, brick, plaster, asphalt, sand, rusted/painted/brushed metal, wood, fabric, burlap, glass…), periodic noise so everything tiles seamlessly, Sobel height→normal, parallax occlusion mapping, triplanar projection, curvature-driven edge wear
skyAtmospheric scattering, time of day, PMREM environment generation, volumetric fog and light shafts
world~120×120 m market street: modular building kit with real wall thickness, enterable interiors, several hundred instanced props
physicsWritten from scratch, no library. Binned-SAH BVH (29k tris → 14k nodes in 22 ms, 0.25 µs/raycast), swept-capsule character controller with a 5-plane crease stack, impulse rigid bodies with CCD, PBD ragdolls, multi-layer bullet penetration
playerMovement state machine, slide/mantle/lean, camera feel
weaponsProcedural weapon geometry, viewmodel rig, ADS, spring recoil, procedural reloads, ballistics with travel time and drop
fxGPU particles, decals, tracers, muzzle flash, explosions
aiSkinned soldiers, navmesh pathing, perception, cover behaviour, ragdoll death
uiDOM/CSS HUD: crosshair, hitmarkers, minimap, compass, killfeed
audioWeb Audio synthesis — no sound files. Layered weapon fire, convolution reverb, HRTF spatialisation, occlu

Description

A Call of Duty-quality FPS in Three.js, built from a single prompt.

Related repositories

Similar projects matched by category, topics, and programming language.

gnipbao
Featured
gnipbao GitHub avatar

story-to-handdrawn-video

A Remotion-based tool that converts Chinese story text or ordered hand-drawn images into vertical hand-drawn diary-comic animation with handwritten captions, left-to-right reveals, optional page-curl transitions, and silent H.264 output for post-production dubbing.

AI & Machine LearningAI Agents
639
xai-org
Featured
xai-org GitHub avatar

grok-build

Grok Build is SpaceXAI's terminal-based AI coding agent that runs as a full-screen TUI, understands codebases, edits files, executes commands, searches the web, and manages tasks interactively or headlessly.

AI & Machine LearningAI Agents
20,399
Blaizzy
Featured
Blaizzy GitHub avatar

nativ

Nativ is a native macOS app that lets you run AI models locally on Apple silicon, offering chat, model management, performance analytics, and an OpenAI/Anthropic-compatible API server.

AI & Machine LearningAI Agents
888