← 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