Steamworks有提供統計功能, 讓開發者可以便捷的將玩家遊玩的數據紀錄下來(ex: 破關次數、通關時間, etc...)
此功能同時也能連動於Steam成就, 也就是可以實現"當玩家的某個統計數據達到某個值後, 解鎖某個成就"
應用此機制, 開發者可以於程式中只實作統計紀錄, 將資料儲存、成就達成判斷、和成就解鎖這些事交給後台
下面將說明如何實作:
後台設置
本篇假設開發者已於Steamworks建立應用程式
1. 從Steamworks的主控台選擇要設置的應用程式, 進入其 技術工具->編輯Steamworks設定 頁面
2. 進入 統計與成就->統計 頁面, 新增統計欄位, 設置API名稱等資料
3. 進入 統計與成就->成就 頁面, 新增成就欄位, 設置API名稱等資料
4. 於成就欄位中的 進度數據 一欄選擇要參考的統計API
5. 將解所成就的條件值設定於最高欄位, 當參考的統計API數值達到其以上時, 即解鎖成就
(比如你希望玩家的T1_COUNT達到10以上實獲得成就, 就設定10)
(筆者一開始搞錯設定在最小值, 最高沒設定, 結果就造成了悲劇)
6. 發佈變更使設定生效
程式實作
本篇是於Unity中使用Steamworks.NET來實作, Steamworks.NET的導入與初始化不於本篇贅敘, 直接進入API使用環節
1. 使用SteamUserStats.SetStat, 設定值於指定的統計API
2. 如希望在玩家能即時得到成就解鎖, 設定完Stat後要呼叫SteamUserStats.StoreStats, 否則會在關閉程式時才會把資料傳給後台
Comments