Skip to content
Tech News
← Back to articles

Docker images are MB; a full game engine compiles to 35MB WASM

read original get Docker for Beginners Kit → more articles
Why This Matters

This article highlights the surprisingly small size of a full 3D game engine compiled to WebAssembly (35MB), which is significantly smaller than many common web resources like Facebook's homepage. This demonstrates the potential for lightweight, browser-based applications that can run complex software without large downloads, opening new possibilities for web gaming and software deployment. Despite the advantages, widespread adoption of WebAssembly remains limited due to ongoing challenges in runtime support and ecosystem maturity.

Key Takeaways

I exported a game skeleton to WebAssembly a few hours ago and was surprised by the artifact size. Full 3D engine – GL Compatibility renderer, Jolt physics, GDScript runtime, Ink narrative interpreter. The binary: 35MB. Runs in any browser, zero install.

Facebook’s homepage loads 44MB. The game engine is 35MB.

# Try it

Fullscreen, WASD, Esc.

# The thing that weighs less than a base image

python:3.14-slim-trixie – the slim base, before you add a single dependency – is 144MB. Even a careful minimal build with uv lands at 282MB.

Sizes from my browser and local Docker cache:

Item Size Google homepage (all resources, 43 requests) 10MB this game (Godot 4, full engine) 35MB Facebook homepage (all resources, 379 requests) 44MB livekit/livekit-server (Go, WebRTC) 75MB python:3.14-slim-trixie 144MB python:3.14-slim-trixie + minimal deps 282MB REST API from my job 300–400MB node:latest (19M pulls/week) 421MB ghcr.io/gohugoio/hugo 423MB Python-based AI agent from my job 1.45GB

Hugo: 423MB to generate static HTML. The game engine is 35MB 😌

The Go binaries (livekit at 75MB) are already close.

... continue reading