Skip to content

About

Big Pharma 的工廠 + Potion Craft 的地圖:確定性 sim core 的 2D 自動化/鍊金遊戲,兼 AI 多 agent 編排實驗場

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

HexaPharma

codename,正式名稱待議。

一款把 Big Pharma 式實體工廠與 Potion Craft 式地圖探索結合的確定性 2D 單人遊戲。操作借鏡 shapez/Factorio 的直接建造語言;UI、素材與美術皆為原創。

現行玩法

Research:用完整奇形機器在已知地圖上規劃整條路線,按 Run 付一次費試驗,只揭露實際路徑
Production Plan:免費、無時間的工廠配置沙盒;確認後 Commission 到正式產線
Production:新局即可直接建造;每次變更付費並承擔持續生產的結果
Market / Technology / Blueprints
  • F1/F2/F3 分別開啟 Research、Production Plan、Production;M/T/B 開啟抽屜。
  • 新局在 Atlas 中心揭露 hex distance radius 2 的 19-cell disk;只有牆可穿霧看見。深淵、沼澤、成對傳送門、治療區與副作用區都要實際出藥揭露。
  • 預設同一張 Atlas 有 4 種獨立疾病。assay 只透露目標的寬廣方位區段,不公開座標或距離。
  • Research 機器只使用 catalog 定義的完整路徑,不能截短。路徑相對藥的朝向(開局朝東),每台機器走完後依固定角度轉向;沼澤內每步只走半格。
  • 玩家先在本地規劃整條路線(預估只用已知地圖,霧當平地),按 Run · $N 才付一次總價、從起點在權威地圖上試驗、揭露實際 trail 並顯示 outcome。Research 不產生配方;找到 Cure 後到 Plan 自己排產線。
  • Production 新局即有空白 24×12 場地,不要求先使用 Production Plan。傳送帶 $2、分流/合流 $8、來源 $12、出口 $6、機器是每單位處理成本的 10 倍;拆除不退款。
  • Production Plan 免費且沒有時間,只是可選的設計空間。完成後可按 Commission $N 建到 Production;內部 state/intent 名稱暫仍使用 pilot。
  • 傳送帶依六邊的真實連線顯示端點、對向直線、60°/120°轉折與多向 junction,拖曳轉彎會逐格設定正確方向。
  • Blueprint v4 codec 能驗證、匯入、下載或刪除 research-program 文件,但目前 UI 不建立或套用 Research Blueprint,避免繞過付費試驗、揭霧與 outcome。可建立/套用的通用 factory-layout 能免費開到 Production Plan,或付費 Commission 到 Production;Library 使用 hexapharma.blueprint-library.v4 跨存檔保存。
  • 每種疾病都有出貨合約,quota 固定為 3;依序完成 Disease 1/2/3 的合約,才可分別取得 Zigzag/Loop/Straight+Crane 的 machine patent。
  • Save v14 是 plain JSON、完全開放且可由玩家編輯;僅保證同 content build 內正確,舊開發版存檔直接拒絕,不做 migration。
  • 正常新局有 $1000,必須能從人工 Research 經付費建廠走到第一次出售。每種疾病的需求獨立並逐次按 floor(19/20) 衰減至 0;Market 優先出售乾淨、低成本且仍有利潤的實體產品。
  • Atlas 與 Factory 都是 pointy-top axial true hex:離散 cell 使用 {q,r},六方向依序為 E/SE/SW/W/NW/NE,Factory footprint/ports 有六個 60° rotations。兩個場域仍保有獨立 payload 與 validator;dense arrays 一律以 r * width + q 索引。本版視覺採定向越野地圖語言:紙底墨印、ISOM 色語,路線紫只標玩家自己的線(研究實際路線、規劃虛線、選取、Plan overprint);世界由 Pixi vector runtime 繪製,無 bitmap/manifest contract。

詳細操作見 玩家指南,設計與正確性規格見 docs/design.md 與 docs/invariants.md。

Architecture

TypeScript 6|React 19|PixiJS 8|Vite 8|Vitest/fast-check|Playwright。

React UI          → read GameState + dispatch GameIntent
Pixi renderer     → read-only drawing
Pure TS sim core  → deterministic path/mapgen/tick/economy/save/replay

src/sim/** 禁止 Pixi/React/DOM。mapgen 先由 seed 建地形,再在地形上 constructive 地建立彼此不同的疾病與解;不保留跨 seed 通用的安全走廊。mapgen 與 sim 不用 Math.random() 或 wall-clock;Production 熱迴圈使用固定容量資料結構。solver 只供 tests/tools 的 minimum-solution/平衡檢查,絕不進遊戲內自動解。

啟動

npm ci
npm run dev -- --host 0.0.0.0 --port 53346 --strictPort

真人驗證清單見 docs/playtest.md。

Gate

npm run check

唯一自動驗收閘:tsc --noEmit && eslint . && vitest run && playwright test。自動 E2E 使用 throwaway port,不碰真人測試用的 53346。main 的 push/PR 由 GitHub Actions(.github/workflows/check.yml)執行同一 gate。

文件

文件 用途
docs/design.md canonical 遊戲與技術設計
docs/player-guide.md 啟動、操作與遊玩流程
docs/ui-interaction.md world-first 互動與視覺契約
docs/invariants.md 正確性不變式
docs/overview.md 短版 domain overview
docs/structure.md 模組與邊界
docs/plan.md, docs/roadmap.md 現行工作與後續階段
docs/playtest.md 遠端啟動與手動驗收
docs/development-policy.md 早期存檔政策
docs/decisions.md 關鍵決策
docs/module-ownership.md 協作 ownership

License

The Unlicense — public domain.

About

Big Pharma 的工廠 + Potion Craft 的地圖:確定性 sim core 的 2D 自動化/鍊金遊戲,兼 AI 多 agent 編排實驗場

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages