Steamworks 문서
Steam Remote Play

개요

Steam Link 앱과 함께 Steam Remote Play 기능을 사용하여 휴대폰, 태블릿 또는 TV로 Steam 게임 플레이를 즐기세요. Steam Remote Play는 다른 컴퓨터에서 Steam에 로그인해 원격으로 게임을 플레이할 때, 그리고 Remote Play Together를 사용해 친구를 플레이에 초대할 때에도 사용됩니다.

Remote Play를 통해 연결된 각 컴퓨터나 기기에는 자체 세션이 있습니다. 연결 기기와 관련된 자세한 정보는 ISteamRemotePlay Interface 문서를 참조해 주세요.

다양한 유형의 기기에서 게임을 원격 플레이할 수 있도록 최적화했거나 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() 함수를 사용하면 원격 기기의 가로 세로 비율 및 해상도에 대한 정보를 얻을 수 있습니다.

TV에서의 Remote Play


이 기능의 확인란을 선택했다면, 게임이 컨트롤러를 완벽 지원하고, TV에서 멀리 떨어진 상태에서도 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 Controller의 경우와 마찬가지로 새로운 구성 설정을 게시해야 합니다.

고급 터치 컨트롤러 구성 방법


게임에 여러 게임 모드가 있는 경우 각 게임 모드마다 고유한 레이아웃으로 동작 세트를 설정할 수 있습니다.

동작 세트를 추가하기만 하면 게임에 대한 컨트롤러 구성을 할 수 있습니다. 모바일 기기에서 동작 세트를 둘러보고 레이아웃을 설정한 후, 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(); }