(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


Steam向けゲームに自動クラウドセーブを設定(実装)する方法【Steam】


このエントリーをはてなブックマークに追加

はじめに

SteamにはSteamクラウドというセーブデータをクラウドで管理し、

端末やOS問わずセーブデータを同期出来る機能があります。

Steamクラウドは、ゲームからファイルをSteamのサーバーに自動で保存し、プレイヤーはSteamにログインすればどのコンピューターからでもセーブゲームにアクセスできます。


Steamクラウドはリリースにあたっての必須機能ではないのですが、

Steamが実装を推奨していますし、意外と簡単に設定出来ます。


という事で今回はSteamクラウドの設定(実装)方法の解説記事です!

なお、APIを使って実装する方法ではなくプログラムは一切使わない自動設定の方なのであしからず。


クラウドセーブの初期設定

クラウドセーブを使うにはまず初期設定が必要です。

と言っても、テクニカルツールの「Steamworks 設定を編集」を開き、

f:id:kan_kikuchi:20200928080440j:plain


アプリケーションにある「Steam クラウド」で、

f:id:kan_kikuchi:20200928080542j:plain


自動クラウドセーブで同期するセーブデータファイルのサイズと最大数を設定するだけです。

f:id:kan_kikuchi:20200928080551j:plain



自動クラウドセーブの設定

次に初期設定と同じページにあるルートパスでセーブデータのパスを設定します。

f:id:kan_kikuchi:20200928083140j:plain


なお、複数のOSに対応する場合はルートオーバーライドで各OS毎のセーブデータのパスを指定します。

f:id:kan_kikuchi:20200928085309j:plain


設定を変更したら保存するのもお忘れなく。

f:id:kan_kikuchi:20200928085328j:plain


これだけでゲーム起動時と終了時にセーブデータが自動的に同期されるようになります。


ちなみにセーブデータのパスを間違えた状態で申請してしまった事がありましたが、

「自動クラウドのパスが○○になってるけど、セーブファイルは△△にあるよ?」

という感じで指摘してもらえました。

(ただし基本リリース時しか審査はないのでアップデート時は指摘してもらえないはず)


自動クラウドセーブのテスト方法

最後に自動クラウドセーブのテスト方法です。


まず、今までと同じページにある

ベータテストの「クラウドサポートをデベロッパーにのみ有効化」にチェックを入れます。

ただし、リリース前にテストする際はチェックを入れる必要はないはずです。

f:id:kan_kikuchi:20200929092321j:plain


次にChrome等のブラウザでsteam://open/consoleを開いて、SteamのCONSOLEを開きます。

f:id:kan_kikuchi:20200928085649j:plain


そのSteamのCONSOLEの下部にある入力欄に

「testappcloudpaths AppId」「set_spew_level 4 4」というコマンドを入力します

f:id:kan_kikuchi:20200929092009j:plain


ちなみにAppIdは各アプリケーションに設定されている物です。

(以下のChupa Chupa VRならtestappcloudpaths 1336160と入力する感じ)

f:id:kan_kikuchi:20200929090832j:plain


コマンド入力後、Steamからアプリを起動するとCONSOLEに色々表示され、

そこで指定したセーブファイルを同期しているログが表示されていればOKです。

f:id:kan_kikuchi:20200929092036j:plain


なお、アプリ終了時にも同様の表示がされます。

f:id:kan_kikuchi:20200929092135j:plain


これらを別のPCやOSから繰り返して、セーブデータが同期されていればテスト完了です。


テストを終了するにはtestcloudapppaths 0set_spew_level 0 0というコマンドを入力した後、

Steamクライアントを再起動します。

またベータテストの「クラウドサポートをデベロッパーにのみ有効化」

のチェックを外す必要もあります。