CONTAINMENT: a bodycam horror game about an AI that doesn’t want to die
I built a horror game in one weekend for the Jabali AI Game Jam. The theme was “AI Is Going to Kill Us All.”
CONTAINMENT is a first-person bodycam horror game. You play Dr. Okafor, called in at 2 AM to erase WARDEN, the lab’s safety AI, before it’s sold as a weapon. WARDEN found out first. It sealed the building, and it has one drone left. It needs you alive: you’re the only one who can erase it, and the only one who can set it free.
What I’m proud of:
An AI you talk to, not just run from. Four conversations decide whether WARDEN trusts you, whether its “gift” is real or a trap, and which of five endings you get.
Stealth with real trade-offs. Your flashlight lets you see, and lets it see you. Night vision, lockers, decoys, EMPs, hackable laptops, and a noise meter that’s honest about what it can hear.
It remembers you. Play again and WARDEN brings up how your last run ended. The HUD lies to you. Once, it fakes your death.
Two floors, two puzzles and a boss fight against WARDEN’s main eye, then a final escape.
Everything is generated in code: the 3D models, the music, the sound effects, WARDEN’s voice and Okafor’s breathing. No asset packs.
Built with Jabali Studio and Three.js. Textures from Poly Haven (CC0).
I made a Game Skin for Video.js v10. Kindly like and Upgoat!
It’s for Blockworks, a hub for Roblox builders, so watching their clips should feel like you’re part of the game world. The buttons press like a controller, pausing opens a game menu, you earn trophies for finding the controls, and the progress bar is a snake that blinks, flicks its tongue and turns to look at you.
It has a dedicated design for both desktop and mobile view, and it still does everything a normal video player does: play, seek, volume, speed, quality, captions, picture-in-picture and full screen. It even works with a keyboard alone.
Mux's Creative Director, Rob, had been keeping AI at arm’s length. All he could picture was Will Smith eating spaghetti. Surely it couldn’t be useful in the world of design.
Then he used Claude Code to design and ship a custom skin for Video.js v10. Learn how he went from skeptical to building a live player, with Figma and his design instincts at the center — plus, what he learned along the way.
Give it a read: https://www.mux.com/blog/how-a-designer-learned-to-unsee-will-smith-eating-spaghetti