遊戲專案:奇點世界
英文專案名:singularity_world
設計核心:從有限框架延伸出無限可能。
體驗端以手機使用情境為主,現階段為 PWA 運作模式。
- 後端:Rust 服務(Axum 0.8 + Tokio)。
- 資料儲存:PostgreSQL 為唯一權威持久層;執行期真理以資料庫為準。
data/下 JSON 僅作種子、靜態設定與開發備份(細節見AGENTS.md、docs/技術約束規則.md)。 - 主要路徑:單一方格 MUD 世界;底層使用 square grid,玩家體驗是純文字 MUD 與「方格 + 連線」地圖,不是棋盤,也不是 Hex。
- 前端:原生 HTML/CSS/JS (PWA),提供遊戲頁面與管理工具組(星圖、管理頁)。
- 進度:以
WORKBOARD.md的方向定調與sw-status的實況輸出為準;舊 Hex/觀景窗/歷史模擬器對接已下線或凍結。
本專案將 靜態檢查與資料契約 視為建置前置條件。./start(systemd 重啟):
cargo clippy -- -D warnings:程式碼品質檢查(不可有任何警告)。cargo test:單元與整合測試。cargo run --bin checkrooms -- -brackets -strict:房間 JSON 契約檢查(驗證觸發字與括號對應)。cargo build --release→bin/server-rust。- 前端建置/靜態資源同步:依
./start內現行流程執行;不得自行跳過。
在專案根目錄執行:
./start # 推薦:完整閘門 + 建置 + systemd 重啟 singularity.service用途:通過閘門後,建置後端與前端資源並啟動伺服器(預設埠:1721)。
- 遊戲端:
/,/ws(WebSocket) - 工具端:
/star_chart,/admin - 資料 API:
/api/action/gather:資源採集接口 (PG 驅動)/api/topology:星圖演化拓撲
singularity_world/
├── src/
│ ├── main.rs # 程式進入點
│ ├── server/ # Axum 路由、WS Hub、Session、API
│ ├── store/ # PostgreSQL 權威驅動;拒絕依賴執行期 JSON
│ ├── world/ # 世界地圖、區塊管理、資源點系統
│ ├── grid/ # 方格座標、鄰居、揭露與玩家視野
│ ├── game/ # 遊戲主循環、NPC 模擬、動作分派 (do_action)
│ ├── combat/ # 戰鬥結算判定
│ ├── npc/ # NPC 決策、話語池、社交觸發
│ ├── ai/ # Ollama LLM 整合、Prompt 管理
│ └── bin/ # 獨立工具(如 checkrooms、migrate)
├── data/ # 房間 JSON (種子)、設定檔、資料快照
├── web/ # 前端靜態資源 (HTML/CSS/JS)
└── docs/ # 設計文獻、API 規範、實作建議
主索引(設計/規格/AI 任務前查表):docs/文檔索引.md — 必讀四份、決策表、規格表與 reference/ 大表皆在此。
| 用途 | 路徑 |
|---|---|
| 方向定調 | WORKBOARD.md |
| 技術約束 | docs/技術約束規則.md |
| 累積記憶與偏好 | docs/AGENTS_LEARNED.md |
| 代理精簡入口 | 根目錄 AGENTS.md |
奇點世界 — 一個能量充沛的常理化奇幻世界,萬物因此富態生長。