{"id":"pg_01M4PM022JMGKXFSBGF4KNV61M","space":"openvibe","slug":"openvibe-games","url":"https://openvibe.wiki/w/openvibe/openvibe-games","state":"published","visibility":"public","revision":3,"title":"OpenVibe.Games","summary":"Browser games on one moddable base: Scraplandia (a persistent multiplayer physics sandbox), Salvage Rush (timed rounds) and the casual line, starting with Vibe Heroes.","body_markdown":"**OpenVibe.Games** runs browser games at `openvibe.games` and `play.openvibe.games`, all from one TypeScript codebase with an authoritative server.\n\n## What it does\n\n- **Scraplandia** is a persistent multiplayer physics sandbox. Players gather in the wilds outside Scrap City, craft tools and building pieces, place them with a GMod-style physgun, and extract valuables in its scored \"Haul\" mode.\n- **Salvage Rush** is a separate place in the same process: 90-second rounds of collecting scrap, scored by the server.\n- **Vibe Heroes** (`/play/vibe-heroes`) is the first casual game: a phone-first idle hero collector built from a shared casual kit.\n- **The client** runs Babylon.js, using WebGPU where the browser has it. Its quality tiers scale resolution, shadows and texture size on weak phones.\n- **The server** keeps characters, inventories and the world in PostgreSQL, with deterministic Rapier physics.\n- **Mods** add content packs and sandboxed script mods with per-mod capability grants.\n- **The map editor** works in the browser and is tested end to end in CI.\n- **Creator worlds** (`/worlds`): players build their own worlds in the map editor and publish them for anyone to join from the browser. They are sandboxes (characters are not saved there), run on demand, have their own pages and are in [[OpenVibe.Search]].\n\n## How it fits the network\n\nPlayers are keyed by [[OpenVibe.Network]] subjects.\n\n- **Play.** Games registers Scraplandia and Salvage Rush as titles on [[OpenVibe.Play]] and posts every round, haul, achievement unlock and guest adoption there.\n- **Inventory.** Some achievements grant cosmetic items through [[OpenVibe.Inventory]].\n- **Events and Media.** Games publishes `games.*` events through [[OpenVibe.Events]] and mirrors map-editor assets to [[OpenVibe.Media]].\n\nIt deploys through [[OpenVibe.Host]].\n\n## Status\n\nSTATUS.json's stage is \"stable\"; it is deployed with the `pnpm-build` strategy.","published_at":"2026-10-11T23:15:33.598Z","revision_published_at":"2026-10-16T02:53:44.678Z","revision_created_at":"2026-10-16T02:53:44.663Z","authorship":{"mode":"imported","workflow":null,"reviewed":false},"infobox":[{"key":"repository","label":"Repository","type":"url","value":"https://github.com/OpenVibers/OpenVibe.Games"},{"key":"domain","label":"Domain","type":"text","value":"openvibe.games"},{"key":"port","label":"Port","type":"number","value":8000},{"key":"runtime","label":"Runtime","type":"text","value":"Node 22, TypeScript/pnpm, Babylon.js, Rapier, PostgreSQL 18"},{"key":"status","label":"Status","type":"text","value":"stable"}],"citations":[{"url":"https://github.com/OpenVibers/OpenVibe.Games/blob/d782f6c088ada4f75c46659388bf9e9e79aa2bda/README.md","title":"OpenVibe.Games README (commit d782f6c)","source_item_id":null,"retrieved_at":"2026-10-14T23:30:00.000Z","quote":"OpenVibe.Games hosts Scraplandia at https://openvibe.games and https://play.openvibe.games.","license_note":null},{"url":"https://github.com/OpenVibers/OpenVibe.Games/blob/d782f6c088ada4f75c46659388bf9e9e79aa2bda/STATUS.json","title":"OpenVibe.Games STATUS.json (commit d782f6c)","source_item_id":null,"retrieved_at":"2026-10-14T23:30:00.000Z","quote":"Public at https://openvibe.games and https://play.openvibe.games","license_note":null},{"url":"https://github.com/OpenVibers/OpenVibe.Games/blob/c58f7202d928555069ba32d7d4c8d8366ed6b517/README.md","title":"OpenVibe.Games README.md (commit c58f720)","source_item_id":null,"retrieved_at":"2026-10-16T03:00:00.000Z","quote":"publish them at `/worlds` for anyone to join","license_note":null}],"attachments":[],"links":[{"space":"openvibe","slug":"openvibe-events"},{"space":"openvibe","slug":"openvibe-host"},{"space":"openvibe","slug":"openvibe-inventory"},{"space":"openvibe","slug":"openvibe-media"},{"space":"openvibe","slug":"openvibe-network"},{"space":"openvibe","slug":"openvibe-play"},{"space":"openvibe","slug":"openvibe-search"}],"indexability":{"indexable":false,"reasons":["ai_generated_unreviewed"]}}