クラウドセーブとは?
異なるPC間でセーブデータを共有するシステムです。家ではデスクトップ、外ではノートと2台のPCを所有している方も多いかと思います。その際にセーブデータが共有されていないと折角、出先でレベル上げしても家に帰ってもう一度上げ直しになります。
それを防ぐために、異なるPCでSteamゲームを遊んでもセーブデータを共有できるようにするシステムです。皆様もクラウドはお使いになっているかと思います。それと同様の方式で、Steamが用意してくれたサーバーに各々ゲームのセーブデータをアップロードします。
設定することは以下の2つです。
- サーバーで確保する容量
- セーブするデータのフォルダパス
サーバーで確保する容量を設定する
画像の○でかこった箇所を入力します
- ユーザーごとのバイトクォータ
- ユーザーごとのファイル数
要はクラウドで確保するべきセーブデータの容量とファイル数です。こちらは遠慮なく最大量を確保しましょう。とはいえ、セーブデータはバイナリーファイルにすぎないので10000バイトを超えることはまずないでしょう。キロバイトではなくバイトという点にご注意ください。
セーブするデータのフォルダを設定する
こっちが大事です。様々な方式があると思いますが、私の設定した方式以外は説明できませんのでご了承くださいm(_ _)m
設定する場所
アプリケーション>Steamクラウドと進んで下さい。
ルートパスの設定
相対パスを使います。相対パスとはざっくり言うとexeファイルからみて対象のファイルが入ったフォルダはどこにあるか?というパスです。
私の場合はゲームのexeファイル>datフォルダ>svフォルダ>ここ
ルート
ルートの矢印をクリックすると以下のリストが表示されます。App install Directory が一番カンタンです。これはSteamゲームが入っているフォルダを指します。
サブディレクトリ
- ライブラリを開く
- 調べたいゲームを右クリック
- 出てきたメニューから管理>ローカルファイルを閲覧
こうやって自作Steamゲームのフォルダを開くことができます。
ルートから見て、セーブデータが入っているフォルダのパスです。
私の場合はdatフォルダ内のsvフォルダにセーブデータが入っています。なのでdat/svとなります。
パターン
*を指定します。こうすることでフォルダ内のすべてのファイルが対象となります。
プレビュー
設定したパスが表示されます。ここで確認して下さい。
私はプロのプログラマーではないので命名ルールがテキトーです。皆様はsteamにデフォルトで記載されている”svDat”をフォルダ名にした方がわかりやすいかと思います。
リリース前のテスト
それではチェックしましょう。リリース前のゲームなら好きなようにチェックできますが、リリース後のゲームではそうはいきません。なのでチェックモードを起動します。
Steamクラウド設定ページの上から2番めの項目がβテストとなっています。クラウドサポートをデベロパーのみに有効化にチェックを入れます。これをしないと既存ユーザーのセーブデータが壊れる可能性があるので絶対にやってください。
チェックの手順
以下Steamドキュメント引用。意味がわからない箇所もあるかと思いますがとりあえず読んで下さい。下で詳しく解説します。
1.テストするアプリを所有するアカウントでSteamにログインします。
2.ブラウザーで
steam://open/console
を開いて、Steamコンソールを開きます。3.コンソールに
testappcloudpaths <AppId>
とテストするアプリのApp IDを入力します。 例:testappcloudpaths 480
4.コンソールに
set_spew_level 4 4
と入力します。5.Steamからアプリを起動します。
6.コンソールでアクティビティをチェックしてください。自動クラウドパスに既存のファイルがある場合には、アップロードされることを確認してください。 ファイルが無ければ、アプリ用のいくつかのファイルが保存され、アプリを閉じると同期を開始します。
7.別のPCから上記ステップを繰り返して、Steam自動クラウドからファイルがダウンロードされるかを確認します。
8.ゲームがサポートする全てのオペレーティングシステムでテストしてください。
9.テストを終了するには
testappcloudpaths 0
とset_spew_level 0 0
を設定してください。 コンソールタブを取り除くには Steamクライアントを再起動してください。
Steamコンソールとは
ブラウザに上記のURLを入力するとなぜかsteamが特別なモードで起動します。原理はわかりませんがそういうものです。普段はない「CONSOLE」というタブがでてきました。これがSteamコンソールです。上記手順に従ってテストを進めて下さい。
テスト完了後は、忘れずに開発者専用モードを無効にして、変更を公開してください。
これでセーブデータの同期が確認できたらOKです。
私も初めてこれができたときはものすごく嬉しかったです。ゲームを作るだけじゃなくサーバーに関する何かができたということが特にうれしかったですね。
次回作に向けてリーダーズボードの設置を勉強しなくては(汗)