打包遊戲
建立 Player 發行資料夾,測試正式遊戲,準備版本更新。
建立發行版本
完成試玩後執行:
prismatix validate my-game
prismatix build my-gamebuild 預設產生 my-game/dist/<project-id>/,包含 Player、遊戲內容和必要的相依檔。玩家不需要 Node.js、npm 或 SDK。
要指定輸出位置,使用:
prismatix build my-game --output "release/First Light"--output 只改資料夾位置。選擇獨立的發行目錄,避免指向 Story、Assets、Content 或其他既有資料。
build、pack、run 怎麼選?
| 命令 | 用途 |
|---|---|
build | 建立可玩的 Player 發行資料夾 |
build --artifact-only | 只輸出編譯資料,供工具和自動化使用 |
pack | 執行封裝與發行流程 |
run | 封裝後直接啟動 Player |
dev | 開發時的預覽與重新編譯 |
以下是不同用法,不需要每次全部執行:
prismatix build my-game --artifact-only --output my-game/.prismatix/artifact
prismatix pack my-game --output "release/First Light-package"
prismatix run my-game --output "release/First Light-test"交給玩家時提供完整發行資料夾,而不只是 .pxir 或單一執行檔。
輸出資料夾被拒絕覆寫
CLI 會記錄輸出檔案,避免覆蓋不屬於這次建置的資料。若你在發行資料夾試玩,新增了存檔或 log,或手動改過檔案,下次覆寫可能被拒絕。
這時改用新的輸出目錄,保留原本的資料。發行時也要保留相依函式庫與授權聲明。
平台與封裝選項
預定桌面平台是 Windows x64、Linux x64、macOS x64/arm64;實際支援以該版本的發行紀錄為準。使用對應平台的 runtime bundle,分別建置與測試;CLI 目前沒有通用的 --platform 跨平台旗標。
WASM 用於 Studio 預覽,還不是完整的網頁遊戲發行方案。原生影片和自訂 GPU 效果的支援也與平台有關,shader 會在打包時離線編譯。
--compression 接受 none、fast、balanced、maximum。--encrypt 可啟用封裝加密,但不代表素材無法被提取。
發行前試玩
把完整輸出移到沒有專案原始碼、node_modules 和開發環境變數的位置,再啟動 Player。檢查標題、分支、語言、字型、圖片、聲音與自訂介面。
建立存檔後關閉 Player,重新開啟並讀取。也要測試空欄位、覆寫、回溯、取消動畫,以及 Extension 狀態。更新作品時,使用舊版測試存檔的副本檢查相容性。
發行資料應保留授權和第三方聲明,移除不需要的除錯檔、密鑰與私人存檔。記錄遊戲版本、引擎版本、平台和測試結果,方便日後追查。
離線工作與工具升級
初次 create 需要 registry。專案依賴與 runtime 準備好後,dev、build 可在本機離線執行;新增套件或取得缺少的素材仍需另外準備。
升級工具時,在分支更新專案固定的 CLI/SDK 和 lockfile,再測試 Story、Extension、Player 與舊存檔。全域 CLI 的更新不會直接取代既有專案固定的版本。
引擎維護者:編譯原生程式
這一節只用於修改引擎或製作 runtime bundle,一般遊戲作者可以略過。在引擎原始碼目錄,依 README 準備 C++20、CMake、Ninja 與平台依賴,再執行:
npm ci
npm run checkWindows 使用 Visual Studio Developer PowerShell:
$env:VCPKG_ROOT = "C:\path\to\vcpkg"
cmake --preset x64-debug
cmake --build --preset x64-debug
cmake --install out/build/x64-debug --prefix out/install/x64-debug --component PrismatiXRuntime
$env:PRISMATIX_PHASE1_RUNTIME = "out/install/x64-debug"
npm run test:phase1macOS 對應 macos-debug preset;其他設定查看同版本的 CMake presets。測試候選套件可使用:
node scripts/phase1-clean-install.mjs --mock --keep
node scripts/phase1-clean-install.mjs --runtime /path/to/installed-runtime --keep--runtime 要換成已安裝的 runtime component 路徑。Mock 測試安裝與啟動流程,原生測試才會啟動實際 runtime;畫面、音訊與操作結果仍需另外檢查。