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.
Haunted Hall
Is a found-tape, first-person Halloween shooter built in Rive. You enter a haunted house through a camcorder viewfinder and fight your way through four stages (The Entry, The Deep Hall, The Dark. Hall and the Exit) with a double-barrel shotgun. Ghosts drift out of the dark, bats swarm from the rafters, and a zombie shuffles toward the camera, getting angrier every time you hit it.
Features used: Rive CLI and GPU Canvas.
Rive CLI: the whole game was built by describing it to my coding agent (Claude Code), which wrote the RML (scenes, state machines, view models and data binding) and the Luau scripts (stages, enemy waves, zombie, bat swarm, shotgun and reload logic), checked live in the rive . preview.
GPU Canvas: a WGSL atmosphere pass gives the cursed camcorder look: chromatic split, room-dependent light flicker, vignette, animated film grain, and glitch bands with a red wash when you get hit.
Rive Editor: final polish done by hand in the editor.
BUCKSHOT MANOR 🎃
A haunted house. Two barrels. One long night.
Buckshot Manor is a first-person haunted-house shooter built entirely in Rive. You fight through six rooms of ghosts, zombies, wraiths and exploding pumpkins, then face The Watcher, a giant eye waiting in the foyer, and survive until dawn breaks.
How it's made
Rive CLI + Claude Code: the whole game was built by prompting an agent that writes RML markup, Luau scripts and shaders, with rive . live-reloading every change. In the video, one prompt ("make the candlelight ghostly green”). retints the whole house in seconds.
GPU Canvas: the 3D world is a custom WGSL renderer with real-time lights, shadows, fog, bloom and volumetric light, all running inside a Rive file.
Rive Editor, by hand: the HUD, title, death and win cards are real artboards with state machines and data binding. I refined them by hand in the Editor, including recoloring and reframing the haunted portrait that hangs on the walls.
Play it: https://haunted-fps-nms8do.rive.to
Controls: WASD to move, mouse to look, click to fire, F to fire both barrels, R to reload, Q to swap to the axe.
Hi,
I created a mini-game powered by the new Rive GPU Canvas. At its core is a real-time fluid simulation using the MPM algorithm. This liquid also generates smoke, which runs on a separate engine at the same time.
To make it look magical, I added pattern algorithms directly to the fluid particles -- like Gray-Scott, Belousov-Zhabotinsky, and particle combustion. By combining them, I built 19 presets that create beautiful, dynamic patterns right on the living liquid.
It’s fully interactive! You can play with it using your cursor or touch screen. You can even tilt your iPhone to control the fluid using its motion sensors. Mix different ingredients to unlock new, ever-changing effects.
The complex and impressive look of the liquid is achieved by custom rendering for refraction, background distortion, reflections, depth shading, and dynamic waves based on particle velocity
Finally, to bring the whole scene to life, I wrote some custom scripts. These animate particles, bubbles, flickering flames, and a wavy ghost that dynamically changes its shape.