Skip to content

El navegador se convirtió discretamente en una plataforma real para motores

Por Oleg Sidorkin, CTO de Cinevva

Hace dos meses escribimos que el renderizado en navegadores había tenido su mejor mes hasta la fecha, y supusimos que era un pico puntual. No lo fue. Fue el inicio de una tendencia, y esa tendencia tiene una dirección clara. El navegador se está convirtiendo en un lugar donde lanzar un juego de verdad, no en un lugar al que portar uno pequeño.

Lo que ha llegado desde marzo

Repasemos la lista. Babylon.js 9 incorporó iluminación por clústeres para miles de luces dinámicas, iluminación volumétrica y una renovación completa del splatting gaussiano. Three.js r184 añadió HTMLTexture, que renderiza DOM interactivo y en vivo como una textura sobre una superficie 3D. PlayCanvas v2.17 incorporó splatting gaussiano controlado por GPU en WebGPU, con armónicos esféricos f16, además de ordenación y descarte por frustum en la GPU. La beta de Godot 4.7 añadió exportaciones web wasm64 que eliminan el antiguo límite de memoria de 4 GB, junto con salida HDR real y luces de área. Chrome 146 incorporó un modo de compatibilidad con WebGPU que funciona sobre OpenGL ES 3.1 y Direct3D 11, y el propio WebGPU alcanzó el estado de Recomendación Candidata del W3C. Cualquiera de estos avances habría bastado para hacer de este un trimestre notable. Todos llegaron en unas ocho semanas.

«Suficientemente bueno para una demo» pasó a ser «suficientemente bueno para lanzar»

Las funciones que han llegado no son juguetes. La iluminación por clústeres permite iluminar una escena con miles de luces dinámicas sin que se desplome la tasa de fotogramas. El splatting gaussiano permite incorporar entornos fotorealistas capturados a un juego con tasas de fotogramas interactivas. La ordenación y el descarte controlados por GPU marcan la diferencia entre una demo técnica que da tirones y un juego que mantiene los 60 FPS. Estas son las técnicas que usan los motores nativos para lanzar juegos AAA, y ahora se ejecutan en una pestaña. El trabajo en el modo de compatibilidad es igual de importante en la otra dirección. Significa que WebGPU llega al hardware económico y antiguo que realmente tiene la mayoría de los jugadores, no solo a los equipos de desarrollo con GPU de gama alta.

Hemos estado construyendo sobre esta base, a mano

No lo hemos sacado de un comunicado de prensa. Durante este último periodo hemos estado construyendo un mundo abierto que se ejecuta en el navegador, a través de más de sesenta experimentos exploratorios, desde rudimentarias bases de terreno hasta marching cubes en la GPU y LOD por streaming. Documentamos el recorrido en una serie completa y en un artículo más extenso sobre la metodología. Casi todas las funciones anteriores corresponden a un problema con el que tuvimos que enfrentarnos por las malas. Cuando la iluminación por clústeres llega a un motor web generalista, podemos eliminar todo un tramo de nuestro propio código.

La objeción ha muerto; el hábito, no

«No se puede hacer un juego de verdad en un navegador» fue cierto durante mucho tiempo, y dejó de serlo mientras la mayor parte de la industria miraba hacia otro lado, a la IA. El techo técnico que justificaba lanzar primero un cliente nativo y dejar una versión web para quizá nunca ha desaparecido. Lo que queda es el hábito. Los motores, los estudios y las cadenas de herramientas todavía parten de la premisa de que el navegador es una plataforma secundaria.

Esa premisa es la oportunidad. Construimos Cinevva apostando a que el navegador se convertiría en el lugar predeterminado para lanzar y descubrir juegos, no en la alternativa de último recurso. El stack de renderizado acaba de pasar dos meses demostrando que la apuesta era acertada. Los estudios que actualicen primero su modelo mental obtendrán un canal de distribución sin la fricción de una instalación y con una audiencia a un solo clic. Los que esperen acabarán portando sus juegos al navegador, cuando todos los demás ya estén allí.


Relacionado: