Criação de jogos para a Web moderna.
Bons desenvolvedores de jogos sabem que, para aproveitar as oportunidades de uma plataforma específica, é importante adotar as características únicas dela. Quais são as características únicas da Web? E o que define um jogo da Web?
No Google I/O 2019, apresentei minhas ideias sobre o estado do ecossistema de jogos da Web, as práticas recomendadas atuais para o desenvolvimento de jogos da Web modernos e para onde o setor está indo. 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 da Web
Antes de entrar no Google, criei um jogo para dispositivos móveis chamado Duet, que foi baixado quase 20 milhões de vezes. Com essa experiência, aprendi que os três ingredientes essenciais para criar um negócio de sucesso com um jogo são:
- Um jogo funcional
- Usuários
- Uma maneira de gerar receita com 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 importantes. Ecossistemas fechados de HTML5, como o WeChat, os jogos instantâneos do Facebook e outros, demonstraram que é possível criar jogos usando HTML5.
Práticas recomendadas modernas
Por "jogo funcional", quero dizer os 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 a performance da CPU, temos acesso a um novo padrão eficiente chamado WebAssembly. Do lado dos gráficos, a WebGL 1.0 tem bom suporte a vários navegadores, e os padrões futuros, como a WebGPU, estão posicionando a plataforma da Web para um futuro extensível de programação gráfica semelhante ao Vulkan e ao Metal. Por fim, para áudio da Web, temos a API Web Audio comum e, mais recentemente, a API Audio Worklet.
Recentemente, o Unity apresentou uma prévia de um novo ambiente de execução chamado Project Tiny, que tem como foco criar jogos 2D para plataformas baseadas em HTML5. O Project Tiny aplica um novo design modular à estrutura do mecanismo do Unity, permitindo que o mecanismo principal do Unity tenha menos de 1 megabyte.
Do ponto de vista técnico, nunca houve um momento melhor para adotar o desenvolvimento de jogos para a Web.
Entrar no loop
Um jogo incrível é obviamente mais do que apenas bom desempenho, gráficos e som. Para ser incrível, um jogo precisa ser divertido.
O elemento "diversão" é difícil de medir em um produto. Quando um jogo é divertido, interessante ou inovador o suficiente, os usuários querem contar aos amigos, ou seja, compartilhar a experiência. Aproveitar essa oportunidade e combiná-la com a Web é uma combinação poderosa que abre um grande potencial de crescimento viral. E na Web, em particular, sem uma plataforma central de descoberta, nossa melhor aposta para adquirir 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 no nível de software ou de hardware, é importante adotar as características únicas dela. Por exemplo, se você estiver criando um jogo para um console com controles de movimento, pense na melhor maneira de usar esses controles.
Em outras palavras, você precisa respeitar as expectativas dos usuários da plataforma para a qual está desenvolvendo. O que os usuários da Web esperam? Eles esperam que o conteúdo da Web carregue rapidamente e seja interativo. Na minha palestra, abordei vários exemplos de maneiras de jogos on-line e off-line que foram projetados para carregar rapidamente, atrair os usuários para os mundos dos jogos, envolver esses usuários e oferecer incentivos adicionais para compartilhar as experiências.
Pessoalmente, acredito que a chave para criar um jogo da Web de sucesso é aproveitar essa característica única da Web. Especificamente, a força da estrutura de URL da Web e o ciclo de compartilhamento em que os usuários podem participar.
Confira um exemplo de jogo da Web que criei usando o Construct 3 e que aproveita o URL de uma maneira divertida e envolvente.
Space Board é um jogo muito simples que pode ser jogado em dispositivos móveis com controles por toque ou em computadores com entrada de teclado. O objetivo é navegar por um labirinto de obstáculos para alcançar uma meta no final.
Como o Space Board aproveita o URL de uma maneira única? Codificando a estrutura de nível no próprio URL. Todos os níveis são definidos como uma grade de 10 x 10 de objetos, como paredes, torres inimigas, chaves, portas trancadas etc. O URL lista todas as posições individuais da grade e o conteúdo delas. Uma parede é representada pelo caractere W
. Um espaço vazio é um caractere sublinhado.
Veja 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 funciona.
Ao completar um nível no Space Board, o jogador tem a oportunidade de criar o próprio nível usando o editor simples mostrado acima. Ao permitir que os jogadores criem os próprios níveis, damos a eles a oportunidade de personalizar. Quando um usuário sente uma 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 ciclo viral que queremos alcançar com nossos jogos da Web. Esse mecanismo de design e compartilhamento de jogos é apenas um exemplo possível, mas há muitas outras possibilidades. Assista à minha palestra para conferir mais exemplos.
de retorno do investimento
Atualmente, existem duas escolas de pensamento sobre como um desenvolvedor de jogos pode gerar receita com jogos para Web:
- Gerar receita com os jogos diretamente
- Tratar os usuários 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/computador como um mecanismo para atrair 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/desktop.
A monetização geralmente é uma mistura de publicidade e microtransações. Ainda há muito trabalho a ser feito para que a Web possa competir 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 só agora as redes de publicidade estão implantando esses formatos na Web.
No entanto, há desenvolvedores de jogos que continuam a ter sucesso na Web aberta com publicidade por meio de anúncios de banner tradicionais e anúncios em vídeo intersticiais. Consulte 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. No entanto, essa qualidade é uma faca de dois gumes. O lado negativo disso é que os jogadores têm menos confiança implícita em um novo site que descobrem do que nos métodos de pagamento da loja para dispositivos móveis específicos 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 mostrada pelo navegador e simplifica a aquisição de detalhes de pagamento, como cartões de crédito e endereços de faturamento. No entanto, a coleta de detalhes de pagamento é apenas a primeira etapa de uma transação. Você também precisa de uma plataforma de faturamento de back-end.
O futuro
Vimos vários jogos para Web surpreendentemente bem-sucedidos nos últimos anos. A Slither.io criou um negócio misto da Web e específico da plataforma que demonstra o alcance enorme e a oportunidade de crescimento viral que a Web oferece. Portais como o 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 das versões para dispositivos móveis, como Subway Surfers ou Crossy Road.
Além disso, se você olhar fora da Web aberta, vai perceber que os jogos da Web já estão decolando. Ecossistemas fechados, como WeChat e LINE, oferecem jogos satisfatórios que não podem ser jogados na Web aberta, mas que são criados com base em tecnologias da Web, como HTML5 e WebViews. Isso é um sinal claro de que a Web alcançou um nível de fidelidade capaz de rivalizar com jogos para dispositivos móveis específicos de plataforma. Talvez não em uma definição de fidelidade, mas em uma métrica mais importante: a atenção do jogador.