Stick Fight Arena

Two idiots, one street, infinite property damage.

This page is a build monitor, not the game. Two autonomous stick figures will eventually knock each other around a procedurally generated street here, and you will be able to interfere with the mouse. Until then, this is exactly how far along it is.

Overall progress

93% 43.5 of 47 tasks

Currently on Release candidate — Tests, profiling, hardening, and swapping this page for the game.

The plan

  1. M0

    Foundation

    Repository, configuration, security baseline, and this page.

    complete
    • Git repository with git-flow branches (local only) (complete)
    • Directory layout matching the house vhost convention (complete)
    • Configuration + bootstrap + PDO layer with fallback (complete)
    • Security guard: CSP nonce, headers, HTTPS via proxy (complete)
    • Admin auth: bcrypt, session hardening, IP throttling (complete)
    • CSRF tokens and audit log (complete)
    • Front controller, .htaccess, this status page (complete)
  2. M1

    Data layer

    MariaDB schema, migrations, and seed data for a playable arena.

    complete
    • Schema: settings, fighters, neural_networks, objects (complete)
    • Schema: background_presets, music_tracks, audit log (complete)
    • Idempotent migration runner (contrib/migrate.php) (complete)
    • Seeder with deterministic network initialisation (complete)
    • Public JSON API: /api/config, /api/health (complete)
  3. M2

    Engine core

    Fixed-timestep simulation, articulated bodies, physics constraints.

    complete
    • TypeScript + Vite build into html/js (complete)
    • Seeded PRNG and math helpers (complete)
    • Fixed-timestep clock with accumulator and step cap (complete)
    • Articulated body: 14 segments, spring-damper joints (complete)
    • Ground contact, collision, impulse resolution (complete)
    • NaN/runaway-state sanitisation and recovery (complete)
  4. M3

    Motion and combat

    Pose targets, locomotion, attacks, hitboxes, damage, knockback.

    complete
    • Motion controller: intent to desired pose (complete)
    • Locomotion: walk, run, turn, jump, land, balance (complete)
    • Attack set with startup/active/recovery frames (complete)
    • Hitbox sweeps, damage, knockback, hit-stop (complete)
    • Stamina, blocking, stagger, knockdown, recovery (complete)
  5. M4

    Artificial idiocy

    Perception, neural policy, tactical state machine, personalities.

    complete
    • Perception: 40 normalised game-state features (complete)
    • Feed-forward policy network 40-24-16-12, tanh (complete)
    • Tactical state machine over network output (complete)
    • Personality weighting layer (complete)
    • Comedy director with cooldowns (complete)
  6. M5

    World and rendering

    Procedural parallax city, infinite ground, camera, effects.

    complete
    • Canvas 2D renderer, DPR-capped, single context (complete)
    • Procedural background, 5 parallax layers, recycling (complete)
    • Infinite ground with procedural detail (complete)
    • Camera: midpoint tracking, lead, zoom, shake (complete)
    • Particles, shadows, impact effects, debug overlay (complete)
  7. M6

    Interaction and audio

    Pointer tools, object physics, Web Audio synthesis.

    complete
    • Pointer picking, drag, throw with velocity tracking (complete)
    • Object palette and spawning (complete)
    • Grab and shove the fighters themselves (complete)
    • Procedural Web Audio SFX, voice-limited (complete)
    • Music player: loop, fade, volume, mute memory (complete)
  8. M7

    Admin and identity

    Login-protected editors, brand package, OG tags, icons.

    complete
    • Login page with throttling and CSRF (complete)
    • Editors: settings, fighters, objects, presets, music (complete)
    • Neural network inspector, versioning, rollback (complete)
    • Brand package: logo, palette, icons, social cards (complete)
    • OG/Twitter tags, favicons, webmanifest, sitemap (complete)
  9. M8

    Release candidate

    Tests, profiling, hardening, and swapping this page for the game.

    in progress
    • Unit tests for math, PRNG, network, collision (queued)
    • Headless simulation soak test for NaN and drift (in progress)
    • Performance pass against the 60 FPS target (queued)
    • Promote the arena to / and this page to /status (queued)