Games18 Jun 2026 · 8 min read
Shipping 2D games in the browser
WebGL, asset budgets, and why the browser is the most underrated game platform for marketing, training, and small titles.
The browser is the only game platform with no install step, no store review, and no gatekeeper. For a marketing game, a training simulation, or a small original title, that is worth more than raw rendering power.
Why the browser
A link is the entire distribution strategy. You can put it in an email, a QR code on a poster, or a tweet, and the person is playing four seconds later. No app store listing, no 30% cut, no update that has to be approved on a Friday.
For anything whose success depends on how many people try it — which is every marketing game and most training tools — that removal of friction dominates every other consideration.
The budget is the design
Web games live or die on load time, so the asset budget is not a technical detail bolted on at the end. It is a design constraint agreed on day one.
We set three numbers before anything is built:
- Total initial download. For a marketing game, we aim under 5 MB to first playable. Anything more and you lose people at the loading bar.
- Texture budget. Fewer, larger atlases beat many small textures. Compressed formats where supported, with a fallback path.
- Audio budget. Music is usually the largest single asset in a small game and the easiest to stream rather than preload.
Then the art is made to fit the budget rather than compressed to fit it afterwards. Stylised, flat, and deliberate beats realistic-then-crushed every time — and it ages better.
Performance on hardware people own
The machine a game is built on is never the machine it is played on. We profile on a mid-range Android phone and a four-year-old laptop, because that is the actual audience.
The recurring offenders are predictable: too many draw calls, per-frame allocations causing garbage-collection stutter, and full-resolution rendering on high-DPI screens where a lower buffer would be indistinguishable in motion. A stable 60fps at slightly lower fidelity always feels better than an unstable 90.
One more thing that gets forgotten: the browser tab can be backgrounded at any moment. Pause cleanly, and never assume your frame loop kept running.
When not to
Be honest about the ceiling. If you need heavy physics simulation, large open worlds, or the platform features of a console, build natively. If you are targeting players who expect to find things on a store, the store is where you should be.
But for the case of “we want a lot of people to play this, quickly, without asking them for anything” — the browser has quietly become very hard to beat.
