{"id":51323946,"url":"https://github.com/bochen2029-pixel/backrooms-sim","last_synced_at":"2026-07-01T16:03:44.324Z","repository":{"id":364667187,"uuid":"1268022795","full_name":"bochen2029-pixel/backrooms-sim","owner":"bochen2029-pixel","description":"Infinite, never-repeating procedurally generated Backrooms walking simulator. Native Windows · C++20 · D3D12 + DXR path tracing · procedural materials, lighting \u0026 audio · biomes \u0026 verticality · VHS post. Built fully autonomously, milestone-by-milestone, behind machine-checkable gates.","archived":false,"fork":false,"pushed_at":"2026-06-14T01:16:34.000Z","size":14994,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-14T01:20:32.292Z","etag":null,"topics":["backrooms","cpp20","d3d12","direct3d12","dxr","gamedev","graphics","path-tracing","procedural-generation","raytracing","simulation","windows"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bochen2029-pixel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-13T04:18:19.000Z","updated_at":"2026-06-14T01:16:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bochen2029-pixel/backrooms-sim","commit_stats":null,"previous_names":["bochen2029-pixel/backrooms-sim"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/bochen2029-pixel/backrooms-sim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bochen2029-pixel%2Fbackrooms-sim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bochen2029-pixel%2Fbackrooms-sim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bochen2029-pixel%2Fbackrooms-sim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bochen2029-pixel%2Fbackrooms-sim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bochen2029-pixel","download_url":"https://codeload.github.com/bochen2029-pixel/backrooms-sim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bochen2029-pixel%2Fbackrooms-sim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35013190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backrooms","cpp20","d3d12","direct3d12","dxr","gamedev","graphics","path-tracing","procedural-generation","raytracing","simulation","windows"],"created_at":"2026-07-01T16:03:43.570Z","updated_at":"2026-07-01T16:03:44.317Z","avatar_url":"https://github.com/bochen2029-pixel.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Backrooms Sim\n\nInfinite, never-repeating, procedurally generated **Backrooms walking\nsimulation**. Native Windows, C++20, D3D12 + DXR, with a local-LLM Director.\nA demonstration/visualization — no win state, no combat, no asset files\n(everything is procedural).\n\nBuilt autonomously, milestone by milestone, with machine-checkable gates.\nCanon: [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md). Build sequence:\n[`docs/MILESTONES.md`](docs/MILESTONES.md). Where the build stands:\n[`docs/SESSION_LOG.md`](docs/SESSION_LOG.md).\n\n![The AI Shoggoth in the path-traced Backrooms](docs/images/shoggoth-dxr.png)\n\n\u003e *The AI Shoggoth, path-traced. Everything in this frame is generated from a seed — the\n\u003e walls, the fluorescent lights, the creature, and the lighting that falls on it. Rendered\n\u003e with `backrooms --shoggoth-dxr-shot --seed 11 --pose 0`.*\n\n## The Shoggoth — a living, AI-driven monster (Phase III)\n\nAn autonomous creature hunts the wanderer through the maze. Its whole sensory arc is built\nmilestone by milestone (M20–M25), and **determinism stays sacred** throughout — every AI\ndecision enters the sim only as a recorded event at a deterministic tick, so a recorded\nchase **replays bit-identically with every model offline**:\n\n- **Body + navigation** — a procedural warm-salmon radial-tentacle body (no assets) with\n  deterministic BFS maze-pathfinding toward the wanderer, visible in **both** the raster and\n  the **ray-traced** renderers.\n- **A KEEL brain** — a local LLM (the same sovereign KEEL substrate as the Director) chooses\n  what the creature *wants* (hunt / stalk / lurk / flank / flee). It runs **live, off the\n  120 Hz frame thread**, so it thinks while you play without ever hitching.\n- **Eyes** — a virtual camera renders the creature's POV; a local **vision model**\n  (qwen-VL + an `mmproj` projector) looks at the frame and informs the intent.\n- **Ears + a voice** — the creature hears its surroundings through **whisper.cpp**, and the\n  Backrooms PA speaks through a **from-scratch procedural formant TTS** (no assets) that\n  whisper reads back as words (*\"Evacuate sector five.\"*).\n\n```powershell\nbackrooms --shoggoth --out chase.png                     # headless: a deterministic chase + top-down map\nbackrooms --shoggoth-dxr-shot --pose 0 --out shot.png    # the creature in the path-traced path\nbackrooms --game --rt                                    # play it: the creature hunts you, ray-traced\n```\n\n## Prerequisites\n\n- Windows 10/11 x64\n- Visual Studio 2022 (Desktop development with C++) + Windows 11 SDK (DXR)\n- CMake ≥ 3.28, Ninja (the VS-bundled copies are fine)\n- Git (for vcpkg bootstrap). NVIDIA RTX GPU for the path-traced mode (M9+).\n\n`scripts/build.ps1` bootstraps **vcpkg** automatically (to `C:\\vcpkg` or\n`$env:VCPKG_ROOT`) and imports the MSVC dev environment, so a fresh clone needs\nno manual setup beyond the toolchain above.\n\n## Build, test, gate\n\n```powershell\npowershell -NoProfile -ExecutionPolicy Bypass -File scripts/build.ps1            # incremental build\npowershell -NoProfile -ExecutionPolicy Bypass -File scripts/build.ps1 -Clean     # clean build\nctest --test-dir build --output-on-failure                                       # run tests\npowershell -NoProfile -ExecutionPolicy Bypass -File scripts/gate.ps1 -Milestone M0   # milestone gate\n```\n\nA milestone is done only when `gate.ps1 -Milestone M\u003cN\u003e` exits 0.\n\n## Run\n\n```powershell\npowershell -NoProfile -ExecutionPolicy Bypass -File scripts/run.ps1          # build + a lit smoke render -\u003e runs/run-smoke.png\npowershell -NoProfile -ExecutionPolicy Bypass -File scripts/run.ps1 -Window  # build + launch the playable walk\n```\n\n### Play the game (`v2.0`)\n\n```powershell\nbackrooms --game                                                          # the windowed game: menu -\u003e walk\npowershell -NoProfile -ExecutionPolicy Bypass -File scripts/package.ps1   # build the portable .zip -\u003e dist/\n```\n\n`--game` boots to a main menu (New Game / Continue / Settings / Quit) and runs the\nwalk with WASD + mouse-look, **gamepad**, **F11 fullscreen**, and **persistent settings**.\n`scripts/package.ps1` produces a self-contained **portable folder** (exe + the bundled DXC\nDLLs + README/CREDITS) that runs on any Windows 10/11 machine with no SDK — unzip, run\n`RUN.cmd`. See the **[User Guide](docs/USER_GUIDE.md)** to play and the\n**[Design \u0026 Architecture](docs/DESIGN.md)** doc for how it all works.\n\nEverything is procedural — no asset files; geometry, materials, audio, and lighting\nare all generated from a seed at runtime. Highlights:\n\n- **Path-traced mode (DXR):** `backrooms --dxr-pt --pose P --spp N --out shot.png`\n- **The noclip intro:** `backrooms --intro` (mundane room → fall-through → Level 0)\n- **8 h walk-bot soak:** `scripts/soak.ps1 -Hours 8`\n- **Framed captures (\"photo mode\"):** `--shot` / `--dxr-pt` / `--topdown` write\n  deterministic PNGs. Configuration is the CLI flag surface (see `app/MODULE.md`).\n\n### The Director (optional local LLM)\n\nThe ambient **Director** routes to a local **KEEL** sidecar (OpenAI-compatible HTTP)\nfor inference — no model is bundled. Start the sidecar, then add `--director`:\n\n```powershell\nscripts/soak.ps1 -Hours 8 -Director     # acceptance soak with the Director ON\nbackrooms --director-probe              # one-shot: a WandererSummary -\u003e a directive\n```\n\nThe Director is **enhancement-only** (INV-6): `--no-director` (the default) runs the\nfull sim with no LLM. Determinism is preserved — the model's output enters the sim\nonly as a recorded event log, so a replay is **bit-identical with the model offline**.\n\n**It sees you — and you can talk back.** With the Director ON in ray-traced mode, it\nperiodically *looks at your actual view* (a local **Qwen-VL** vision model) and narrates\n**what is really on screen** — the yellow corridor, a doorway, the entity behind you —\ninstead of canned flavor. And the conversation goes both ways: **speak into your mic** and\nthe facility intelligence answers you, *in character* and grounded in what it sees — spoken\naloud through the procedural PA voice and shown as a subtitle (whisper.cpp transcribes you;\nthe reply is the local model; the mic is echo-gated so it never hears itself). Settings →\n**Test Microphone** runs the whole loop — mic → transcription → reply → caption + voice — as\na one-press diagnostic. All of it is presentation-only and never touches determinism.\n\n## Layout\n\n`core` `gen` `stream` `render_d3d12` `render_dxr` `audio` `telemetry`\n`director` `app` `tools` — see each module's `MODULE.md`. Dependency arrows\npoint downward only; `core` depends on nothing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbochen2029-pixel%2Fbackrooms-sim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbochen2029-pixel%2Fbackrooms-sim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbochen2029-pixel%2Fbackrooms-sim/lists"}