Bodycam-inspired FPS shooter prototype with physics (Three.js tech demo)

Hey folks — sharing a small bodycam-inspired FPS shooter prototype I’ve been building purely for myself. It’s a non-commercial learning project: I’m teaching myself by trying different approaches live — rendering, physics, post-FX, gunfeel — and seeing what actually works in a playable sandbox (not a full game).

Focus is on first-person presence, post-processing, physics interaction, and gunplay VFX — the kind of slightly messy “helmet cam” look rather than a clean competitive HUD shooter.

Stack

  • Three.js — WebGLRenderer, shadows, tone mapping

  • Rapier 3D — player + world physics

  • EffectComposer — GTAO, bloom, optional DoF, body-cam distortion, vignette, camera dirt, recoil punch, motion blur, auto exposure, crosshair, etc.

  • Vite (web) + Electron (portable desktop)

  • In-game debug UI with live tunables and a pass profiler

What’s in the prototype

  • Walk / run / jump, flashlight, grab & drag props

  • Hitscan shooting: world-locked tracers, muzzle flash, decals, impact particles

  • Experimental bullet time (world/VFX slow-mo, player movement stays realtime)

  • HUD notifications + a short in-game info panel

  • You can load your own world GLB/GLTF from the splash screen — just keep the model scale consistent with the player (roughly real-world meters), or collision / movement will feel wrong

World models needed

I’d really appreciate any world / level models people can share or point me to. Good first-person-ready interiors/exteriors are surprisingly hard to find, and building them myself takes forever.

GLB/GLTF is ideal. If you’ve got something CC0 / redistributable (or can license it), please drop a link — I’ll credit you.

Try it

Demo: michaelchistyakov.com/projects/dusterheim

Note: first load can take a while (assets + WASM physics). Give it a minute on a slower connection.

Any feedback welcome — tell me if it feels decent or like garbage.

3 Likes

Good. Add weapon zooming, changing, shoot spread, enemy, hostages, missions briething.

looking great, nice one!

btw I built a paintball game Sploshball (Paintball fiction game)

working on optimization (FPS, etc)

take a look and add a feedback when you have a chance

1 Like