Half-Life 2 in a Browser

A fan project has brought Half-Life 2 to the browser via WebAssembly and WebGL, impressing many with how smoothly a 2004 AAA title now runs on ordinary laptops, phones, and even iPads without installation. Commenters highlight both the technical achievement and broader trend of classic games being ported to the web, while noting missing animations, visual glitches, and performance limits compared to native ports. The project also reignites debate over copyright, the dominance of web apps over native software, and why official Mac and web builds from game studios often lag behind community efforts.

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.