Jogos

O Windows 8.1 proporciona um alcance sem igual em uma ampla variedade de dispositivos, desde tablets ativados por toque e caneta com sensores modernos até computadores desktop e laptops de alta resolução. Esse alcance oferece uma oportunidade única para os fornecedores de jogos desenvolverem experiências para diversos cenários. Neste artigo, você verá como seu jogo pode adotar os princípios e as diretrizes de experiência do usuário do Windows, melhorando simultaneamente a experiência do usuário e aumentando seu envolvimento.

Diversos novos recursos do Windows 8.1 são de particular importância para os jogos:

  • Blocos e notificações dinâmicos—Os jogos podem convidar e envolver os jogadores desde a tela inicial, com atividade de bloco que indica pontuações, conquistas, desafios e convites de outros jogadores. Notificações durante o jogo ou outras atividades do usuário podem estimular os jogadores a voltar ao seu jogo mais rápido e com mais frequência.
  • Contratos de compartilhamento—Acordos entre aplicativos permitem que seu jogo se conecte a outros aplicativos já instalados no sistema, na Windows Store ou na Web, tornando-o uma experiência mais social para os usuários.
  • Suporte para uma variedade de interações do usuário—O Windows 8.1 dá suporte a toque, caneta, teclado, mouse e controles de jogo externos.
  • Sensores—O Windows 8.1 conta com suporte para sensores modernos, incluindo iluminação, giroscópio, acelerômetro e localização.
  • Suporte para vários fatores forma e tamanhos de tela—Os jogos podem ser executados em diversos fatores forma, desde telas grandes até tablets. Os controles de jogo podem ser exibidos em diferentes layouts, dependendo do tamanho da janela ou da tela, para uma experiência de jogo ideal.
  • Windows Store—A Windows Store oferece novas oportunidades para os desenvolvedores de aplicativos distribuírem, promoverem e venderem seus jogos e recursos internos de aplicativos. A Windows Store facilita o oferecimento de uma versão de avaliação sem a necessidade de escrever código.

Ao longo deste artigo, você saberá como esses recursos afetam o projeto e o desenvolvimento de jogos para o Windows 8.1. Demonstraremos esses princípios com os seguintes jogos: Cut the Rope, Microsoft Solitaire, Tankster, PuzzleTouch e Cannon Ball.

Declaração "Melhor para"

Antes de criar seu jogo, escreva uma declaração "melhor para", descrevendo as experiências que você quer proporcionar aos seus usuários. Em que cenário seu jogo é melhor e o que o torna melhor do que os outros jogos que participam do mesmo cenário? Use sua declaração "melhor para" para orientar seu processo de criação e tomar decisões sobre quais cenários e recursos você irá e não irá incluir.

A declaração "melhor para" do jogo Cannon Ball é fornecer um jogo simples e empolgante que permite aos usuários criar música guiando uma bola através de uma série de plataformas e coletando moedas. Durante o planejamento do jogo, essa declaração orientou as decisões de quais cenários teriam suporte. Para guiar uma bola para coletar as moedas, o usuário precisa conseguir mudar o ângulo das plataformas. Para possibilitar esse cenário, foi implementado controle de entrada por toque, teclado e mouse. Essa declaração também foi usada na decisão de quais cenários não teriam suporte. Por exemplo, foi decidido que o aplicativo não daria suporte ao cenário de salvar a música criada durante o jogo. A capacidade de salvar a música não agregava nada ao jogo e, portanto, não foi implementada.

Blocos dinâmicos, blocos secundários e notificações

Os jogos podem usar blocos dinâmicos para levar os usuários ao jogo a partir da tela inicial. Use um bloco dinâmico para exibir informações sobre as pontuações mais recentes do jogador, conquistas ou seu estado de jogo atual. Se seu jogo for atualizado com novo conteúdo como objetos ou níveis, você poderá exibir essas informações no bloco dinâmico, a fim de levar os usuários a entrar no jogo e jogar com o novo conteúdo.

Se sua experiência envolve um progresso complexo ou vários jogos em andamento, como um jogo com os amigos onde cada um tem sua vez, considere a possibilidade de permitir que os usuários fixem jogos salvos ou partidas específicas na tela inicial como blocos secundários. Isso permitirá que o usuário vá diretamente para um determinado jogo de que ele gosta. Para saber mais sobre blocos dinâmicos, veja Diretrizes e lista de verificação de blocos e notificações.

Outra maneira de manter os usuários envolvidos no jogo enquanto eles estão fazendo outras coisas é usar notificações do sistema que os alertem quando for sua vez de jogar ou se um amigo tiver batido sua pontuação máxima. Siga as diretrizes em Diretrizes e lista de verificação para notificações do sistema ao implementar notificações do sistema.

Considere que os usuários podem escolher entre diferentes tamanhos de bloco (pequeno, médio, grande e largo). Quanto mais atraente for o visual ou a informação em um bloco, maior será a probabilidade de os usuários reservarem um espaço na tela para eles. Experimente diferentes tamanhos de bloco, cores e conteúdo para encontrar a opção mais adequada para o seu jogo. Declare o tamanho de bloco desejado no manifesto do aplicativo e inclua os ativos apropriados para outros tamanhos de bloco também. Para saber mais sobre o tamanho do bloco no manifesto do aplicativo, veja DefaultTile. Para saber mais sobre atualizações de bloco, veja Esquema de blocos.

Menu Iniciar com bloco dinâmico.

Figura 1: o Bloco Dinâmico do Cannon Ball usa o modelo de bloco TileWideImageAndText02. Esse modelo de bloco permite que o desenvolvedor exiba uma imagem colorida do jogo e forneça informações atualizadas sobre a pontuação máxima do usuário e a quantidade de tesouro coletada. Consulte o Catálogo de modelos de bloco para ver detalhes sobre os outros formatos de bloco.

Telas iniciais e controles de progresso

Ao abrir seu jogo, a tela inicial é a primeira coisa que a audiência verá. Ela serve como uma transição suave entre o início do jogo e quando ele fica pronto para jogar. Muitos jogos podem demorar mais do que o máximo de três segundos para carregar, devido à grande quantidade de ativos que possuem. Se esse é o caso do seu jogo, forneça uma tela inicial estendida com música de fundo ou um anel de progresso para indicar ao usuário que o jogo está carregando ativamente. Para saber mais sobre telas iniciais, veja Diretrizes e lista de verificação para telas iniciais.

A abordagem de tela inicial estendida também é útil em certos momentos do jogo quando o aplicativo precisa buscar recursos, por exemplo, durante o carregamento de um novo nível ou a preparação para a reprodução de uma cena de corte elaborada. Se o seu aplicativo parecer parar de responder por mais de 0,5 segundo, ele deverá mostrar um controle de progresso para que o usuário saiba que o aplicativo ainda está em processamento e não falhou.

Para acrescentar interesse visual/de áudio enquanto o aplicativo está carregando, você também pode executar música de fundo e incluir uma animação simultânea que dê suporte à identidade visual do jogo.

Layout e navegação

Quando se trata de navegação e comandos, os jogos podem envolver estratégias sofisticadas e complexas que precisam de menus em camadas para hospedar muitas opções, ou podem ser simples como jogos leves de quebra-cabeças, que podem não ter nenhum menu ou opção. Alguns jogos apresentam telas de conquistas, placares dos líderes, lobbies multijogador e muito mais, enquanto outros proporcionam ao usuário uma única experiência — a do jogo em si. Um bom jogo do Windows 8 garantirá que a navegação entre essas diversas experiências seja rápida e fluida. O padrão de navegação a ser usado deverá se basear no tipo de experiência proporcionado pelo jogo. É recomendável que você reveja e compreenda os padrões de navegação hierárquico e simples. Muitas vezes, não é o jogo propriamente dito, mas sim o outro conteúdo dentro dele que ajuda a determinar sua estrutura de navegação.

Se você incluir várias experiências sofisticadas em seu jogo, muito além do jogo propriamente dito, use um padrão hierárquico para trazer todo o seu conteúdo para o nível superior. Não esconda o conteúdo atrás de menus. A cada nova partida do jogo, as suas experiências cuidadosamente elaboradas são colocadas na frente do jogador. Se o jogo for a única experiência, considere um padrão simples, que permite aos usuários navegar rapidamente entre várias sessões no jogo (por exemplo, vários jogos de um-para-um contra os amigos).

Para auxiliá-lo a escolher qual o melhor navegador para o seu aplicativo, acesse Tipos de navegadores.

Veja os tópicos sobre padrão de navegação simples e padrão de navegação hierárquico como parte da série sobre recursos do aplicativo, do começo ao fim.

Padrão hierárquico

Com um padrão hierárquico, você pode colocar todo o conteúdo na frente dos usuários na página do hub principal, deixando-os satisfeitos e fazendo com que sua primeira experiência seja completa. No hub do jogo, mostre pontos de entrada no próprio jogo, como seleção de nível, novo jogo ou continuação de um jogo, além de conquistas recentes, listas de amigos e outras áreas de conteúdo, tudo na mesma superfície com movimento panorâmico horizontal. Isso oferece uma maneira de mostrar aos jogadores um conteúdo recente e atualizado cada vez que eles visualizarem o hub, tornando-o mais dinâmico com atividades mesmo quando o usuário não estiver jogando. Cada área pode apresentar conteúdo para interação direta dos jogadores. Use cabeçalhos de seção como pontos de navegação para alcançar uma exibição mais profunda do conteúdo dessa categoria. Você também pode usar o hub para expressar parte da personalidade e da identidade visual do seu jogo. Por exemplo, se o usuário selecionar um determinado nível, a tela de fundo da página da seção poderá mudar para refletir o nível que o usuário está visualizando.

Captura de tela mostrando a hierarquia de níveis na página do hub

O Microsoft Solitaire Collection usa um padrão hierárquico para permitir que o usuário navegue por várias experiências de jogo diferentes.

Dentro do jogo, você sempre deve fornecer uma maneira de retornar ao hub. Em geral, essa função é cumprida por um botão Voltar situado no cabeçalho. O mais importante é os usuários sentirem que estão navegando naturalmente pelo conteúdo do jogo para obter o que querem, em vez de ficarem procurando em menus. Considere a possibilidade de implementar o zoom semântico para que os usuários possam se movimentar com facilidade entre as seções. Um usuário que se encontra em uma seção específica do hub principal pode fazer um gesto de pinçagem para reduzir o zoom semanticamente e navegar rapidamente para outras seções do aplicativo.

Captura de tela mostrando zoom semântico.

O Microsoft Solitaire Collection usa zoom semântico para permitir que o usuário se mova rapidamente entre as seções do hub.

O padrão hierárquico deve permitir que os usuários se movam de experiência em experiência e permaneçam imersos no conteúdo do jogo. Essa é uma excelente escolha para jogos com muitas opções diferentes ou com muitas experiências secundárias.

Padrão simples

O padrão simples mantém a experiência do jogo no centro das atenções. Trata-se de um excelente layout para jogos que não têm outras experiências autônomas. Com o padrão simples, em vez de levar o usuário para um hub esparso, use a barra de aplicativos superior como ponto de início da navegação. Apresente ali as diferentes sessões do usuário e permita que o usuário se mova uniformemente entre elas. Se houver um estado preliminar antes do início do jogo ou se você tiver um jogo em pausa, considere a possibilidade de apresentar uma tela que mostre a identidade visual do seu jogo ao usuário e que também forneça um local que possa ser identificado como “início” dentro do jogo. Não é necessário mostrar a barra de aplicativos superior quando o jogo é iniciado. Por exemplo, o aplicativo Internet Explorer leva os usuários à página da Web que eles visitaram por último e depende deles para invocar a barra de aplicativos para navegar pelas guias.

A figura a seguir mostra um jogo que não oferece nenhuma experiência além das sessões do jogo e dos recursos para navegar entre elas. Em vez de tentar mover uma pequena quantidade de funcionalidade para um hub, ele usa o padrão simples para colocar todo o conteúdo do jogo na frente dos usuários, a fim de que eles possam navegar por esse conteúdo com rapidez e confiança.

Captura de tela mostrando um layout de jogo que utiliza o padrão plano

Considerações adicionais sobre o layout: os aplicativos devem manter a rolagem em uma única direção. Se você tem uma página de hub com movimento panorâmico horizontal, todos os campos do seu aplicativo também devem fazer um movimento panorâmico horizontal. Não deve haver instâncias de movimento panorâmico vertical. Por exemplo, se você tem um longo placar de líderes que tradicionalmente seria exibido verticalmente, quebre o conteúdo para que ele seja mostrado em um layout de colunas. Se estiver preocupado em ter uma lista longa de informações, considere a possibilidade de deixar o usuário utilizar zoom semântico para saltar de uma extremidade a outra de uma lista longa.

Interações de jogo

Interações por toque: a manipulação direta é fortemente incentivada como meio de controlar um jogo. O Windows 8.1 dá suporte a poderosas interações multitoque (até cinco entradas), possibilitando que os usuários façam coisas como usar panorâmica ou zoom e um comando ao mesmo tempo, ou mover o jogador ou a câmera do jogo e atirar simultaneamente. Tenha o cuidado de projetar suas interações de forma que qualquer usuário, até mesmo os que possuam dispositivos que não disponham de sensores ou recurso de toque, possam jogar seu jogo com o mouse e o teclado.

O uso de controles virtuais (como um D-pad virtual para controlar o movimento de uma personagem ou o deslizamento do dedo para a esquerda e para a direita para esterçar um veículo) permite que se evite encher a tela com botões e controles, deixando bastante espaço para os usuários interagirem com o jogo. As teclas W, A, S, D e de seta são equivalentes naturais no teclado para navegação que você pode incluir em paralelo a um D-pad virtual. Se você estiver exibindo um D-pad ou controles de botão na tela do jogo, considere a possibilidade de permitir que os usuários personalizem o tamanho e a posição dos controles ou os posicione em relação ao lugar onde o usuário mantém os dedos ou polegares. Não existe um posicionamento genérico que seja ergonomicamente satisfatório para todos os usuários. Para um posicionamento padrão de um controle de joystick virtual, considere o local onde o polegar se encontra quando o usuário está segurando um tablet.

Considere se as interações de toque do usuário poderiam acidentalmente invocar um comportamento da borda, como chamar outro aplicativo ativo do lado esquerdo da tela ou ativar botões. Os controles dentro do jogo e as interações com eles devem sempre estar a pelo menos 20 pixels de distância das bordas da tela, para que eles não interfiram com elementos da interface do usuário, como botões ou barras de aplicativos. Considere a possibilidade de adicionar algum tipo de "barreira" visual que não estimule o usuário a passar o dedo próximo às bordas, ou modifique os controles para evitar que se passe o dedo acidentalmente na borda. Você também não deve ter comandos de jogo que exijam que o usuário mova o mouse para os cantos da tela, pois o sistema usa os cantos para abrir botões e chamar outros aplicativos ativos quando o usuário está usando o mouse. Se o seu jogo usa controles com a aparência do mouse para controlar a câmera virtual do jogo, considere a possibilidade de incorporar algumas práticas recomendadas da plataforma apresentadas em Desenvolvendo controles do mouse.

Vários modos de entrada: os jogos devem dar suporte ao toque, bem como ao teclado, mouse, controle de jogo ou caneta. Para uma boa experiência em todos os fatores forma, os jogos devem dar suporte a todos os modos de entrada onde possível, e o esquema de controle deve ser o mais fluente e consistente possível, seja qual for o modo de entrada. A alternância de entrada deve ser tratada dinamicamente em tempo real. Por exemplo, se um evento de toque for detectado, faça fade in nos controles que se aplicam ao toque; se um clique do mouse for detectado, faça fade out nos controles que só se aplicam ao toque. Trate a alternância de entrada da forma mais dinâmica possível. Evite configurações manuais que obriguem os usuários a ativar ou desativar controles de toque ou escolher um modo de entrada específico. Não pergunte ao usuário que método de entrada ele gostaria de usar para jogar. Idealmente, seu jogo deve dar suporte a todos os modos de controle direta e igualmente, sem necessidade de alternância de modos.

Comandos da barra de aplicativos: se possível, projete seu jogo de forma que o usuário possa jogá-lo manipulando conteúdo diretamente na tela, em vez de usar comandos que agem sobre o conteúdo. Se comandos ou controles de navegação adicionais forem necessários, os usuários esperarão encontrá-los na barra de aplicativos. Jogos com várias páginas podem usar comandos de navegação, que geralmente são colocados na barra de aplicativos superior, e outros comandos secundários, que geralmente são colocados na barra de aplicativos inferior. Comandos que sempre estão disponíveis, como iniciar um novo jogo, devem ficar no lado direito da barra de aplicativos inferior. No lado esquerdo, adicione comandos contextuais — aqueles que dependem da localização do usuário no hub ou do que está selecionado no hub. Por exemplo, se você tem uma lista de jogos salvos no seu hub para um jogo de RPG, pode esperar que um usuário selecionará um jogo salvo e invocará a barra de aplicativos inferior, antecipando que um comando Excluir aparecerá no lado esquerdo dessa barra.

Faça duas perguntas a si mesmo para ajudar a determinar se um controle deve estar na tela ou na barra de aplicativos inferior:

  • Esse controle será usado com frequência?
  • Esse controle é essencial para jogar o jogo?

Se você responder "sim" a qualquer uma das perguntas, poderá ser uma opção colocar o controle na tela. Isso garante que os usuários não ficarão frustrados tendo de constantemente revelar a barra de aplicativos apenas para fazer progresso no jogo.

Na figura a seguir, não há nenhum controle na tela. Os usuários jogam o jogo através de manipulação direta. Eles viram as plataformas com toque ou com o mouse para guiar a bola pelo caminho de moedas. Entretanto, quando eles passam o dedo de baixo para cima ou clicam com o botão direito do mouse, uma barra de aplicativos é exibida, pausando o jogo ou permitindo que o usuário mude a arma que está equipada.

Captura de tela mostrando o jogo.

Quando o jogo está em pausa, o usuário pode levantar a barra de aplicativos para reiniciar o nível.

Captura de tela mostrando a barra de aplicativos sendo usada em um jogo.

Você também pode considerar a possibilidade de colocar um ícone para alternar entre Reproduzir/Pausar na tela para retomar o jogo.

 

Em Cut the Rope, o botão Undo (Desfazer) é importante o suficiente para ocupar espaço na tela. Ele fica disponível no canto superior direito porque é uma ação frequente nesse jogo.

Captura de tela mostrando uma tela de jogo com um controle Desfazer visível

Você pode definir o estilo das barras de aplicativos, botões e barras de progresso para refletir a marca ou a personalidade do seu jogo. Esse elementos podem assumir qualquer forma, cor e tamanho que você queira.

Para saber mais sobre como configurar o layout dos controles em uma barra de aplicativos, veja o tópico sobre padrões de comando.

Sensores

A integração de sensores no Windows 8.1 representa uma nova linha de oportunidades de interação para jogos e experiências de entretenimento interativo. Com acesso a acelerômetro, bússola, giroscópio, sensores de luz e muito mais, um designer pode tornar um jogo altamente dinâmico e envolvente. O Windows 8.1 também oferece Fusão de Sensor para possibilitar orientação precisa e o uso de dados de localização, que podem ser aproveitados nos jogos.

Ao desenvolver um jogo habilitado para sensor, considere a gama de possibilidades e determine o que dá suporte aos seus cenários centrais. Escolha o sensor certo para o trabalho.

  • Você pode usar acelerômetros para controlar carros ou inclinar elementos do jogo.
  • Você pode detectar o movimento do dispositivo para girar uma personagem ou uma perspectiva de câmera.
  • Agitar o dispositivo pode ser uma maneira empolgante de se defender contra inimigos ou redefinir o tabuleiro em um jogo de quebra-cabeças.
  • Você pode usar um sensor de luz para mudar o tom ou a iluminação da renderização de um jogo, a fim de aprimorar a interatividade imersiva.
  • Você pode usar um microfone ou até uma câmera para integrar elementos de ambiente realistas ao jogo.
  • Você pode obter uma realidade aumentada integrando a câmera, Fusão de Sensor e elementos "secretos" de renderização em um jogo de objetos ocultos.

As possibilidades são vastas e, embora nem todos os sensores façam sentido para todos os jogos, com um pouco de criatividade, um simples gesto ou movimento pode substituir muitos menus e comandos. Para obter mais informações sobre quais sensores podem ser usados, consulte a postagem sobre como dar mais vida ao seu aplicativo com localização e sensores.

Contratos

Use contratos para enriquecer a experiência do seu jogo e conectá-lo ao resto da experiência do Windows 8.1. Para saber mais sobre contratos, veja Contratos e extensões de aplicativo. Veja a seguir alguns exemplos de contratos úteis para implementar.

Pesquisa: os jogos podem fornecer vários cenários de pesquisa interessantes. Pense no que o usuário gostaria de poder pesquisar de qualquer lugar dentro do jogo. Por exemplo, considere a possibilidade de habilitar a pesquisa para consultar a posição ou as estatísticas de um amigo, encontrar um amigo para jogar ou localizar um determinado item do jogo que você adquiriu. Nesses casos, siga as diretrizes existentes sobre quando usar a caixa de pesquisa. Para saber mais sobre pesquisa, veja Diretrizes para pesquisa.

Compartilhamento: o contrato de Compartilhamento permite conectar um jogador a outros jogadores, a canais de mídias sociais ou a amigos; o usuário pode compartilhar uma determinada conquista ou status, ou mesmo capturas de tela e clipes curtos do jogo. Você também pode usar esse contrato para compartilhar dados entre jogos; por exemplo, enviando um item específico projetado para um RPG a um amigo para uso no jogo dele ou enviando um quebra-cabeças personalizado para um amigo solucionar.

Ao escolher o que compartilhar, considere como você quer expressar sua marca para definir o estilo das informações compartilhadas. Você pode compartilhar uma grande variedade de diferentes formatos (através de URLs, email, aplicativos sociais e serviços na nuvem), e os usuários podem compartilhar com amigos que talvez não tenham o seu jogo ou até mesmo usem outras plataformas. Portanto, a divulgação eficaz da sua marca em qualquer informação compartilhada pode até trazer mais usuários para o seu jogo.

Se o seu jogo pode consumir dados de outros aplicativos e transformá-los de maneira interessante, considere a possibilidade de definir seu aplicativo como um destino de Compartilhamento. Por exemplo, o jogo PuzzleTouch recebe uma foto do aplicativo Fotos e a transforma em um quebra-cabeças de acordo com as preferências do usuário. Para saber mais sobre Compartilhamento, consulte Diretrizes e lista de verificação para compartilhamento.

Captura de tela do contrato de compartilhamento.Captura de tela de um jogo de quebra-cabeças com imagem.

 

Dispositivos: a implementação de dispositivos é uma ótima maneira de permitir que os usuários conectem controles e outros periféricos a seus computadores na preparação para o jogo, bem como possibilitar que os usuários exibam o conteúdo do jogo em uma tela maior. Os usuários também podem imprimir a partir do botão Dispositivos.

Configurações e opções

Itens como configurações, opções, política de privacidade, página Sobre, créditos e conteúdo da ajuda devem ser acessíveis no jogo através do botão Configurações. É no botão Configurações que todos os aplicativos do Windows Store hospedam suas configurações e opções. Assim, é onde os usuários naturalmente procuram quando querem ajustar os efeitos sonoros ou alterar um aspecto do jogo. O acesso às configurações não deve ser tratado na superfície do jogo ou na barra de aplicativos, a menos que seja uma atividade frequente no jogo. Os usuários saberão recorrer ao botão Configurações para fazer as configurações. Portanto, não deve haver menus adicionais que dupliquem a funcionalidade do botão Configurações nem qualquer elemento da interface do usuário que sirva apenas para abrir o painel Configurações.

O Windows 8.1 oferece um controle de volume global, mas muitos jogos podem querer ter suas próprias configurações de som mais complexas, como controles deslizantes de volume separados para música, efeitos sonoros e voz, que possam ser ajustados independentemente. Inclua um rótulo para deixar claro que as configurações de áudio são específicas do seu jogo. Os controles deslizantes e botões de configurações devem fornecer retorno em tempo real, em vez de exigir uma ação secundária de um botão Aceitar ou OK para confirmar as alterações.

Se o seu jogo inclui ajuda ou treinamento inicial, como tutoriais, forneça um caminho para essas informações no botão Configurações. Como alternativa, você pode disponibilizar os tutoriais como parte do jogo. Um exemplo disso é mostrado na figura a seguir, onde o aplicativo Cut the Rope faz do tutorial uma parte da experiência inicial do jogo.

Captura de tela mostrando uma tela de jogo com um controle Desfazer visível

Para saber mais sobre como fornecer ajuda e tutoriais no aplicativo, veja as diretrizes para instruções sobre a interface do usuário.

Contas de jogadores

As contas de jogadores são úteis para controlar o progresso de um jogador no jogo, vinculando-o a redes sociais e viabilizando modelos de receita. Ao oferecer suporte para contas de jogadores, você pode criar uma experiência mais envolvente, capaz de fazer com que os usuários retornem continuamente para o jogo e permitindo que eles joguem com seus amigos.

Entrada do usuário: se for essencial para a experiência do seu jogo que o usuário entre no sistema, como no caso de um jogo de rede social que exige acesso aos dados e conexões sociais do usuário, dedique a "experiência de aterrissagem" do jogo ao processo de entrada no sistema, em vez de apresentar ao usuário um jogo que não pode ser jogado. Quando possível, tente obter as informações de entrada de uma conta da Microsoft do usuário ou de informações de entrada armazenadas em cache provenientes de sessões anteriores do jogo.

Se o seu jogo puder ser jogado sem entrada no sistema, mas ela for altamente recomendável (por exemplo, se o modelo de receita do jogo depender da entrada do usuário para anunciar conteúdo para download que ele ainda não possui), o jogo poderá dedicar um espaço para entrada no hub ou dedicar a experiência de aterrissagem a esse processo. Se isso ocupar espaço no hub, o jogo deverá comunicar aos usuários claramente que eles não estão conectados. Após a entrada do usuário, remova completamente a seção de entrada ou substitua-a por um conteúdo exclusivo para o usuário. Se o jogo dedica a experiência de aterrissagem à entrada, deverá dar ao usuário a opção de ignorar o processo de entrada. Caso o usuário opte por não entrar, o jogo deverá respeitar essa decisão e não conduzir o usuário de volta a essa página no início de sessões subsequentes. Nesses casos, você pode usar espaço no hub para lidar com a entrada.

Nos casos em que a entrada for opcional, a experiência de entrada deverá estar localizada no painel Configurações. O painel Configurações poderá ser aberto quando o aplicativo for iniciado, a fim de ajudar o usuário a encontrar a experiência de entrada.

Em todos os casos, o logon também deverá estar disponível no painel Gerenciamento de Contas, em Configurações.

Gerenciamento de contas e saída: realize cenários de gerenciamento de contas, como atualizar o endereço de email do usuário ou mudar a senha, no painel Configurações. De maneira semelhante, qualquer experiência de saída do sistema também deve ser hospedada em Configurações, junto com as opções.

Pausando o jogo

Nem todos os jogos precisam dar suporte a pausas. Jogos baseados em rodadas, por exemplo, geralmente não têm o conceito de pausa. Além disso, jogos conduzidos inteiramente pelo usuário, sem nenhum outro fator externo, como um temporizador ou relógio, não ganham nada ao ficarem em pausa. Nesses casos, não é necessário pausar o jogo quando os usuários navegam para outro lugar. Quando os usuários voltarem ao jogo, ele deverá apresentar a mesma experiência de quando eles saíram. Se isso não for possível (por exemplo, se uma sessão multijogador tiver sido encerrada), o jogo deverá comunicar claramente aos usuários o estado em que eles se encontram no momento.

Para jogos que têm cenários de pausa significativos, registre para perda de foco e pause o jogo quando o usuário passar o dedo a partir da borda esquerda, inferior ou direita da tela, ou quando aparecer uma caixa de diálogo do sistema. Se você tiver um jogo de ritmo rápido ou por tempo, ele deverá pausar quando o tamanho da janela ou o layout mudar. O usuário deverá então poder cancelar a pausa e jogar no novo tamanho de janela ou layout, se ele tiver suporte. Um jogo não deve apenas depender da perda do foco para determinar se deve ser colocado em pausa. Considere a possibilidade de incluir no seu jogo um botão para os usuários pausarem a ação e realizarem várias tarefas. Determine a localização do comando de pausa com base nas mesmas considerações sobre o posicionamento de comandos discutidas na seção Interações de jogo deste tópico.

Comunicando o estado de pausa: comunique aos usuários quando o jogo estiver em estado de pausa. Você pode apresentar uma sobreposição de pausa ou uma tela de pausa. Para jogos de quebra-cabeças, estratégia ou por tempo, obstrua a tela do jogo enquanto ele está em pausa, para que os usuários não ganhem uma vantagem injusta acionando a pausa para estudar o tabuleiro.

Faça com que os usuários possam sair do estado de pausa com a mesma facilidade com que entraram nele. Tanto a sobreposição de pausa quanto a tela de pausa devem conter uma maneira de os usuários retomarem o jogo. Se o usuário navegar para a página de hub, lembre-se de pausar o jogo. Quando o usuário retornar ao jogo ou cancelar a pausa, o jogo deverá continuar no mesmo estado.

Quando os usuários cancelarem a pausa do jogo, convém reservar um momento para que eles possam se orientar antes de retomarem a ação. Uma contagem regressiva é uma boa maneira de fazer isso.

Jogos que apresentam controles de fluxo de tempo — por exemplo, jogos de construção de cidades — podem "pausar" esse fluxo, mas isso não é a mesma coisa que pausar o jogo. A pausa é a suspensão completa da interação do usuário com o jogo, embora uma certa renderização de segundo plano possa continuar para possibilitar a continuidade das animações.

Mudanças na orientação e no tamanho da janela

Um usuário pode redimensionar um aplicativo desde a tela inteira até uma largura mínima; pode girar um dispositivo ou uma tela para a orientação retrato ou paisagem; e pode colocar vários aplicativos um ao lado do outro na tela. Seu jogo deve dar suporte a tamanhos e orientações de janela variados. Preserve o estado do jogo ao redimensionar janelas, para que a experiência do jogador seja suave e contínua. A mudança do modo de exibição paisagem para retrato não deve levar o usuário de volta a uma tela inicial; em vez disso, deve mostrar uma versão redimensionada da página em que ele já estava.

A largura mínima à qual seu jogo deve dar suporte é de 500 pixels; entretanto, você pode aumentar o envolvimento do usuário dando suporte a uma largura mínima de 320 pixels. Seu jogo deve poder ser jogado até na largura mínima que você escolher e deve simplesmente ajustar sua apresentação ao espaço fornecido.

Você pode fazer uma adaptação para larguras menores em seu jogo. A natureza do jogo pode ajudar a determinar de que forma você escolherá fazer a adaptação.

  • Redimensionamento e formato letterbox: Mantenha uma taxa de proporção fixa e aplique o formato letterbox no jogo para larguras menores. Esse método funciona melhor com jogos que têm conteúdo inflexível, que não pode ser organizado dinamicamente para caber em tamanhos de janela alternativos. Em vez de aplicar o formato letterbox no conteúdo com preto, considere a possibilidade de usar uma cor que combine ou um padrão do jogo. Cut the Rope usa esse método, conforme mostrado na seguinte imagem.

    Aplicativo Cut the Rope redimensionado para estreitar a largura para mostrar o formato letterbox, com o compartilhamento do aplicativo Outlook na tela

  • Panorâmica, cortar e zoom: Permita que o usuário reproduza determinadas seções do jogo de cada vez em um estado panorâmico, cortado ou com zoom reduzido. O PuzzleTouch usa esse método, conforme mostrado na seguinte imagem.

    O aplicativo PuzzleTouch, redimensionado para estreitar a largura para mostrar o estado de zoom reduzido, com o aplicativo Bing Travel compartilhando a tela

  • Adaptar: Ajuste o layout do conteúdo do jogo, assim o usuário ainda poderá jogar, mas em um layout diferente. Você pode incorporar várias telas ou páginas do jogo à exibição para usar a largura da janela disponível da maneira mais eficiente. Por exemplo, coloque a tela do jogo na parte superior da tela e coloque os placares de líderes e conquistas abaixo dele. O Microsoft Solitaire usa esse método, conforme mostrado na seguinte imagem.

    O aplicativo Microsoft Solitaire redimensionado para estreitar a largura para mostrar que o jogo se adapta a um layout vertical.

Se o foco se deslocar do jogo para outro aplicativo que esteja na tela, o jogo deverá se ajustar ou pausar conforme apropriado.

Ao tornar seu jogo jogável em larguras estreitas, você possibilita a multitarefa, permitindo que os usuários continuem a jogar enquanto fazem outras coisas no sistema e mantendo-os envolvidos com seu jogo por mais tempo. Essa abordagem é particularmente eficiente para jogos leves e casuais que podem absorver a atenção do usuário sem necessariamente ocupar a tela inteira. Por exemplo, um usuário pode continuar a solucionar um quebra-cabeças, fazer um movimento em um jogo quando for sua vez ou jogar um jogo de tabuleiro em uma exibição estreita. Se o seu jogo tiver uma atividade secundária (como chat com os amigos ou navegação em um mapa), essa atividade poderá ser o foco em larguras estreitas também.

No exemplo a seguir, o Cannon Ball pode ser jogado em uma largura estreita. Os elementos do jogo são empilhados, reorganizados e redimensionados para caber na janela estreita, e a página tem a escala ajustada para permitir que o usuário veja mais do nível.

Captura de tela de jogo em exibição dimensionada.

Leve em consideração como serão as interações de toque quando o usuário redimensionar a janela para uma largura estreita. Com uma largura menor, a chance de os usuários invocarem ações de borda inadvertidamente pode aumentar. Considere como você pode modificar seus controles para evitar que o usuário passe o dedo pela borda acidentalmente. Também é importante considerar o posicionamento dos comandos. É possível que nem todos os comandos caibam em uma barra de aplicativos quando o aplicativo for estreito. Se esse for o caso, considere a possibilidade de agrupar os comandos ou oferecer uma experiência mais concentrada, que exija menos comandos. Lembre-se de que os rótulos dos botões padrão da barra de aplicativos ficam ocultos quando a janela se torna estreita demais para exibi-los; portanto, escolha ícones que sejam facilmente identificáveis.

Se não for possível jogar o jogo em um tamanho menor ou se ele chegar a um estado em que seu avanço exija mais espaço na tela, ele deverá pausar e explicar para o usuário que só será possível realizar outras ações quando o aplicativo for redimensionado para uma largura maior. O jogo não deve perder seu estado ou contexto quando pausado ou redimensionado. Se o usuário redimensionar o aplicativo para um tamanho maior, ele deverá ser capaz de continuar o jogo normalmente. Para saber mais sobre tamanhos de janela, veja Diretrizes para tamanhos de janelas e Diretrizes para redimensionamento de janelas em layouts amplos e estreitos.

Captura de tela mostrando um aplicativo de jogo dimensionado com um botão Continuar

 

É essencial considerar como o jogo se dimensionará em diferentes resoluções de tela e configurações de DPI. Esticar ou encolher seu jogo geralmente não o faz ter uma aparência melhor, porque os ativos do jogo podem ficar desfocados ou desproporcionais. Em vez de dimensionar diretamente, considere a possibilidade de ter um layout que ajuste o conteúdo visível dependendo da resolução. Por exemplo, em uma tela maior, você pode exibir mais conteúdo, por exemplo, mostrar mais do nível, em vez de apenas alongar a exibição. Para saber mais sobre dimensionamento em telas, visite Diretrizes de dimensionamento em telas.

Salvamento e gerenciamento de estados

Seu jogo deve seguir o modelo de estado dos aplicativos da Windows Store. Ele deve memorizar seu último estado e retornar o usuário a esse estado quando o jogo for ativado.

Qualquer jogo que for suspenso deverá já estar pausado, a não ser que seja um jogo que não possui um modo de pausa significativo. Se o aplicativo não tiver um modo de pausa, a reentrada deverá levar o usuário diretamente de volta à experiência do jogo.

Em um jogo multijogador persistente, se a sessão na qual o usuário estava tiver terminado, será necessário apresentar a esse usuário uma tela pós-jogo ou notificá-lo de alguma maneira de que a sessão terminou.

Essas diretrizes de gerenciamento de estado são independentes do conceito de "pontos de verificação", "arquivos salvos" ou de vários jogos salvos dentro de um jogo. Elas estão exclusivamente relacionadas ao ciclo de vida de processo do Windows 8.1. Para saber mais sobre o gerenciamento de estado, veja Diretrizes para suspensão e retomada de aplicativos.

Realizando roaming para a nuvem

Crie uma experiência contínua entre dispositivos por meio do roaming de estado e configurações do jogo, de forma que o usuário possa dar continuidade a um jogo do ponto em que parou, independentemente do dispositivo que estiver usando. Facilite para que os usuários utilizem seu jogo em todos os lugares, desde o PC da família na cozinha até o PC de trabalho ou tablet pessoal, mantendo as configurações e os estados com roaming. Para saber mais, veja Diretrizes para dados de aplicativos em roaming.

Acessibilidade

Os usuários do Windows têm uma grande variedade de capacidades e deficiências. Se o seu jogo puder ser reinventado para permitir seu uso por pessoas portadoras de deficiências, incorpore esses usuários. Pessoas portadoras de deficiências poderão usar a funcionalidade de pesquisa de aplicativos acessíveis para encontrar seu jogo se você o marcar como acessível ao enviá-lo para a Windows Store. A incorporação de princípios de acessibilidade ao seu aplicativo garante que seu jogo possa ser usado por um grande público e ajuda a atrair mais clientes. Os recursos de acessibilidade são fáceis de serem incluídos em um aplicativo da Windows Store, particularmente se isso for levado em conta logo no início do processo de design. A adição de recursos de acessibilidade pode tornar os jogos melhores para todos os usuários. Por exemplo, a possibilidade de os controles serem remapeados ou posicionados com base no lugar onde o usuário coloca as mãos permite que usuários destros e canhotos joguem da maneira mais confortável para eles.

Existem diversos cenários importantes a considerar quando se projeta visando à acessibilidade.

Design para deficiências visuais: usuários cegos ou com deficiência visual utilizam leitores de tela para desenvolver um modelo mental da interface do usuário do seu jogo. Para que um leitor de tela funcione, todos os elementos da interface do jogo devem ser rotulados adequadamente com um nome, função, descrição, estado, posição e qualquer outra informação relevante. É importante considerar como ficará a aparência da interface quando opções de acessibilidade gerais do sistema (configurações de Facilidade de Acesso) forem habilitadas, como "Aumentar o tamanho de todos os itens da tela" ou o modo de alto contraste. Poderá ser necessário criar ativos alternativos para o modo de alto contraste ou adicionar outro código para ajustar os elementos visuais do seu jogo quando o usuário habilitar o modo de alto contraste geral do sistema. Lembre-se de usar um esquema de cores amigável para daltônicos; se houver lugares no jogo onde cores forem usadas para expressar informações, essas informações também deverão ser expressas de outra forma, como por meio de texto, formas ou ícones.

O Cannon Ball pode ser jogado em modo de alto contraste. Para possibilitar isso, os desenvolvedores criaram um conjunto alternativo de ativos que foram chamados quando o sistema foi ajustado para o modo de alto contraste.

Captura de tela de um jogo em modo de alto contraste.

 

Design para acessibilidade do teclado e entradas alternativas: o teclado é fundamental para o uso de um leitor de tela e para quem usa mecanismos de entrada alternativos, como controladores de comutador ou rastreadores oculares. Verifique se é possível navegar por todos os elementos da interface do usuário usando a tecla Tab e as teclas de direção. Deve ser possível ativar os elementos da interface usando a barra de espaços e a tecla Enter. Comandos e controles devem ser acessíveis por meio de atalhos de teclado. Pense em como tornar seu jogo jogável apenas com o teclado. Por exemplo, no Cannon Ball, as plataformas podem ser viradas com as teclas de direção, permitindo que se jogue inteiramente com entrada pelo teclado.

Design para deficiências auditivas: se o seu jogo faz uso de indicações de áudio ou fala para expressar informações, deve haver legendas disponíveis para usuários surdos ou portadores de deficiência auditiva. Deve haver substitutos visuais para todos os elementos de áudio, e o tom e o sentido do jogo devem ser expressos mesmo sem som. Se você tem vários sons diferentes acontecendo ao mesmo tempo, como efeitos sonoros e diálogo, forneça controles de volume separados para cada um, a fim de auxiliar na compreensão.

Design para deficiências cognitivas: se possível, o jogo deve oferecer uma grande variedade de níveis de dificuldade e velocidade. Pense em como os usuários com deficiências cognitivas ou de aprendizado jogariam o seu jogo. Ele poderia ser jogado por alguém que esteja aprendendo a ler? Se possível, ofereça um modo de área restrita ou de jogo livre sem restrições de tempo para os usuários com mobilidade limitada ou deficiência de aprendizado.

Conclusão

Os jogos oferecem bastante conteúdo sofisticado com o qual os usuários podem interagir, e um bom jogo para Windows 8.1 coloca esse conteúdo no centro das atenções para o usuário, removendo partes desnecessárias da interface que ficam atrapalhando. Seguindo as orientações e diretrizes descritas aqui, você poderá adaptar cada componente para criar a melhor experiência de jogo.

Tópicos relacionados

Padrões de comando

Conheça os aplicativos da Windows Store

Diretrizes de experiência do usuário para aplicativos da Windows Store

Padrões de navegação