Behind the Scenes: How We Build WebXR Games at dmnshd
At dmnshd, we build all of our games in-house. Every title on dmnshd.gg, from Shed Racer to Archery Evolution to Boulderworld, is designed, developed, and published by our team. Here's a look at how we do it.
Our Technology Stack
Every game on dmnshd.gg is built either with Three.js, the popular open-source JavaScript 3D library, or with Wonderland Engine, a development platform for web-based 3D applications. Combined with the WebXR Device API for immersive VR and AR support, this gives us a powerful, flexible foundation that runs in every modern browser.
Here's what powers our games under the hood:
- Three.js, Wonderland Engine or IWSDK for 3D rendering, scene management, and camera systems
- WebXR Device API for VR headset tracking, controller input, hand tracking, and AR passthrough
- Rapier (via WebAssembly), crashcat or PhysX for real-time physics simulation including vehicle dynamics, projectile trajectories, and collision detection
- Gamepad API for controller and gamepad support across all platforms
- Web Audio API / Howler.js for spatial 3D sound that responds to player position
- WebRTC + WebSockets for real-time multiplayer networking
Our platform SDK, which is automatically injected into every game, handles the integration between the game and the dmnshd.gg platform: authentication, leaderboard submissions, achievement tracking, cloud saves, in-game purchases, and user-generated content like community tracks.
Designing for Every Platform
The biggest design challenge in WebXR game development is making a single game feel great across radically different input methods. A racing game needs to work with:
- VR controllers (thumbstick steering, trigger acceleration)
- Hand tracking (pinch and move gestures)
- Keyboard (WASD)
- Gamepad (analog sticks and triggers)
- Touch screen (drag and tap)
Our approach is to design the core game mechanics around the most constrained input method (usually touch), then add layers of richness for more capable inputs. VR always gets the most immersive implementation with spatial hand interactions, head-tracked cameras, and physical controls, but the desktop and mobile versions need to be genuinely fun too, not afterthoughts.
We also handle platform-specific UI carefully. VR menus are spatial, with floating panels you interact with by pointing and clicking. Desktop menus are traditional 2D overlays. Mobile menus are touch-optimized with larger targets. The game detects your device and adapts automatically.
Performance on a Budget
WebXR games run in a browser sandbox, which means we don't have the raw performance headroom of native VR apps. Every frame counts, especially on standalone headsets like the Quest 2 where we need to maintain 72-90fps for a comfortable VR experience.
Some techniques we use to stay within budget:
- Instanced rendering: drawing many identical objects (track pieces, trees, obstacles) with a single draw call
- Level of Detail (LOD): reducing mesh complexity for objects that are far from the camera
- Object pooling: recycling game objects (projectiles, particles, track segments) instead of creating and destroying them each frame
- Texture atlasing: combining multiple textures into single atlas textures to reduce material switches
- Aggressive culling: only rendering objects that are actually visible to the camera
- Adaptive quality: detecting device capability and adjusting shadow resolution, post-processing, and particle counts at runtime
On Meta Quest, we also disable certain post-processing effects (like bloom) during VR sessions and reduce shadow map resolution to maintain smooth frame rates. The goal is always: buttery smooth VR at the cost of some visual polish, because comfort always trumps graphics.
The Platform Layer
Beyond the games themselves, dmnshd.gg is a complete gaming platform. Our backend handles:
- User accounts with OAuth (Google, Discord) and email registration
- Global leaderboards with real-time score submission and ranking
- Achievement systems with per-game and cross-platform tracking
- Cloud saves that sync your progress across devices
- User-generated content like community tracks in Shed Racer, with likes and sharing
- In-game economy with tokens, cosmetics, and virtual items
- Comments and community features on every game page
All of this is exposed to our games through a JavaScript SDK that communicates via postMessage between the game iframe and the platform. The SDK handles all the complexity, so the game just calls simple functions like sdk.submitScore() or sdk.unlockAchievement().
What We've Learned
After building and shipping multiple successful WebXR games since 2018, here are the biggest lessons we've taken away:
Start with the VR experience. It's easier to simplify a VR interaction for desktop/mobile than to retrofit VR onto a flat game. Design the immersive version first, then adapt.
Performance is a feature. Players notice dropped frames before they notice fancy shaders. A smooth, responsive 72fps experience on Quest will always feel better than a visually stunning slideshow. If you want automatic optimizations, frameworks like Wonderland Engine or IWSDK come with those built in.
Cross-platform is hard but worth it. Supporting VR, desktop, and mobile from a single codebase requires careful architecture, but the reach is enormous. A player who tries your game on their phone might come back on their Quest headset for the full experience.
Instant access changes behavior. When there's no download barrier, players are much more willing to try something new. Our average time from landing on a game page to actually playing is under 5 seconds. That changes how you design onboarding, tutorials, and first impressions.
The web is the distribution layer. Links, QR codes, social media embeds, Discord messages. The URL is the most powerful distribution mechanism ever invented, and WebXR games inherit all of that for free.
What's Next
We're continuing to push what's possible with WebXR gaming. Upcoming areas we're exploring include improved hand tracking interactions, colocated multiplayer (multiple players sharing the same physical and virtual space), WebGPU rendering for dramatically improved visual quality, and more ambitious game designs that take full advantage of mixed reality.
If you haven't tried our games yet, the best place to start is dmnshd.gg. Every game is free, loads in seconds, and works on whatever device you have handy. No downloads required, just click and play.