Документация Steamworks
Steam Remote Play

Введение

Перенесите свои игры из Steam на телефоны, планшеты или телевизоры благодаря функции Remote Play для приложения Steam Link. Remote Play также позволяет играть удалённо с другого компьютера, подключённого к Steam, или играть вместе с друзьями, используя функцию Remote Play Together.

У каждого компьютера или устройства, подключённого с помощью Remote Play, — своя сессия. Подробности о подключённых устройствах, использующих интерфейс ISteamRemotePlay, можно узнать здесь.

Если вы оптимизировали свою игру для удалённой игры с различных устройств или знаете, что ваша игра поддерживает функцию Remote Play Together, то вы можете отметить соответствующие пункты в подразделе «Поддерживаемые функции» раздела управления страницей в магазине, чтобы ваша игра отображалась при поиске продуктов с подобными возможностями.

RemotePlayFeatures_1.png

Remote Play Together


Если вы указали эту функцию в списке, то пользователи смогут играть вместе с друзьями из Steam, как будто находясь за одним компьютером. Игра должна быть куплена и установлена только на основном компьютере, а все остальные игроки могут присоединиться с помощью потоковой технологии Steam Remote Play.

Эта функция автоматически активируется для игр с метками «Локальный мультиплеер», «Локальный кооператив» и «Общий/разделённый экран», но вы можете включить или выключить её самостоятельно по своему усмотрению.

Пользователи приглашают друзей в игру через оверлей Steam. Если хотите, вы можете создать интерфейс для приглашения друзей прямо через игру с помощью функции ISteamRemotePlay::BSendRemotePlayTogetherInvite().

Тестирование Remote Play


Можно использовать функцию Remote Play Together и настроить игру так, чтобы пользователи могли протестировать её вместе с разработчиками, не загружая файлы на свои компьютеры. This could be used for focus testing of new content, press walkthroughs, virtual trade shows, etc.

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

  1. Make sure the default branch has content that you're comfortable with the public downloading and seeing. For an unreleased game, this should probably be an empty depot.
  2. Create or set a password protected branch with content that you'd like to invite people to test remotely.
  3. Перейдите на партнёрский сайт, измените настройки Steamworks вашего приложения и во вкладке «Приложение» выберите Steam Remote Play. Выберите ветку, которую хотите использовать для тестирования, затем сохраните и опубликуйте изменения.

    RemotePlayTogetherPartnerConfiguration_1.png

  4. If your game is unreleased, send a CD-key to the users you would like to invite for testing. This grants them access to the default depot, so you may want to create special purpose accounts for this.
  5. Set up your test system to use the password protected branch. Launch the game on the test system and right click people in your friends list to invite them to join the session and play! Each session requires a fresh invitation from the developer.

Это пошаговое руководство предполагает демонстрацию контента, но его также можно использовать, чтобы включить и опробовать функцию Remote Play Together в отдельной ветке, прежде чем активировать её для своей игры в настройках на странице в магазине.

(NOTE: this feature requires that the test system be running a Steam client dated May 23, 2020 or newer)

Remote Play для телефона


If you have checked this feature, it means you have created a recommended Steam Input touch controller config for your game, and have verified that the UI elements and font sizes work well for small handheld devices.

Remote Play для планшета


If you have checked this feature, it means you have created a recommended Steam Input touch controller config for your game, and you adapt to the various 4x3 and 16x9 aspect ratios used by tablet devices.

Чтобы узнать соотношение сторон и разрешение удалённого устройства, вызовите функцию ISteamRemotePlay::BGetSessionClientResolution().

Remote Play для телевизора


If you have checked this feature, that means you have full controller support for your game, and have verified that the UI elements and font sizes work well for viewing at a distance on a TV.

HOWTO: Add Touch Controller Config


Прочитайте статью «Оптимизация сенсорного управления для Remote Play», чтобы изучить примеры и рекомендации.

  1. Begin streaming the game to your mobile device. On the desktop machine, go to Steam Big Picture Controller Configuration for your game. Remove any unnecessary bindings not used by your game, and add any custom bindings used by your game. For more information see https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_players

    TouchBindings.PNG

  2. On your mobile device, click the [...] button and drag any newly bound controls onto the screen. Adjust the layout and size of each button as desired. For more information see the introduction support article and the more detailed visual guide.
  3. Once you are happy with your configuration and are ready to publish it, go to Big Picture Controller Configuration on the desktop (while streaming to your mobile device), and click Export Config. Save it as a new Personal binding and give it an appropriate name such as 'Official Touch Controller Configuration for GAME' and a useful description.
  4. Go to Browse Configs, select your new config, and click Share Configuration.
  5. Go to the partner site and edit Steamworks Settings → Application → Steam Input. Under Steam Input Default Touch Configuration select Custom Configuration. Click the "Add Custom Configuration" button and paste the URL for your new config, and click Save.

    TouchPartnerConfiguration.png

  6. Publish your updated Steamworks settings for your game, as you would normally.

If you want to change your official configuration, you have to publish a new config, as you would with the Steam Controller.

HOWTO: Advanced Touch Controller Config


If your game has multiple game modes, you can set up an actionset with unique layout for each game mode.

Simply add an actionset to the touch controller configuration for your game, cycle through the actionsets on your mobile device and setup the layout for them, and then call the SteamInput APIs to change to the appropriate actionset at runtime.

For example, if you wanted to add a menu actionset, you could do it like this:

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(); }