Steamworks ドキュメンテーション
Steam Remote Play

概要

SteamリンクアプリとSteam Remote Play機能で、Steamゲーム体験がスマホタブレットテレビに広がります。 Steam Remote Playでは、別のコンピューターでSteamにログイン中に、自分が所有するゲームをリモート(遠隔)でプレイすることも、フレンドを招待しRemote Play Togetherを使って一緒にプレイすることもできます。

Remote Play経由で接続されたコンピューターとデバイスは、それぞれ別のセッションになります。 ISteamRemotePlay Interfaceを使用すると、接続されたデバイスに関する情報を取得できます。

ゲームが様々な種類のデバイスでのRemote Play用に最適化されている場合や、Remote Play Togetherとの相性が良い場合は、パートナーサイトのストアページ管理の基本情報セクションで該当する機能のチェックボックスをオンにすると、顧客がこれらの使用条件に適したゲームを検索する際に表示されます。

RemotePlayFeatures_1.png

Remote Play Together


この機能にチェックを入れることで、ユーザーはSteamフレンドを招待し、一台のコンピューターを前にして一緒にプレイしているかのように、マルチプレイヤーゲームを楽しめるようになります。 ゲームを所有し、インストールする必要があるのはホストだけで、残りのプレイヤーはSteam Remote Playストリーミング技術を使って接続します。

この機能は、ローカルマルチプレイヤー、ローカル協力プレイ、共有画面や分割画面の機能を持つゲームとしてリストされているゲームでは自動的に有効化されますが、ゲームに応じて、この機能を有効または無効にできます。

ユーザーはSteamオーバーレイのフレンドリストからフレンドを招待できます。必要に応じて、ISteamRemotePlay::BSendRemotePlayTogetherInvite() 関数を使用し、ゲームから直接フレンドを招待するためのUIを作成することも可能です。

Remote Playのテスト


Remote Play Togetherを使用してゲームをセットアップすると、一般ユーザーはファイルをコンピューターにダウンロードすることなく、開発者と共にテストすることができます。 これは、新コンテンツのフォーカステストや、メディアへの説明、バーチャルトレードショーなどに役立ちます。

https://www.youtube.com/watch?v=XpeDNV1qUBk&feature=youtu.be

  1. デフォルトのブランチに含まれているのは、一般ユーザーがダウンロードして閲覧しても問題がないコンテンツであることを確認してください。 リリース前のゲームの場合、空のデポにしておくとよいでしょう。
  2. ユーザーを招待してリモートでテストしてもらいたいコンテンツを含むブランチを作成し、必要に応じてパスワードを設定します。
  3. パートナーサイトに移動し、ゲームの「Steamworks設定を編集」で、「アプリケーション」タブを選択して「Steam Remote Play」を選択します。 テストに使用するブランチを選択し、変更を保存して公開します。

    RemotePlayTogetherPartnerConfiguration_1.png

  4. リリース前のゲームの場合は、テストに招待するユーザーにCDキーを送信します。 これにより、ユーザーはデフォルトのデポへのアクセスが許可されるため、このテストのための専用アカウントを作成することをお勧めします。
  5. パスワードで保護されたブランチを使用するようにテストシステムを設定します。 テストシステムでゲームを起動し、セッションに参加してプレイするフレンドリストを右クリックして、招待しましょう! 各セッションには、開発者からの新しい招待が必要です。

この説明では、コンテンツを公開することを前提としていますが、「ストアページ設定」からゲーム内コンテンツを有効化する前に、あるブランチでRemote Play Togetherを有効にして非公開で試す場合にも使用できます。

(注:この機能では、テストシステムが2020年5月23日以降のSteamクライアントを実行している必要があります)

スマホでのRemote Play


この機能にチェックを入れることは、ゲーム用の推奨Steam入力タッチコントローラ設定を作成済みで、UI要素およびフォントサイズが小型の手持ちデバイスで適切に機能することを確認済みであることを意味します。

タブレットでのRemote Play


この機能にチェックを入れることは、ゲーム用の推奨Steam入力タッチコントローラ設定を作成済みであり、タブレットデバイスで使用される様々な4x3および16x9のアスペクト比に適合済みであることを意味します。

ISteamRemotePlay::BGetSessionClientResolution() 関数を使用して、リモートデバイスのアスペクト比と解像度に関する情報を取得できます。

テレビでのRemote Play


この機能にチェックを入れることは、ゲームにフルコントローラサポートがあり、UI要素とフォントサイズがある程度離れた距離にあるテレビでの閲覧に最適化済みであることを意味します。

タッチコントローラ設定の追加手順


Remote Playの最適化についてのブログ記事で、いくつかの例とベストプラクティスをご覧ください。

  1. モバイルデバイスへゲームのストリーミングを開始します。 デスクトップマシンの場合、ゲームのSteam Big Pictureコントローラ設定を開きます。 ゲームで使用されない不要なバインドを削除し、ゲームで使用されるカスタムバインドをすべて追加してください。 詳細はこちらをご覧ください:https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_players

    TouchBindings.PNG

  2. モバイルデバイスで、[...]ボタンをクリックして、新しくバインドしたコントロールを画面上にドラッグします。 必要に応じて、各ボタンのレイアウトとサイズを調整します。 詳細はこちらをご覧ください:タッチコントロール設定およびビジュアルガイド(英語)
  3. 設定に満足し、公開する準備ができたら、(モバイルデバイスへストリーミング中に)デスクトップ上のBig Pictureコントローラ設定を開き、「設定をエクスポート」をクリックします。「(ゲームタイトル)用公式タッチコントローラ設定」などの適切な名前とわかりやすい説明を付けて、新しい個人用バインドとして保存します。
  4. 「設定を閲覧」を開き、保存した新しい設定を選択し、「設定を共有」をクリックします。
  5. パートナーサイトから「Steamworks設定を編集」→「アプリケーション」→「Steam入力」を開きます。 「Steam入力デフォルトタッチ設定」で「カスタム設定」を選択します。 「カスタム設定を追加」ボタンをクリックして、新しい設定のURLを貼り付け、保存をクリックします。

    TouchPartnerConfiguration.png

  6. 通常通り、更新したSteamworks設定を公開します。

公式設定を変更したい場合は、Steamコントローラと同様に、新しい設定を公開する必要があります。

タッチコントローラの高度な設定手順


複数のゲームモードを持つゲームでは、各ゲームモードに固有のレイアウトでアクションセットを設定できます。

ゲームのタッチコントローラ設定にアクションセットを追加し、モバイルデバイスでアクションセットを順次表示してレイアウトを設定します。その後、SteamInput APIを呼び出して、実行時に適切なアクションセットに変更するだけです。

メニューアクションセットを追加する場合の例:

TouchBindings_1.PNG

TouchLayoutMenu.png

#include "steam/isteaminput.h" void GameInit() { SteamInput()->Init(); } void GameQuit() { SteamInput()->Shutdown(); } void GameLoop() { GameInit(); while ( bRunning ) { const InputActionSetHandle_t k_ActionSetGame = 1; const InputActionSetHandle_t k_ActionSetMenu = 2; SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, BInMenu() ? k_ActionSetMenu : k_ActionSetGame ); ... } GameQuit(); }