Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Browser-only, no-install multiplayer 3D — anyone else skipping the downloadable client?

A topic by Nyzaverse created 14 days ago Views: 158 Replies: 5
Viewing posts 1 to 7
(+1)
Curious how many other devs here are betting on browser-only distribution for 3D/multiplayer work instead of a downloadable build. I've been building Nyzaverse (https://nyzaverse.com/play/), a true-3D multiplayer world in Three.js with a small WebSocket presence server — you walk it as your own avatar, no install, no account, just a tab. It also runs in first-person VR on a Meta Quest via WebXR straight from the browser, no headset-store listing needed. The tradeoff that surprised me most: every bit of "no install" convenience gets paid for later in asset budget and load-time discipline — you can't lean on a big local cache the way a downloadable client can, so texture streaming and level-of-detail work end up mattering way more than they would in an Electron/native build. Anyone else shipping multiplayer or 3D work browser-only? What's been the hardest part of the tradeoff for you — performance ceiling, WebXR support gaps, something else? Would like to compare notes.
Moderator moved this topic to General Development
Moderator

(moved to the right category)

Browser-only is a great way to reduce friction, but asset size, load times, and WebXR compatibility can get tricky fast. Performance optimization is probably the biggest tradeoff, especially on lower-end devices. The “click a link and you’re in” experience is hard to beat, though.

this game crashed me 4gb ram pc just a heads up

Yes — same bet here. Bombercup is Three.js in a tab, multiplayer, no install. WebXR straight from a link is genuinely the coolest part of your setup 🎮

The hardest part for me hasn’t been the performance ceiling, it’s the memory ceiling, and I suspect Coa’s report above is exactly that failure mode. A native client on a 4GB machine pages and stutters; a tab just gets OOM-killed. And because there’s no install, you also lose the system-requirements gate a downloadable build gets for free — anyone on any device can click the link, so you end up budgeting for the worst machine that will ever open it rather than for your target spec.

Two things that bought me the most headroom:

Texture memory, not geometry, is what gets you. A 2048x2048 RGBA texture decodes to ~16MB in VRAM no matter how small the PNG was. Moving to KTX2/Basis (stays compressed on the GPU) cut resident memory more than any mesh or draw-call work did.

Dispose discipline. Three.js won’t free GPU resources for you, and in a world where avatars stream in and out, leaked materials/textures on player teardown is a slow OOM that only surfaces 20 minutes in — which is exactly when a crash report looks mysterious and unreproducible.

Also worth clamping devicePixelRatio to ~1.5. Retina at DPR 2 is 4x the fragment work for very little visible gain, and it’s a one-line change.