← Blog · Tech · August 19, 2026
How Can a Browser Run GTA? WebAssembly Gaming, Explained Simply
When people first see GTA: Vice City running in a browser tab, the reaction is usually the same: "how is that possible without a download?" Here's the answer in plain English.
WebAssembly: native code in a tab
Browsers have always run JavaScript, which is flexible but slow for 3D engines. In 2017 every major browser added WebAssembly (WASM) — a compact binary format that runs compiled C and C++ at near-native speed, inside the browser's security sandbox. Vice City's engine is C++, so an open-source recreation of it can be compiled straight to WASM. The "game engine" arrives as a single ~40 MB module your browser executes directly.
Streaming instead of installing
The classic game shipped on a CD because you needed every file before playing. The browser port flips that: a manifest tells the engine what exists, a small preload bundle (~160 MB) carries what the opening needs, and everything else — distant districts, radio stations, cutscene audio — streams in on demand from a CDN while you play. That's why the first load takes a minute or two and later sessions are near-instant: your browser caches what you've already seen.
Graphics, sound and input
Rendering goes through WebGL, the browser's 3D API, which drives your actual GPU. Audio runs on the Web Audio API. Gamepads, mouse lock, touch joysticks — all standard browser APIs now. The result: one codebase that runs on Windows, macOS, Linux, ChromeOS, Android and iOS without a single installer.
Why this matters beyond nostalgia
Install-free distribution changes who gets to play. School Chromebooks, work laptops, five-year-old phones — the barrier drops from "own a gaming PC" to "have a browser." Our whole arcade is built on that idea, from the smallest arcade racer to a full open world.
← All posts