Player pronto para a Web

Como criar jogos para a Web moderna.

Tom Greenaway

Os bons desenvolvedores de jogos sabem que, para aproveitar a oportunidade de uma plataforma específica, é importante adotar suas características exclusivas. Então, quais são as características únicas da Web? E o que define um jogo da Web?

No Google I/O 2019, apresentei minha opinião sobre o estado do ecossistema de jogos da Web, as práticas recomendadas atuais para o desenvolvimento moderno de jogos da Web e a direção do setor. Nesta postagem do blog, vou resumir alguns dos principais pontos da minha palestra que você pode assistir na íntegra no YouTube:

Os desafios dos jogos para Web

Antes de entrar no Google, criei um jogo para dispositivos móveis chamado Duet, com quase 20 milhões de downloads. Por meio dessa experiência, aprendi que os três ingredientes essenciais para construir um negócio de sucesso com jogos são:

  • Um jogo funcional
  • Usuários
  • Uma forma de gerar receita com os usuários

Sem esses três elementos, um desenvolvedor de jogos não pode ter sucesso. Atualmente, esses dois últimos pontos são os mais críticos. Ecossistemas HTML5 fechados, como WeChat, Facebook Instant Games e outros, demonstraram que a criação de jogos usando HTML5 é possível.

Práticas recomendadas modernas

Por "jogo funcional", me refiro aos três elementos mais importantes do que faz um jogo funcionar:

  • Desempenho
  • Recursos visuais
  • Áudio

Em cada uma dessas áreas, a plataforma da Web fez avanços significativos nos últimos anos. Para melhorar o desempenho da CPU, temos acesso a um novo padrão de performance chamado WebAssembly. Em relação aos gráficos, o WebGL 1.0 oferece boa compatibilidade entre navegadores, e padrões futuros, como a WebGPU, estão posicionando a plataforma da Web para um futuro extensível da programação gráfica semelhante ao Vulkan e ao Metal. Por fim, para o áudio da Web, temos a API Web Audio comum e, mais recentemente, a API Audio Worklet.

Recentemente, o Unity visualizou um novo ambiente de execução chamado Project Minutos, que se concentra na criação de jogos 2D para plataformas baseadas em HTML5. O Projeto Minúsculo aplica um novo design modular à estrutura do mecanismo do Unity, permitindo que o mecanismo principal do Unity tenha menos de 1 megabyte de tamanho.

Dois tanques estão em uma batalha.
Demonstração do Tanks do Unity exportada via HTML5.

Do ponto de vista técnico, nunca houve um momento melhor para adotar o desenvolvimento de jogos para a Web.

Entre no loop

Um ótimo jogo obviamente é mais do que apenas bom desempenho, gráficos e som. Para ser ótimo, ele precisa ser divertido.

A diversão é um elemento difícil de medir em um produto. Quando um jogo é divertido, interessante ou inovador o suficiente, os usuários querem contar para seus amigos. Em outras palavras, eles querem compartilhar a experiência. Aproveitar essa oportunidade e aliar essa oportunidade à web é uma combinação poderosa que libera muito potencial para o crescimento viral. E principalmente na Web, sem uma plataforma central de descoberta, nossa melhor aposta para conquistar usuários é garantir que nossos jogos sejam o mais virais possível.

Bons desenvolvedores de jogos sabem que, para aproveitar uma plataforma específica, seja em nível de software ou hardware, é importante adotar as características únicas dela. Por exemplo, se você estiver criando um jogo para um console com controles de movimento, provavelmente deve pensar na melhor maneira de adotar esses controles de movimento.

Em outras palavras, você precisa respeitar as expectativas dos usuários da plataforma para a qual está criando. O que os usuários da Web esperam? Eles esperam que o conteúdo da Web carregue rápido e seja interativo com rapidez. Na minha apresentação, abordei vários exemplos de maneiras (dentro e fora da Web) com as quais os jogos foram projetados para carregar rapidamente, atrair os usuários para o mundo deles, envolvê-los e oferecer mais incentivos para que compartilhem suas experiências.

Três jogos com estilos artísticos minimalistas.

Pessoalmente, acredito que a chave para criar um jogo da Web de sucesso é confiar nessa característica única da Web. Especificamente, a força da estrutura de URL da Web e o loop de compartilhamento pelos quais os usuários podem participar.

Veja um exemplo de um jogo da Web que criei usando o Construct 3, que aproveita o URL de uma forma divertida e envolvente.

Interface do editor de níveis para um jogo.

O Space Board é um jogo muito simples que pode ser jogado em dispositivos móveis com controles por toque ou no computador com entrada pelo teclado. O objetivo é atravessar um labirinto de obstáculos para atingir um objetivo no final.

Como o Space Board aproveita o URL de maneira exclusiva? Codificando a estrutura do nível no próprio URL. Todos os níveis são definidos como uma grade de objetos de 10 por 10, por exemplo, paredes, torres inimigas, chaves, portas trancadas etc. O URL lista todas as posições de grade individuais e o conteúdo delas. Uma parede é representada por um caractere W. Um espaço vazio é um caractere sublinhado.

Confira um exemplo:

https://io-space-board.firebaseapp.com/?gameWorld=_wwwwwwwwww___ww__eww_k__d___ww___ww___ww_wwwww_www_wwwww_www___ww___ww_s_ww_f_ww___ww___wwwwwwwwwwww

É feio, mas faz o trabalho.

Ao concluir um nível no Space Board, o jogador pode criar o próprio nível usando o editor simples mostrado acima. Ao permitir que os jogadores criem seus próprios níveis, oferecemos a eles a oportunidade de personalização. Quando um usuário sente conexão com um jogo e um senso de propriedade por meio da criação e personalização, é mais provável que ele queira compartilhar essa "coisa" com o mundo.

O desejo de compartilhar um jogo é o início do loop viral que queremos alcançar com nossos jogos para a Web. Esse mecanismo de compartilhamento e design de jogo é apenas um exemplo possível, mas há muitas outras possibilidades. Assista à minha palestra para mais exemplos.

de retorno do investimento

No momento, existem duas escolas de pensamento com relação a como um desenvolvedor de jogos pode gerar receita com jogos na Web:

  • Monetização direta dos jogos
  • Tratá-los como um canal de aquisição

Tratar jogos da Web como um canal de aquisição significa aproveitar a versão da Web do seu jogo para iOS/Android/desktop como um mecanismo para cativar os jogadores e convencê-los a fazer o download do seu binário maior para iOS/Android/computador. Em seguida, você gera receita com os back-ends de pagamento e faturamento integrados da plataforma iOS/Android/computador.

Em geral, a monetização é uma mistura de publicidade e microtransações. Ainda há trabalho a ser feito para que a web concorra com as plataformas para dispositivos móveis na publicidade de jogos. Por exemplo, formatos como anúncios em vídeo premiados são muito usados em jogos para dispositivos móveis há vários anos, mas agora as redes de publicidade só implantam esses formatos na Web.

No entanto, há desenvolvedores de jogos que continuam tendo sucesso na Web aberta por meio da publicidade via anúncios de banner tradicionais e anúncios em vídeo intersticiais. Confira o AdSense para jogos para mais informações sobre esses formatos.

Para microtransações, a Web oferece flexibilidade total devido ao número ilimitado de formas de pagamento que podem ser implementadas. Mas essa qualidade é uma faca de dois gumes. O lado negativo é que os jogadores têm menos confiança implícita em um novo site que descobriram em comparação com a familiaridade com as formas de pagamento da loja para dispositivos móveis específicas da plataforma.

Uma solução que traz uma interface de pagamento mais consistente para a Web é a API Payment Request. Essa API invoca uma interface que é mostrada pelo navegador e simplifica a aquisição de detalhes de pagamento, como cartões de crédito e endereços de cobrança. No entanto, conseguir detalhes da forma de pagamento é apenas o primeiro passo para fazer uma transação. Você também precisa de uma plataforma de faturamento de back-end.

O futuro

Vimos vários jogos na Web surpreendentemente bem-sucedidos nos últimos anos. O Slither.io construiu uma empresa mista e específica para a plataforma e a Web, demonstrando o enorme alcance e a oportunidade de crescimento viral que a Web oferece. Portais como Poki.com estão inovando na experiência do usuário e lançando novos jogos todos os dias, incluindo títulos que correspondem à fidelidade dos apps semelhantes para dispositivos móveis, como Subway Surfers ou Crossy Road.

Além disso, se você olhar para fora da Web aberta, vai notar que os jogos já estão decolando. Ecossistemas fechados como o WeChat e o LINE oferecem jogos satisfatórios que não podem ser jogados na Web aberta, mas são desenvolvidos com base em tecnologias da Web, como HTML5 e WebViews. Isso é um sinal claro de que a Web atingiu um nível de fidelidade capaz de rivalizar em jogos para dispositivos móveis específicos da plataforma. Talvez não em uma definição de fidelidade feita em livros didáticos, mas em uma métrica mais importante: a atenção do jogador.