TV 게임 빌드

텔레비전 화면에는 모바일 게임 개발자에게 생소할 수 있는 여러 가지 고려사항이 있습니다. 이러한 영역에는 텔레비전 화면의 큰 크기 및 컨트롤 체계와 모든 플레이어가 동시에 시청하고 있다는 사실이 포함됩니다.

디스플레이

TV 화면용 게임을 개발할 때 유의해야 할 두 가지 주요 사항은 공유 디스플레이로서의 TV 화면 특성과 게임을 가로 방향으로 디자인해야 한다는 점입니다.

공유 디스플레이 고려

거실 TV는 모든 플레이어가 모든 것을 볼 수 있다는 점에서 멀티플레이어 게임에 관한 디자인 도전과제를 제기합니다. 이 문제는 특히 각 플레이어가 숨겨진 정보를 소유하는 데 의존하는 게임(예: 카드 게임 또는 전략 게임)과 관련되어 있습니다.

한 플레이어가 다른 플레이어의 정보를 도청하는 문제를 해결하기 위해 구현할 수 있는 몇 가지 메커니즘은 다음과 같습니다.

  • 정보를 숨기는 데 도움이 되는 화면의 블라인더. 예를 들어 단어 도는 카드 게임과 같은 턴 방식 게임에서는 한 번에 한 명의 플레이어가 디스플레이를 볼 수 있습니다. 이 플레이어가 이동을 완료하면 게임에서 아무도 비밀 정보를 보지 못하도록 차단하는 블라인더로 화면을 가릴 수 있습니다. 다음 플레이어가 턴을 시작하면 블라인더가 열리고 자체 정보가 표시됩니다.
  • 휴대전화 또는 태블릿에서 실행되는 호환 앱에서는 플레이어가 두 번째 화면 역할을 하여 정보를 숨길 수 있습니다.

가로 디스플레이 지원

TV는 항상 가로로 되었습니다. 회전할 수 없으므로 세로 방향이 없습니다. 항상 가로 모드로 표시되도록 TV 게임을 디자인하세요.

입력 기기

TV에는 터치 인터페이스가 없으므로 컨트롤을 올바르게 설정하고 플레이어가 컨트롤을 직관적이고 사용하기 쉽다고 생각하게 하는 것이 훨씬 더 중요합니다. 컨트롤러 처리에도 여러 컨트롤러 추적 및 정상적인 연결 해제 처리와 같이 주의해야 할 몇 가지 다른 문제가 발생합니다. 게임을 포함한 모든 TV 앱은 컨트롤러를 일관되게 처리해야 합니다. TV 컨트롤러 사용에 관한 자세한 내용은 TV 컨트롤러 관리를 참조하고, 게임을 위한 TV 컨트롤러 사용에 관한 구체적인 정보는 게임 컨트롤러 처리를 참조하세요.

manifest

게임이 Android manifest에 포함해야 하는 몇 가지 특수 항목이 있습니다.

홈 화면에 게임 표시

Android TV 홈 화면에는 게임이 일반 앱과 별도의 행에 표시됩니다. 게임을 게임 목록에 표시하려면 앱 매니페스트의 <application> 태그에서 android:isGame 속성을 "true"로 설정합니다. 예를 들면 다음과 같습니다.

    <application
        ...
        android:isGame="true"
        ...
    >
    

게임 컨트롤러 지원 선언

TV 기기 사용자를 위해 게임 컨트롤러를 사용 가능하게 하거나 활성화하지 못할 수 있습니다. 게임이 게임 컨트롤러를 지원한다는 것을 사용자에게 올바르게 알리려면 앱 매니페스트에 다음 항목을 포함해야 합니다.

      <uses-feature android:name="android.hardware.gamepad" android:required="false"/>
    

참고: android:hardware:gamepad 지원을 지정할 때 android:required 속성을 "true"로 설정하지 마세요. 그렇게 하면 사용자가 TV 기기에 앱을 설치할 수 없습니다.

매니페스트 항목에 관한 자세한 내용은 앱 매니페스트를 참조하세요.

Google Play 게임 서비스

게임이 Google Play 게임 서비스에 통합된다면 업적, 로그인, 게임 저장 및 멀티플레이어 플레이와 관련된 여러 가지 고려사항을 염두에 두어야 합니다.

업적

게임에는 5개 이상의 획득 가능한 업적이 포함되어야 합니다. 지원되는 입력 기기에서 게임플레이를 제어하는 사용자만 업적을 획득할 수 있어야 합니다. 업적과 업적을 구현하는 방법에 관한 자세한 내용은 Android에서의 업적을 참조하세요.

로그인

게임은 시작 시 사용자를 로그인하려고 시도해야 합니다. 플레이어가 연속해서 몇 번 로그인을 거부하면 게임이 요청을 중지해야 합니다. Android에서 로그인 구현하기에서 로그인에 관해 자세히 알아보세요.

저장

Google Play 서비스의 저장된 게임 기능을 사용하여 게임 저장을 지원합니다. 게임은 여러 기기에서 고유하게 식별할 수 있도록 게임 저장을 특정 Google 계정에 결합해야 합니다. 플레이어가 핸드셋을 사용하든지, TV를 사용하든지 관계없이 게임이 동일한 사용자 계정에서 게임 저장 정보를 가져올 수 있어야 합니다.

또한 플레이어가 로컬로 저장되거나 클라우드에 저장된 데이터를 삭제할 수 있는 옵션을 게임 UI에 제공해야 합니다. 게임의 Settings 화면에 이 옵션을 배치할 수 있습니다. Play 서비스를 사용하여 저장된 게임을 구현하는 방법에 관한 자세한 내용은 Android의 저장된 게임을 참조하세요.

멀티플레이어 환경

멀티플레이어 환경을 제공하는 게임은 둘 이상의 플레이어가 방에 들어오도록 허용해야 합니다. Android의 멀티플레이어 게임에 관한 자세한 내용은 Android 개발자 사이트에서 실시간 멀티플레이어턴 방식 멀티플레이어 문서를 참조하세요.

종료

사용자가 게임을 정상적으로 종료할 수 있도록 하는 일관되고 명확한 UI 요소를 제공하세요. D패드 탐색 버튼을 사용하여 이 요소에 액세스할 수 있어야 합니다. 홈 버튼을 사용하여 종료하는 것은 여러 컨트롤러에서 일관되지 않고 신뢰할 수 없으므로 대신 D패드 탐색 버튼을 사용하세요.

Android TV용 게임에서 웹 탐색을 사용 설정하지 마세요. Android TV는 웹브라우저를 지원하지 않습니다.

참고: 소셜 미디어 서비스 로그인에 WebView 클래스를 사용할 수 있습니다.

네트워킹

최적의 성능을 제공하기 위해 게임에 더 큰 대역폭이 필요한 경우가 많으며, 많은 사용자가 이러한 성능을 제공하기 위해 Wi-Fi보다 이더넷을 선호합니다. 앱에서 Wi-Fi 및 이더넷 연결을 모두 확인해야 합니다. 앱이 TV 전용이라면 모바일 앱에서와 같이 3G/LTE 서비스를 확인할 필요가 없습니다.