OWLEX.DEV Dev log
Gaming Halo Browser AI

Halo 2's Lockout, rebuilt from scratch to run in a browser tab, online multiplayer included

A fan recreation of Halo 2 multiplayer, made in about three days with a team of Claude AI agents and built on the game's own data

Gameplay from the browser version on Lockout. Watch on YouTube.

Halo 2 multiplayer now runs in a web browser. I've been building a recreation of the game's online multiplayer, starting with one map: Lockout. The goal is simple to say and hard to do: someone who played Halo 2 on Lockout shouldn't be able to tell the difference.

First-person view on Lockout's top middle walkway, battle rifle in hand, aiming at a red Spartan in front of the lift tower, with snowy mountains behind.
Top middle on Lockout, running in Chrome. Battle rifle, Halo 2 HUD, snow and all.

You open a tab, land in a lobby styled after the Master Chief Collection's, pick a game type, and spawn. Movement, shooting, the weapon sounds, the HUD, the announcer, the medals, the snow falling past the sniper tower: all of it is there, in a normal browser tab.

If you saw the browser port of Halo: Combat Evolved going around r/halo recently, this one takes a different route. None of Halo 2's original code is in it. Every system was written new in TypeScript, and the map, art, sounds and gameplay numbers come from Halo 2's own tag files, read with the official Halo 2 Mod Tools from my copy of MCC on Steam.

What's in it

  • Lockout, converted from the original map files, with Halo 2's own shaders translated to WebGL, its lighting, sky, weather and every spawn point.
  • Every weapon on the map: battle rifle, SMG (dual wieldable), magnum, shotgun, sniper rifle, plasma pistol, plasma rifle, needler, energy sword, frags and plasmas. The rest of Halo 2's multiplayer weapons are in for variants that use them.
  • Every Halo 2 game type: Slayer, Oddball, King of the Hill, Capture the Flag, Assault, Territories and Juggernaut, plus all 44 of MCC's built-in variants.
  • Online play on a dedicated server, with bots to fill out a lobby.
  • The full shell: lobby, pause menu, scoreboard and post-game carnage report, Halo 2's HUD and motion tracker, medals and announcer.
  • Mouse and keyboard or a controller, laid out like MCC's defaults.

Checked against the real thing

Getting close wasn't the hard part. Getting it exact was. So we filmed Halo 2 in MCC and the browser version side by side, at the same spawn points, doing the same things: firing a burst, throwing a grenade, drawing the sword, setting off a power module. Because the map comes from the same files, a frame from the right spot lines up with MCC almost to the pixel.

Two near-identical frames of Lockout's lower lift room. Top: Halo 2 in MCC. Bottom: the browser version.
Same spawn point, same moment. Top: Halo 2 in the Master Chief Collection. Bottom: the browser version.

That process turned up 90 differences. 73 of them are fixed, 7 turned out to match already, and 10 are still open. A second pass went through Lockout's tag files line by line, checking that every value the game uses made it in.

Built for competitive play

Original Halo 2 ran matches on one player's console, which gave the host an edge. I wanted this one to be fair for competitive play, so every match runs on an authoritative server instead. Your own movement and shots are predicted so they respond instantly, and the server rewinds other players to where you saw them when it checks a hit, so at a normal ping a shot that lands on your screen counts.

Made with Claude

I didn't write this by hand. I built it with Claude, Anthropic's AI model, running several agents at once, each on its own part of the job: one reading Halo 2's gameplay rules out of the game's files, one building the engine and netcode, one converting the map, one filming and comparing against MCC, and one auditing the tag files for anything missed. I set the direction, played the builds and called out what felt wrong. They wrote the code, the tests and the documentation.

The aim from day one: a copy you couldn't pick out of a lineup.

How close is it?

My best guess is about 95% of the way to indistinguishable. That's a guess, not a measurement. Match rules are the closest. The look and the side-by-side checks against MCC trail behind.

Still to do:

  • MCC's medal pop-ups. Medals are counted, but they show as plain name badges for now.
  • The death camera, the battle rifle's shell casings, a grenade blast up close and how far a nearby explosion tips a power module are all slightly off from MCC.
  • Skulls, career stats across games, picking your own emblem and Halo 2's in-game voice aren't built yet.
  • The biggest unknown: it hasn't had a full match between real people on separate connections yet. Every online test so far has been bots, or two browsers on one machine with simulated lag.

Can I play it?

Not yet. The map, art and sounds come from my own copy of Halo 2, so I'm not distributing it, and there's no public download or link. I'm hoping to share more soon.

This is a non-commercial fan project. It is not affiliated with or endorsed by Microsoft, Xbox Game Studios, Halo Studios or Bungie. Halo is a trademark of Microsoft. Screenshots are from the browser build unless a caption says otherwise.