Skip to content

The browser quietly became a real engine target

By Oleg Sidorkin, CTO of Cinevva

Two months ago we wrote that browser rendering had its best month ever, and we assumed it was a spike. It wasn't. It was the start of a trend, and the trend has a direction. The browser is becoming a place where you ship a real game, not a place where you port a small one.

What landed since March

Run the list. Babylon.js 9 shipped clustered lighting for thousands of dynamic lights, volumetric lighting, and a full Gaussian splatting overhaul. Three.js r184 added HTMLTexture, which renders live, interactive DOM as a texture on a 3D surface. PlayCanvas v2.17 brought GPU-driven Gaussian splatting on WebGPU, with f16 spherical harmonics and GPU sorting and frustum culling. Godot 4.7 beta added WebGPU web export behind a flag alongside real HDR output and area lights. Chrome 146 shipped a WebGPU compatibility mode that runs on OpenGL ES 3.1 and Direct3D 11, and WebGPU itself reached W3C Candidate Recommendation. Any one of those would make a notable quarter. They all landed in about eight weeks.

"Good enough for a demo" became "good enough to ship"

The features that arrived aren't toys. Clustered lighting is how you light a scene with thousands of dynamic lights without the frame rate collapsing. Gaussian splatting is how you put photoreal captured environments into a game at interactive frame rates. GPU-driven sorting and culling is the difference between a tech demo that stutters and a game that holds 60. These are the techniques native engines use to ship AAA, and they now run in a tab. The compatibility-mode work matters just as much in the other direction. It means WebGPU reaches the cheap and older hardware most players actually own, not just developer machines with a high-end GPU.

We've been building on this, by hand

We're not reading this off a press release. We've spent the last stretch building an open world that runs in the browser, across more than sixty spike experiments, from ugly terrain baselines to GPU marching cubes and streaming LOD. We wrote the trail up as a full series and a longer piece on the methodology. Almost every feature above maps to a problem we hit the hard way. When clustered lighting lands in a mainstream web engine, that's a stretch of our own code we get to delete.

The objection is dead, the habit isn't

"You can't make a real game in a browser" was true for a long time, and it stopped being true while most of the industry was looking the other way at AI. The technical ceiling that justified shipping a native client first and a web build maybe-never has lifted. What's left is habit. Engines, studios, and toolchains are still built around the assumption that the browser is the lesser target.

That assumption is the opportunity. We built Cinevva on the bet that the browser would become the default place to ship and discover games, not the fallback. The rendering stack just spent two months proving the bet out. The studios that update their mental model first get a distribution surface with no install friction and an audience one click away. The ones that wait will port to it eventually, after everyone else already lives there.


Related: