CoOp:Anything
게임을 검색해 협동 플레이 가능한 모드·단계·품질·커뮤니티 평점을 확인합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기OpenWorld RPG: a pixel-art open-world RPG in the browser, with the engine and editor it is built on. The world's rules are data; a language model can add new ones at runtime.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗OpenWorld is a pixel-art open-world RPG that runs in the browser, together with the engine and editor it is built on. Everything in the world follows rules written as data. When a player tries something no rule covers, a language model can propose a new rule, which the engine validates before applying it. The game is fully playable without a model.
Play it at openworldrpg.ai · project page
OpenWorld is the research platform for the paper Large Symbolic World (in preparation).
The game
The engine and editor
Every interaction in the game is decided by rules attached to types of objects. When no rule defines what an action does, the engine can ask a language model for one. The new rule may only fill that gap, never change behaviour that is already defined, and it is tested in a sandbox before it is accepted. Accepted rules are shared, so the next player who tries the same thing gets the same result. Without a model, such actions fall back to a default, usually that nothing happens. Details: docs/design.md §5.
Requirements: Node.js 24 and npm. A language model is optional.
npm install
npm run gen:world # generate the world data
npm run dev # the game at http://localhost:5173, the AI rule service on port 8787
npm run dev asks which model backend to use (AI setup); npm run dev:client starts the game
alone. npm run build produces a static site in games/openworld/client/dist.
| Input | Action |
|---|---|
| WASD / arrow keys | Move (hold Shift to walk) |
| Left click | Use the item in hand: swing a weapon or tool, or use it on yourself |
| Right click | Use the item in hand on what you point at, or place it there |
| E | Interact: pick up, talk, open, read |
| G | Put down, put into a container, give |
| Space / Q | Attack / dash |
| X / V | Draw or sheathe your weapon / sneak |
| 1–0, mouse wheel | Select a toolbar slot (Shift+Tab swaps in the next row of the bag) |
| Shift+1–6 | Skills |
| Tab or I, C, K, U, L, J, M | Bag, crafting, skill tree, skills, quests, codex, world map |
| B / R | Build mode / rotate |
| Esc | Menu |
| ` | Developer console (development builds only) |
All keys can be rebound in Options → Keys.
npm run play # the standalone player: http://localhost:5174/?game=/games/starter/
npm run editor # the editor: http://localhost:5175/editor/
npm run editor:build # build the editor as a standalone program, then: npm run editor:start
npm run desktop # the editor as a desktop app (npm run desktop:dist builds installers)
npm run game -- check games/starter # validate a game project (build <project> --out <dir> makes a bundle)
The editor opens game projects from any folder. It edits maps, characters, items and other data, sprites and
sounds, rules, story and quests; fills gaps in the rules by hand or with a model; starts a playtest anywhere on a
map; and exports a game as a standalone web build. games/starter is a minimal example project.
The AI rule service is optional. Choose a backend with npm run dev -- --backend <name> or LSW_MODEL_BACKEND,
and put its settings in .env (not committed):
| Backend | Settings |
|---|---|
openrouter | LSW_MODEL_KEY, LSW_MODEL (e.g. moonshotai/kimi-k3); LSW_MODEL_URL for another OpenAI-compatible endpoint |
anthropic | ANTHROPIC_API_KEY |
claude-code | None; uses the signed-in Claude Code CLI (default claude-opus-5-5) |
codex | None; uses the signed-in Codex CLI (default gpt-6.1-sol), with Codex's own tools off |
none | None; only rules already learned are used |
--model <id> and --effort <level> pick the chosen backend's model and effort; left out, the backend's
default or .env is used. --fast asks claude-code for fast mode and codex for its fast tier.
npm run dev -- --backend codex --fast # Codex, gpt-6.1-sol, fast tier
npm run dev -- --backend codex --model gpt-6-luna --effort medium
npm run dev -- --backend claude-code --model claude-sonnet-5-5
npm run modder -- serve # run the service on its own, on port 8787
npm run modder -- serve 8787 --script packages/ai/fixtures/offline.json --data var/offline # scripted, no model
In development the game connects to http://localhost:8787. Elsewhere, pass ?modder=<url> or set
VITE_MODDER_URL at build time (?modder=off disables it). Players of a published build can instead enter their
own API key, which stays in their browser (Options → Your model; docs/byok.md). An overview of the
AI code is in docs/ai.md.
| Path | Contents |
|---|---|
packages/engine | The engine core: world state, rules, effects, events, behaviour, quests, story, saves |
packages/modules | Optional game systems: classes, waypoints, boons, hunger, social behaviour, loot, monster skills |
packages/stdlib | Base types, statuses and rules shared by all games |
packages/format | The game project format: validation, compilation, localization, JSON Schemas |
packages/runtime | The player: rendering (Phaser 4), interface, audio |
packages/editor | The editor: local server, web app, Electron shell |
packages/ai | The AI rule service, model backends, and the research agent and benchmarks; the game builds without it |
games/openworld | The game: content and rules, map generation and tools, the client, the wiki generator, assets |
games/starter | A minimal example game |
docs/ | Design documents |
wiki/ | Wiki pages (Chinese, with an English edition) |
bench/ | Benchmark data for the research experiments |
site/ | The project website |
The engine packages never import a game, and games never import each other
(packages/engine/test/boundaries.test.ts).
npm run check # typecheck and tests, as in CI
npm test
npm run typecheck
npm run coverage # rule coverage report; commit the updated baseline with rule changes
npm run check:world # headless playtest over two in-game days
npm run scale # performance check across fifty maps
npm run test:ui # browser tests of the interface (first run: npx playwright install chromium)
The interface components and their test page are described in docs/ui.md.
Wiki. An encyclopedia of the game with a page for every item, character, creature, place and quest, partly
generated from the game data. It is written in Chinese, with an English edition. Editing guide:
wiki/pages/帮助/编辑入门.md.
npm run wiki # http://localhost:5180/wiki/
npm run wiki:check # check links and that every item and system has a page
npm run wiki:build
Assets. The subset of the Ninja Adventure pack the game
uses is committed in games/openworld/public/assets/na/. To update it, put the full pack in
assets/ninja-adventure/ and run npm run assets.
| Area | Documents |
|---|---|
| Design | design.md · world-model.md · game-design.md · engine-split.md · roadmap.md |
| World and story | lore.md · release-1.md · prologue.md · chapter-1.md · main-quest.md · continent.md · showcase.md · firstlight-village.md · writing.md |
| Game systems | quests.md · npc-sandbox.md · · · · · · · · · · |
main. CI runs the typecheck and tests, and also builds the game without
packages/ai.games/openworld/content, not as engine code.games/openworld/tools/test/demo.test.ts.npm run wiki:check enforces this).Architecture notes and project conventions: CLAUDE.md.
If you use OpenWorld in your research, please cite:
@misc{openworld2026,
title = {OpenWorld: A Large Symbolic World},
author = {{OpenWorld Team}},
year = {2026},
howpublished = {\url{https://openworldrpg.ai/}}
}
games/openworld/public/assets/lsw/): CC0 1.0.packages/runtime/src/fonts/).| Art and interface | ui.md · looks.md · character-art.md · cast/ · crop-art.md · alberic-art.md |
| AI and research | ai.md · byok.md · rsi.md · rsi-experiments.md · paper-eval.md · upstream.md · fresh-pool.md |