Webcam-Powered Halloween Face-Tracking Horror Game in RiveWebcam-Powered Halloween Face-Tracking Horror Game in Rive
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Haunt Me a Treat: your real face is the ghost costume 👻
Put on the sheet. Your webcam brings it to life.
Haunt Me a Treat is a trick-or-treat night you play with your real face. Open your mouth and the sheet gasps, frown and the eye holes turn mean, blink and they blink. Go door to door: shout at a deaf granny, smile at a scared kid (scare him and he cries), show the neighbor your scariest face, then scare the monster kid knocking on YOUR door or lose your candy.
And then... don't look at your reflection. 🪞 There was no one under the sheet.
HOW IT'S BUILT WITH RIVE
State Machine: runs the whole night (4 doors, hold timers, fail states, the ending). All thresholds live in Rive, not in code.
Data Binding: 12 face values (jaw, smile, brows, blinks, gaze, head pose, a combined scare score) stream into a View Model every frame. MediaPipe reads the face locally, with a 2.5 s calibration to each player's face.
GPU Canvas: a custom WGSL shader paints the night. The porch lamp flickers harder the scarier you are, mist parts around the sheet, and a blood-red reveal is driven by the State Machine.
Scripting (Luau): a node script feeds the shader from the View Model, another keeps the candy counters.
Rive CLI + RML: an AI agent wrote the candy-counter HUD in RML, verified it with headless rive --screenshot renders, then rive push and --publish produced the .riv used in the game.
Human touch: scene, rigs, animation and the State Machine built by hand in the Rive Editor. Porches rendered in Blender; characters from Open Peeps (CC0).
The on-screen mirror never shows your raw face: it disguises you (huge eyes, stitched mouth, a gash, blood) and gets worse door after door. Hide it any time with H.
The webcam never leaves your browser. Nothing is uploaded or stored.
Play (webcam, or mouse/keyboard if you have no camera): https://faadil1.github.io/Haunt-me-a-treat/
Best with headphones. ⚠️ Jump scares and flashing lights. #rivehalloweenchallenge @rive_app

faadil1.github.io

Haunt Me a Treat: your real face is the ghost costume

Put on the sheet. Your webcam brings it to life. Shout, smile and scare your way through a haunted street. Made with Rive.

Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started