Half-Life 2 in a Browser
Technical approach and performance
- Port is built with WebAssembly and WebGL, compiling leaked Half‑Life 2 code; assets stream in by chapter so initial download is ~50 MB, with more as you progress.
- Runs surprisingly well even on non‑gaming laptops and some phones/tablets; some users report smooth play until later, heavier scenes where it crashes or slows.
- Shader/animation systems are partially disabled or simplified, leading to missing shadows, incorrect or missing eye textures, and no lip‑sync or some in‑world screens.
- Offline play is possible once assets are cached; browser can relaunch the game without an internet connection.
Legal and ethical questions
- Many argue it’s almost certainly unlicensed and thus copyright infringement, regardless of whether Valve enforces it.
- Others say enforcement is Valve’s concern; it’s free publicity for a 20‑year‑old game and not a serious revenue threat.
- Debate over whether prior free promos or SDK/source releases for related engines change the ethics; most agree they don’t change legality.
- Broader discussion on “IP law is dead” vs high‑profile settlements showing large copyright penalties; piracy vs corporate wrongdoing is contrasted.
Web vs native and platform debates
- Some see this as proof browsers are the new “universal platform,” with WASM as the common interface.
- Others lament energy spent on browser apps instead of native ports, arguing web capability erodes offline and user control, and is worse for performance and security.
- Concerns that giving the web more native‑like powers leads to abuses (notifications, tracking) and that install friction for native apps is a user‑protection feature.
Compatibility, UX, and controls
- Works on major desktop browsers; some projects (e.g., Ultima Online web client) degrade on Firefox due to missing File System Access API features.
- On iPad and mobile, input is clumsy; external controllers can be an issue on iOS.
- UI criticism: auto‑loading large assets without a clear “Play” button looks scammy; progress bar bugs and lack of clear keybindings noted.
Nostalgia and related web ports
- Strong nostalgia for HL2 era hardware and LAN culture; amazement that a once‑high‑end title now runs in a browser.
- Long list of similar web ports: Quake 3, Doom 3, Diablo, Counter‑Strike, Tomb Raider, Deus Ex, GTA Vice City, Ultima Online, RuneScape, Simpsons Hit & Run, Red Alert, Duke Nukem 3D, etc.
- Some highlight sanctioned browser clients (e.g., Ultima Online) as a contrast to this likely‑unauthorized port.
Mac and platform support
- Multiple comments note the irony that HL2 no longer runs on modern macOS via Steam due to dropped 32‑bit support, yet is playable via browser.
- Debate over Apple’s decisions to drop 32‑bit, deprecate OpenGL, and ignore Vulkan, and whether Valve should have shipped 64‑bit Mac binaries.
- Broader lament about macOS as a gaming platform versus cloud/streaming solutions and Wine/Proton‑style compatibility layers.
Why aren’t more games shipped this way?
- Cited obstacles: limited engine support (Web exports weaker for Unreal, Godot+C#), WebGL’s older feature set, incomplete WebGPU rollout, and performance/cost concerns.
- Some companies are working on UE5 WebGPU backends and asset‑streaming solutions, suggesting more high‑end browser games may appear.