Tabletop Simulator Note:開發環境建置
想要為世界貢獻,還是得做些準備。
嘗試在最常見的 IDE 上進行桌遊腳本開發。
(主要以 mac 環境舉例)
資源整理
在 Window 上使用 VSCode 建立 Tabletop simulator 的 Lua 腳本開發環境:開發環境設定
Technical Info:檔案儲存位置等資訊
Tabletop Simulator Lua VSCode 插件
Tabletop Simulator Lua Extension for VSCode 插件 GitHub 官網
在 VSCode 安裝後可以做到使用下方的快捷鍵連結進行中的遊戲的腳本等行為
主要指令
Open TTS Console++
windows: Ctrl Alt `
mac: Ctrl Option `
Get Lua Scripts
windows: Ctrl Alt L
mac: Ctrl Option L
Save And Play
windows: Ctrl Alt S
mac: Ctrl Option S
操作步驟
- 開啟 Tabletop Simulator 並挑選想要改寫腳本的 mod 執行
- 進入 VSCode 使用 Get Lua Scripts 指令(通常插件會自動抓運行中 mod 的 Lua scripts)
- 即可於 VSCode 看到 mod 的 Lua 腳本
專案化版本控管
有了好用的 IDE 支援後,接著就想要有版本控管及多人協作的環境。
建立專案資料夾
可以直接去 GitHub 創新專案再 clone 到本地,亦可直接用 git 指令在本地初始化一個專案。
連結專案資料夾與遊戲存檔資料夾
- 終端機進入遊戲存檔資料夾(~/Library/Tabletop Simulator/Saves)
- 創建專案軟連結(ln -s 專案位置 軟連結名稱):ln -s ~/tabletopSimulatorScripts/ projectSoftLink
注意:
不指定軟連結名稱就是使用專案位置作為名稱
將遊戲於專案資料夾中存檔
- 開啟 Tabletop Simulator
- 選擇 CREATE,創建任意種類房間
- Games(上方 Tab) > Workshop,開起任意已訂閱的 mod
- Games(上方 Tab) > Save & Load,可以看到我們創建的專案軟連結(可以視為專案資料夾),單擊進入,單擊 Save Game 按鈕,單擊 Save 按鈕儲存遊戲存檔
於電腦檔案系統中進入專案資料夾,可以看到儲存的遊戲存檔由兩個檔案構成:TS_Save_*.json 與 TS_Save_*.png
於專案資料夾撰寫腳本
- 開啟 Tabletop Simulator
- CREATE 任意房間
- Games > Save & Load > 專案資料夾 > 單擊前面存的遊戲存檔 > 單擊 Load 按鈕,以讀取要進行開發的遊戲存檔
- 開啟 VSCode 並使用 Get Lua Scripts 指令,連結目前 Tabletop Simulator 開啟存檔的 Lua 腳本,主要會看到名為 Global.-1.lua 的檔案
- 在 VSCode 目前 WORKSPACE 加入專案資料夾,這種 WORKSPACE 樣式會是之後開發的主要狀態
- 於專案資料夾內創建 src 資料夾,之後腳本都寫在這裡(非強制,跟團隊約定好為主)
- WORKSPACE/Tabletop Simulator Lua/Global.-1.lua 檔案中最上方需加入以 require(“src/*”) 形式加入所有腳本檔案,* 表示 src 資料夾下不含 .lua 副檔名的腳本檔案名,這樣使用 Save And Play 指令後就能將專案資料夾中的腳本加入連結的遊戲存檔(.json)中
注意:
使用 Save And Play 指令可以將撰寫的腳本寫入遊戲存檔,但遊戲內對物件進行的種種操作想儲存必須使用遊戲內存檔機制,否則遊戲關閉後都會消失
資料夾關聯的部分參考 Module Resolution
Lua VSCode 插件
Lua
用來做 Lua 語法自動的補全,只用 Tabletop Simulator Lua VSCode 插件很難針對 Lua 語法做偵錯
開發前準備
- 至少要瀏覽過 Tabletop Simulator Lua Extension for VSCode 的相關文檔,了解 IDE 能做到哪些事,其實插件作者還在開發中,有些列出的功能都只在 beta 版,一般安裝版沒有
- 熟悉 Tabletop Simulator 遊戲內物件操作
- 待補