Criar jogos para TV

A tela da televisão apresenta várias considerações que podem ser novas para desenvolvedores de jogos para dispositivos móveis. Essas áreas incluem o tamanho grande, o esquema de controles e o fato de que todos os jogadores a veem ao mesmo tempo.

Tela

Os dois fatores mais importantes a serem considerados ao desenvolver jogos para a tela da TV é a natureza de tela compartilhada e a necessidade de projetar seu jogo para a orientação paisagem.

Considerar a tela compartilhada

Uma TV de sala de estar impõe desafios de design para jogos multijogador, uma vez que todos os jogadores podem ver tudo. Essa questão é relevante especialmente para jogos (como de cartas ou de estratégia) que dependem das informações secretas que cada jogador detém.

Alguns dos mecanismos que você pode implementar para resolver o problema de um jogador espiar as informações de outro são:

  • Uma cobertura na tela para ajudar a esconder informações. Por exemplo, em um jogo em que os jogadores se revezam, como de palavras ou cartas, um jogador por vez poderá olhar a tela. Ao terminar a jogada, o jogo permite que ele cubra a tela para impedir que informações secretas sejam vistas. Quando o jogador seguinte começar a jogar, a cobertura será aberta, revelando as informações dele.
  • Um app Companion executado no smartphone ou tablet pode ser usado como segunda tela para permitir que um jogador proteja informações.

Compatibilidade com a exibição paisagem

A TV está sempre na horizontal. Ela não pode ser virada e não há orientação retrato. Sempre projete seus jogos para TV para exibição em modo paisagem.

Dispositivos de entrada

TVs não têm interfaces de toque, então é ainda mais importante ter os controles corretos de garantir que os jogadores os considerem fáceis e divertidos de usar. O uso de controles também traz outras questões a serem observadas, como acompanhar a ação de vários controles e lidar com desconexões. Todos os apps de TV, incluindo jogos, precisam lidar com controles de forma consistente. Leia Gerenciar controles de TV para saber mais sobre o uso de controles de TV e Gerenciar controles para jogos para ver informações específicas sobre o uso de controles de TV para jogos.

Manifesto

Os jogos devem incluir alguns itens especiais no manifesto do Android.

Mostrar o jogo na tela inicial

A tela inicial da Android TV exibe jogos em uma fila separada dos outros apps. Para que seu jogo seja exibido na lista de jogos, configure o atributo android:isGame como "true" na tag <application> do manifesto do seu app. Exemplo:

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

Declarar compatibilidade para controles de jogos

Controles de jogos podem não estar disponíveis ou ativos para usuários de um dispositivo de TV. Para informar corretamente os usuários de que seu jogo é compatível com um controle, é necessário incluir a seguinte entrada no manifesto do app:

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

Observação: ao especificar a compatibilidade com android:hardware:gamepad, não defina o atributo android:required como "true". Se você fizer isso, os usuários não conseguirão instalar seu app em dispositivos de TV

Para mais informações, consulte Manifesto do aplicativo.

Serviços relacionados a jogos do Google Play

Se seu jogo integrar os Serviços relacionados a jogos do Google Play, será preciso levar em conta diversos fatores relacionados a conquistas, login, salvamento de jogos e sessão multijogador.

Conquista

Seu jogo deve incluir pelo menos cinco conquistas (que podem ser atingidas). Somente o usuário que controla a jogabilidade em um dispositivo de entrada compatível deve conseguir atingir conquistas. Para mais informações sobre conquistas e como implementá-las, consulte Conquistas no Android.

Login

Seu jogo precisa tentar fazer o login do usuário durante a inicialização. Se o jogador recusar o login várias vezes seguidas, o jogo deverá parar de solicitá-lo. Saiba mais sobre o login em Implementar login no Android.

Salvando

Use os Jogos salvos do Google Play Services para armazenar o salvamento de jogos. Seu jogo deve vincular o salvamento de jogos a uma Conta do Google específica para que ele seja unicamente identificável mesmo em outros dispositivos. O jogo deve conseguir acessar informações de salvamento da mesma conta de usuário tanto no dispositivo móvel como na TV.

Ofereça também uma opção na IU do jogo que permita que o usuário exclua dados locais ou armazenados em nuvem. Você pode colocar a opção na tela Settings do jogo. Para ver detalhes sobre como implementar jogos salvos usando o Google Play Services, consulte Jogos salvos no Android.

Experiência multijogador

Um jogo que oferece experiência multijogador precisa permitir que pelo menos dois jogadores acessem um ambiente. Para mais informações sobre jogos multijogador no Android, consulte as documentações Multijogador em tempo real e Multijogador em turnos no site do desenvolvedor Android.

Saída

Ofereça um elemento de IU consistente e fácil de encontrar que permita que o usuário saia do jogo. Os elementos devem ser acessíveis por meio dos botões de navegação do botão direcional. Não use o botão home como saída, uma vez que ele não é consistente nem confiável em controles diferentes.

Web

Não ative a navegação na Web em jogos para a Android TV. Ela não é compatível com navegadores da Web.

Observação: você pode usar a classe WebView para fazer login em serviços de mídia social.

Redes

Em geral, os jogos precisam de uma largura de banda maior para proporcionar um desempenho ideal. Além disso, muitos usuários preferem a Ethernet ao Wi-Fi para atingir esse desempenho. O app deve verificar a existência de ambas as conexões. Se seu app destina-se apenas à TV, não é necessário verificar se há serviço 3G/LTE, como você faria com um app para dispositivos móveis.