PrismatiXEngine
開始使用

專案結構與設定

故事、素材、UI 和 Extension 放在哪裡,以及 prismatix.json 的常用欄位。

English

檔案放在哪裡?

下面列出範本檔案,以及後續教學會加入的內容:

my-game/
  prismatix.json              專案設定
  package.json               工具版本
  package-lock.json          依賴版本鎖定
  Story/main.pxstory          起始故事
  Characters/guide.pxcharacter
  Assets/window.png
  Assets/guide.png
  Content/UI/Title.pxui       標題畫面
  Content/Fonts/              字型與授權
  Content/Localization/zh-TW.json
  Content/Extensions/        後續新增的擴充
  Content/game.pxgame         後續指定的遊戲資料
  .prismatix/                編譯與預覽暫存
  dist/                      打包結果

主要編輯 Story、Characters、Assets 和 Content。.prismatix/ 會在建置時重建,修改故事請回到原始 .pxstory 檔。

prismatix.json

prismatix.json 是平常編輯的設定檔。CLI 會補上未指定的預設值,交給 SDK 編譯。下面示範名稱、語言和解析度;把這些欄位合併到現有設定,保留素材及角色清單:

{
  "id": "first-light",
  "name": "First Light",
  "defaultLocale": "zh-TW",
  "resolution": {"width": 1280, "height": 720}
}

你也可能看到 project.pxproject。這是欄位完整的專案格式,遵循 PrismatiXProject schema revision 2,包含故事入口、UI、版本、索引和擴充清單。剛開始製作遊戲時,使用 prismatix.json 即可。

CLI 收到資料夾路徑時,依序尋找 prismatix.jsonproject.pxproject,最後才嘗試 Story/main.pxstory。若同時存在兩份設定,會優先載入 prismatix.json;也可以直接把設定檔路徑傳給 CLI。

常用欄位

欄位用途
idname專案識別碼與顯示名稱
resolution遊戲的邏輯畫面寬高
defaultLocalesupportedLocales預設語言與支援語言
assetscharacters素材清單與角色來源
gameCatalog遊戲變數、畫廊與解鎖資料
storyIndex章節、場景和各語言的故事檔
extensions要載入的 .pxextension
uiEntryPointsuiComponents畫面路由與共用 UI 元件
graphicsTiereffects圖形功能層級與自訂效果
versioncontentVersionsaveVersionsaveMigrations發行版本與存檔更新規則

後續章節會逐一新增需要的設定。已有陣列就追加項目,例如在 extensions 加入另一個擴充,或在 assets 加入新背景。

路徑、別名與 ID

內容路徑相對於專案根目錄,使用 /,例如 Assets/window.png。不能使用電腦上的絕對路徑、../ 或網址。Extension 的 entrymodules 則相對於 manifest 所在資料夾,詳見Extension 教學

幾種識別方式的用途不同:素材 UUID 對應一個資源;guide 是故事裡使用的角色別名;[id main.welcome] 對應一個故事操作。新增內容時才配置新 ID,修改既有內容時保留原 ID。已發行作品還需要檢查存檔相容性

交給 Git 管理

提交故事、設定、素材、授權、擴充原始碼、建置設定,以及 package.json 和 lockfile。node_modules/、預覽暫存和玩家存檔則留在本機。

另一台電腦應依 lockfile 安裝相同工具版本。升級 CLI 或 SDK 時,先在分支測試故事、打包結果與舊存檔。

接下來看撰寫第一個故事

實作參考:專案 schema範本設定載入流程

On this page