{"slug": "show-hn-halo-3-s-guardian-playable-in-the-browser-as-my-personal-website", "title": "Show HN: Halo 3's Guardian, playable in the browser, as my personal website", "summary": "A developer built a browser-playable recreation of Halo 3's Guardian map as a personal website, using OpenAI's Codex with Astra to generate 20,552 lines of TypeScript across 118 files at a cost of 973M tokens and 37 hours of runtime. The map geometry is not AI-generated — it uses an original Guardian asset export from the fan-run Halo Archive with an OBJ of 115,250 faces, original UV coordinates, and 42 referenced diffuse textures loaded through Three.js — while shaders, lighting, physics, animations, collision, and quest routing were AI-generated. The unofficial fan project, which hides a treasure hunt of photos, stories, quests, and mini-games in the map, targets 60 FPS and is free with no signup.", "body_md": "I've never had a personal website, and I didn't want to make a resume/portfolio site, so I rebuilt Guardian and hid a treasure hunt through my life inside it.\n\nYou start in the Halo 3 main menu, go through the lobby, spawn in the map, and explore. There are photos, stories, quests, mini-games, and Easter eggs scattered around. Movement is via WASD and mouse, no signup.\n\nGuardian was my third place growing up. Starting in 9th grade, my friends and I would get home after school, get on Halo, and hang out in a Guardian free-for-all with MLG settings until everyone came online, then play customs or ranked for hours.\n\nOn weekends we'd bring our Xboxes and monitors to each other's houses, stay up all night, and play in local tournaments. Guardian was probably the closest thing I had to a digital home, so I wanted my site to live there. Playing it and hearing the theme music for the first time in 10+ years in a place I knew by heart felt a bit like coming home.\n\nThe map itself isn't AI-generated. It uses an original Guardian asset export distributed through the fan-run Halo Archive: an OBJ with 115,250 faces, the original UV coordinates, and 42 referenced diffuse textures, loaded through Three.js.\n\nWhat was AI-generated was everything on top needed to turn it into a complete game: shaders, lighting, scenario tags, physics, animations, collision, movement, sky and fog, lifts, pickups, weapon handling, and quest routing.\n\nEvery pickup was placed by hand against the geometry using callout maps and a dev-only coordinate locator. This was surprisingly tedious to get right - I think it took me 10 iterations just to get the blue lift on Camo to line up parallel with the ledge.\n\nThe Guardian geometry and texture assets are 21 MB, so the load is hidden inside the lobby countdown and scorecard screen while the shaders warm up. It targets 60 FPS and feels smooth on a recent MacBook in Chrome.\n\nTouch controls work on mobile, but the field of view is roughly 20 degrees in portrait, so desktop is definitely the best way to play it.\n\nI built it with Codex using Astra. It wrote essentially all of the code: 20,552 lines of TypeScript across 118 files, 973M tokens, 37 hours of runtime, and about 25-30 hours of my time.\n\nCoding wasn't the hard part. The time-consuming part was deciding which memories belonged in the map, where each should live, what game mechanic fit each one best, and then playing it over and over to fix bugs and get the movement and user flow to feel right.\n\nI'll write up more about the Codex/Astra side in a comment since I had a lot of interesting learnings from building something this large with it.\n\nThis is an unofficial fan project and I'm not making money from it. The geometry, textures, UI, and many of the sound effects are Halo material and belong to their respective owners.\n\nSome things are still rough. There's occasional lag when picking up a power weapon. The lifts don't feel quite natural - it was hard to replicate the vacuum effect of the real lifts. On some browsers like Firefox, audio needs a click before it starts.\n\nWould love feedback on how it could be improved, especially from anyone else who spent a lot of time on this map.\n\nComments URL: [https://news.ycombinator.com/item?id=49732259](https://news.ycombinator.com/item?id=49732259)\n\nPoints: 3\n\n# Comments: 1", "url": "https://wpnews.pro/news/show-hn-halo-3-s-guardian-playable-in-the-browser-as-my-personal-website", "canonical_source": "https://runboli.com", "published_at": "2026-09-16 20:08:16+00:00", "updated_at": "2026-09-16 20:25:23.938652+00:00", "lang": "en", "topics": ["generative-ai", "ai-tools", "ai-products"], "entities": ["Halo 3", "Guardian", "Codex", "Astra", "Three.js", "Halo Archive", "OpenAI"], "alternates": {"html": "https://wpnews.pro/news/show-hn-halo-3-s-guardian-playable-in-the-browser-as-my-personal-website", "markdown": "https://wpnews.pro/news/show-hn-halo-3-s-guardian-playable-in-the-browser-as-my-personal-website.md", "text": "https://wpnews.pro/news/show-hn-halo-3-s-guardian-playable-in-the-browser-as-my-personal-website.txt", "jsonld": "https://wpnews.pro/news/show-hn-halo-3-s-guardian-playable-in-the-browser-as-my-personal-website.jsonld"}}