戰略分析室 - 遊戲開發探究

將Unity專案打包進Steam Deck執行經驗談

這個月,我買了一台Steam Deck。
主要動機是希望週末回到家鄉時,沒有電腦也能玩《霍格華茲的傳承》,另外還有一個提高我購買意願的理由:以後可以用Steam Deck做為遊戲作品的展示機!

我在購買前就有做一些調查並詢問友人,得知Steam Deck可以進入「桌面模式」當作一般的電腦來使用,甚至也可以接上鍵盤、滑鼠、大螢幕。 (詳見下方參考資料)

然而,Steam Deck的作業系統是 SteamOS ,是 Steam 基於 Linux 自行研發的 OS,所以我在實際操作過一遍之前有許多疑問:

●從 Unity 的 Build Setting 中,目標平台要選哪一個? Windows 還是 Linux ?
●需不需要有 Steam 開發者資格才能在 Steam Deck 執行自己的遊戲?
●需不需要特別為 Steam Deck 設計一套 InputSystem 的按鍵設定?

這篇文章就是希望解答上述這些問題,為我自己留個日後還會用到的筆記,也希望能對大家有幫助!


以下將以我幾週前在 Global Game Jam 2023 與組員共同開發出的作品 百年樹人 做為範例。這款遊戲的畫面比例是以 16:9 做規劃的,而且只要單指點擊就能遊玩,是一個非常適合用來嘗試裝進 Steam Deck 的目標!

「建置自己的Unity專案,並且放到Steam Deck裡面執行」可以分成這幾個步驟:

1. 在Unity build出自己的專案,目標平台選擇Windows
不需要有Steam開發者的資格,Input System也和綁定搖桿按鍵的流程是共通的,不需要特別設計。

2. 將打包出來的檔案放在同個資料夾,並將資料夾壓縮成.zip檔案


3. 將整包zip檔傳進Steam Deck裡面
我選擇的方式是使用檔案傳輸軟體 Winpinator ,只要在 PC、Steam Deck 兩邊都安裝這個軟體,在軟體的介面中兩台裝置就能互相偵測,並且在PC端發起傳輸請求,將選定的遊戲 zip 檔傳給 Steam Deck 。
(Steam Deck桌面模式中,下方工具列有個「Discover Store」的圖示,功能類似手機的App Store,可以直接在那邊搜尋到 Winpinator 這個工具。)

除了這個方法外,也可以直接用 USB, SD 卡插上 Steam Deck 進行檔案傳輸,詳情可見下方參考資料的文章。


4. 在Steam Deck解壓縮zip檔案,並且對.exe執行檔案右鍵,選擇「Add to Steam」


5. 點開桌面上的Steam圖示進入遊戲收藏庫,就會看到自己的遊戲出現在列表中


6. 點擊右邊的齒輪icon,進入「內容」->「相容性」


7. 勾選「強制使用特定Steam Play相容性工具」選項,並選擇下方任一Proton相容性版本
(可以直接選最上面最新的,如果執行失敗再往下逐一嘗試)


8. 設定完成,點選執行遊戲!


這樣就大功告成了!做完這些步驟後,離開桌面模式回到 Gameing Mode 也還是可以直接執行自己匯入的遊戲。


Steam Deck自己有開發一套叫做 Proton 的相容性工具,是基於 Wine 做擴充的工具,所以其作用可以理解成與「在 Linux 和 MacOS 上要安裝Wine才能執行.exe檔」類似,這就是不需要特別為Unity專案Build Linux版本的原因。

甚至我個人更建議使用 Windows Build 而非 Linux Build ,因為通常遊戲都會使用到Shader, Particle, 材質球等Asset,且平常大家可能都只專注在 Windows/Android/iOS 等平台上的測試,很少有心力持續整合測試 Linux 版的運作狀況。

因為不同作業系統的圖學 API 都會有差異,如果突然打包 Linux 版放進 Steam Deck ,反而容易有預期外的錯誤發生。所以還是直接打包Windows版,剩下的事情安心交給Steam Deck的相容性工具吧!


參考資料:

友人 孩雅多Hayato 大大

Steam Deck對.exe檔的相容性設定 – 【心得】Steam Deck 安裝 DLsite 遊戲

Steam Deck一直打不開商店選單的修復方法 – [FIX]Steam Deck Desktop mode Discover store

檔案傳輸軟體Winpinator使用說明 – How To Transfer Files From PC To Steam Deck


羽毛的電玩新手村

FB粉絲專頁

FeatherGameDev@gmail.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s