MILK.
MILK: a hidden online game for immersive theatre company DARKFIELD, played through CCTV feeds, a live chat and phone calls from the game itself.
- Client
- DARKFIELD
- Deliverable
- Online game, design + build
- Year
- 2024
- Live site
- iammilk.org ↗

The brief
DARKFIELD makes immersive theatre, and its show MILK needed an online game to run alongside the live production. The idea was a viral, hidden website: players arrive with almost no instructions and have to work out what to do. It had to feel creepy and found, like footage you weren't meant to see. DARKFIELD came to us through our own outreach to immersive theatre companies.
The approach
We designed the game under DARKFIELD's direction and built all of it. The interface borrows from old Windows chat programs: a live stream, a scrolling chat where a 'system' user drops hints, and a token counter. Players switch between CCTV angles of one room to piece the puzzle together, and the game rings their phone with clues. The chat looks busy with other players, but every message is scripted to build tension and slip in hints. We built it as a Next.js app.
The result
MILK the game ran alongside MILK the show, adding a second layer for audiences to find online.
Four cameras, one video file
The problem
Players move between four CCTV angles of the same room, and the puzzle depends on seeing what happens in each at the same moment. Four separate videos buffer and load at different speeds, so the angles drift out of sync.
One file, four feeds
We spliced all four CCTV streams into a single video file, so every angle shares one timeline and one buffer.
Move the frame, not the video
Choosing a camera changes the coordinates that project the video onto the screen, bringing that feed into view. The footage itself never stops, so every angle stays in step.




The game calls you
Clues by phone
Through Twilio, the game calls the player's own phone with clues, pulling the story out of the browser and into their hands.
Found
Players who finish get a text: "You have been found."



- Next.js
- Twilio