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 del blog, resumiré algunos de los puntos clave de mi charla, que pueden mirar por completo 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. Para el rendimiento de la CPU, tenemos acceso a un nuevo estándar de buen rendimiento llamado WebAssembly. En el lado de los gráficos, 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, contamos con la API común de Web Audio 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 participan 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.

Interfaz de editor de niveles de 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 sortear 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. Luego, la URL enumera todas las posiciones de cuadrícula individuales 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. Al permitir que los jugadores diseñen sus propios niveles, 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 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 de iOS/Android/computadoras de escritorio como un mecanismo para captar el interés de los jugadores y convencerlos de descargar tu objeto binario de iOS/Android/computadoras de escritorio más grande. Luego, generas ingresos con los backends integrados de pago y facturación de la plataforma 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. Echa un vistazo a AdSense para juegos si deseas 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 la tienda de aplicaciones 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 web y específico de una plataforma que demuestra el enorme alcance y la oportunidad de crecimiento viral que ofrece la Web. Los portales como Poki.com están innovando en la experiencia del usuario y lanzan juegos nuevos todos los días, incluidos títulos que coinciden con la fidelidad de sus versiones 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. Esta es una clara señal de que la Web ha alcanzado un nivel de fidelidad que puede rivalizar con juegos para dispositivos móviles específicos de cada plataforma, quizás no en la definición de fidelidad de un libro de texto, sino en una métrica más importante: la atención del jugador.