Ready Player Web

Compila juegos para la Web moderna.

Tom Greenaway

Los buenos desarrolladores de juegos saben que, para aprovechar la oportunidad de una plataforma en particular, es importante adoptar las características únicas de esa plataforma. Entonces, ¿cuáles son las características únicas de la Web? ¿Qué define un juego web?

En Google I/O 2019, presenté mis ideas sobre el estado del ecosistema de juegos web, las prácticas recomendadas actuales para el desarrollo de juegos web modernos y hacia dónde se dirige la industria. En esta entrada de blog, resumiré algunos de los puntos clave de mi charla, que puedes mirar completa en YouTube:

Los desafíos de los juegos web

Antes de unirme a Google, creé un juego para dispositivos móviles llamado Duet, que se descargó casi 20 millones de veces. A través de esa experiencia, aprendí que los tres ingredientes esenciales para crear un negocio exitoso a partir de un juego son los siguientes:

  • Un juego funcional
  • Usuarios
  • Una forma de monetizar usuarios

Sin estos tres elementos, un desarrollador de juegos no puede tener éxito. Hoy en día, estos dos últimos puntos son los más importantes. Los ecosistemas cerrados de HTML5, como WeChat, Facebook Instant Games y muchos más, demostraron que es posible compilar juegos con HTML5.

Prácticas recomendadas modernas

Cuando digo "juego funcional", me refiero a los tres elementos más fundamentales que hacen que un juego funcione:

  • Rendimiento
  • Imágenes
  • Audio

En cada una de estas áreas, la plataforma web ha dado pasos significativos en los últimos años. En el caso del rendimiento de la CPU, tenemos acceso a un nuevo estándar de alto rendimiento llamado WebAssembly. En el aspecto gráfico, WebGL 1.0 tiene buena compatibilidad con varios navegadores, y los estándares futuros, como WebGPU, posicionan a la plataforma web para un futuro extensible de programación de gráficos similar a Vulkan y Metal. Por último, para el audio web, tenemos la API de Web Audio común y, más recientemente, la API de Audio Worklet.

Recientemente, Unity presentó una vista previa de un nuevo entorno de ejecución llamado Project Tiny, que se enfoca en la compilación de juegos en 2D para plataformas basadas en HTML5. Project Tiny aplica un nuevo diseño modular a la estructura del motor de Unity, lo que permite que el motor principal de Unity tenga un tamaño inferior a 1 megabyte.

Dos tanques en una batalla.
Demostración de tanques de Unity exportada a través de HTML5.

Desde el punto de vista técnico, nunca hubo un mejor momento para adoptar el desarrollo de juegos web.

Ingresa al bucle

Por supuesto, un gran juego es más que solo un buen rendimiento, gráficos y sonido. Para ser excelente, un juego debe ser divertido.

La diversión es un elemento difícil de medir en un producto. Cuando un juego es divertido, interesante o lo suficientemente innovador, los usuarios querrán contarles a sus amigos sobre él; en otras palabras, querrán compartir la experiencia. Aprovechar esta oportunidad y combinarla con la Web es una combinación potente que desbloquea un gran potencial de crecimiento viral. En particular, en la Web, sin una plataforma de descubrimiento central, nuestra mejor opción para adquirir usuarios es asegurarnos de que nuestros juegos sean lo más virales posible.

Los buenos desarrolladores de juegos saben que, para aprovechar una plataforma en particular, ya sea a nivel de software o hardware, es importante adoptar las características únicas de esa plataforma. Por ejemplo, si estás compilando un juego para una consola con controles de movimiento, probablemente deberías pensar en la mejor manera de incorporarlos.

En otras palabras, debes respetar las expectativas de los usuarios de la plataforma para la que estás compilando. ¿Qué esperan los usuarios de la Web? Esperan que el contenido web se cargue rápido y sea interactivo rápidamente. En mi charla, mencioné varios ejemplos de formas, tanto dentro como fuera de la Web, en las que los juegos se diseñaron para cargarse rápidamente, atraer a los usuarios a sus mundos de juego, atraerlos y brindarles incentivos adicionales para que compartan sus experiencias.

Tres juegos con estilos de arte minimalistas.

Personalmente, creo que la clave para crear un juego web exitoso es aprovechar esta característica única de la Web. Específicamente, la solidez de la estructura de URL de la Web y el ciclo de uso compartido al que pueden unirse los usuarios.

Este es un ejemplo de un juego web que creé con Construct 3 que aprovecha la URL de una manera divertida y atractiva.

Una interfaz de editor de niveles para un juego.

Space Board es un juego muy simple que se puede jugar en dispositivos móviles con controles táctiles o en computadoras de escritorio con entrada de teclado. El objetivo es navegar por un laberinto de obstáculos para alcanzar un objetivo al final.

¿Cómo aprovecha Space Board la URL de una manera única? A través de la codificación de la estructura de niveles en la URL Todos los niveles se definen como una cuadrícula de 10 por 10 objetos, p.ej., paredes, torretas enemigas, llaves, puertas cerradas, etcétera. Luego, la URL enumera todas las posiciones individuales de la cuadrícula y su contenido. Un muro se representa con un carácter W. Un espacio vacío es un carácter de guion bajo.

Por ejemplo:

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

Es feo, pero hace el trabajo.

Cuando completa un nivel en Space Board, el jugador tiene la oportunidad de diseñar su propio nivel con el editor de niveles simple que se muestra arriba. Permitimos que los jugadores diseñen sus propios niveles y les damos la oportunidad de personalizarlos. Cuando un usuario siente una conexión con un juego y un sentido de propiedad a través de la creación y la personalización, es más probable que quiera compartir esa "cosa" con el mundo.

El deseo de compartir un juego es el comienzo del ciclo viral que buscamos lograr con nuestros juegos web. Este mecanismo de diseño y uso compartido de juegos es solo un ejemplo posible, pero hay muchas otras posibilidades. Te recomiendo que mires mi charla para ver más ejemplos.

Retorno de la inversión

En la actualidad, existen dos escuelas de pensamiento en cuanto a cómo un desarrollador de juegos puede generar ingresos a través de los juegos web:

  • Monetizar los juegos directamente
  • Tratarlos como un canal de adquisición

Tratar los juegos web como un canal de adquisición significa aprovechar la versión web de tu juego para iOS, Android o computadoras de escritorio como un mecanismo para enganchar a los jugadores y convencerlos de que descarguen el binario más grande para iOS, Android o computadoras de escritorio. Luego, genera ingresos con los backends de pago y facturación integrados de las plataformas para iOS, Android y computadoras de escritorio.

La monetización suele ser una combinación de publicidad y microtransacciones. Aún queda mucho por hacer para que la Web compita con las plataformas para dispositivos móviles en la publicidad de juegos. Por ejemplo, formatos como los anuncios de video recompensados son muy populares en los juegos para dispositivos móviles desde hace varios años y, sin embargo, solo ahora vemos que las redes de publicidad implementan estos formatos en la Web.

Sin embargo, hay desarrolladores de juegos que siguen teniendo éxito en la Web abierta a través de la publicidad mediante anuncios de banner tradicionales y anuncios de video intersticiales. Consulta AdSense para juegos para obtener más información sobre estos formatos.

En el caso de las microtransacciones, la Web ofrece una flexibilidad total debido a la cantidad ilimitada de formas de pago que se pueden implementar. Sin embargo, esta calidad es un arma de doble filo. El lado negativo de esto es que los jugadores tienen menos confianza implícita en un sitio web nuevo que descubren en comparación con la familiaridad de las formas de pago de las tiendas de aplicaciones para dispositivos móviles específicas de la plataforma.

Una solución que ofrece una IU de pago más coherente en la Web es la API de Payment Request. Esta API invoca una IU que muestra el navegador y optimiza la adquisición de detalles de pago, como tarjetas de crédito y direcciones de facturación. Sin embargo, adquirir los detalles del pago es solo el primer paso para realizar una transacción. También necesitas una plataforma de facturación de backend.

El futuro

En los últimos años, hemos visto varios juegos web que tuvieron un éxito sorprendente. Slither.io creó un negocio mixto de la Web y específico de la plataforma que demuestra el enorme alcance y la oportunidad de crecimiento viral que ofrece la Web. Portales como Poki.com innovan en su experiencia del usuario y lanzan juegos nuevos todos los días, incluidos títulos que coinciden con la fidelidad de sus contrapartes para dispositivos móviles, como Subway Surfers o Crossy Road.

Además, si miras fuera de la Web abierta, puedes ver que los juegos web ya están despegando. Los ecosistemas cerrados, como WeChat y LINE, ofrecen juegos satisfactorios que no se pueden jugar en la Web abierta, pero que se compilan sobre tecnologías web, como HTML5 y WebViews. Esto es una clara señal de que la Web alcanzó un nivel de fidelidad que puede competir con los juegos para dispositivos móviles específicos de la plataforma, tal vez no en una definición de fidelidad de libro de texto, sino en una métrica más importante: la atención de los jugadores.