Skip to content

Repository files navigation

奇點世界(Singularity World)

遊戲專案:奇點世界
英文專案名:singularity_world

設計核心:從有限框架延伸出無限可能。
體驗端以手機使用情境為主,現階段為 PWA 運作模式。


專案現況

  • 後端:Rust 服務(Axum 0.8 + Tokio)。
  • 資料儲存PostgreSQL 為唯一權威持久層;執行期真理以資料庫為準。data/ 下 JSON 僅作種子、靜態設定與開發備份(細節見 AGENTS.mddocs/技術約束規則.md)。
  • 主要路徑:單一方格 MUD 世界;底層使用 square grid,玩家體驗是純文字 MUD 與「方格 + 連線」地圖,不是棋盤,也不是 Hex。
  • 前端:原生 HTML/CSS/JS (PWA),提供遊戲頁面與管理工具組(星圖、管理頁)。
  • 進度:以 WORKBOARD.md 的方向定調與 sw-status 的實況輸出為準;舊 Hex/觀景窗/歷史模擬器對接已下線或凍結。

快速啟動

啟動前嚴格閘門(品質與契約優先)

本專案將 靜態檢查與資料契約 視為建置前置條件。./start(systemd 重啟):

  1. cargo clippy -- -D warnings:程式碼品質檢查(不可有任何警告)。
  2. cargo test:單元與整合測試。
  3. cargo run --bin checkrooms -- -brackets -strict:房間 JSON 契約檢查(驗證觸發字與括號對應)。
  4. cargo build --releasebin/server-rust
  5. 前端建置/靜態資源同步:依 ./start 內現行流程執行;不得自行跳過。

一鍵啟動 (Rust)

在專案根目錄執行:

./start        # 推薦:完整閘門 + 建置 + systemd 重啟 singularity.service

用途:通過閘門後,建置後端與前端資源並啟動伺服器(預設埠:1721)。


常用路由與 API

  • 遊戲端/, /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

奇點世界 — 一個能量充沛的常理化奇幻世界,萬物因此富態生長。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages