🕯️ THE MIDNIGHT APOTHECARY
The dead can't speak. Read them.
One night a year, the dead visit Mother Ashgrove's apothecary. They can't speak, so you read the signs they carry, brew the right potion and send them home before midnight. Each soul you help comes back to life for a moment, leaves you a last line and lights a candle.
Some places feel like memories even if you've never been there. For me, an old apothecary at midnight is one of them: candlelight on glass jars, rain against the window, something strange simmering on the fire. This game is that feeling, and a quiet place where the dead can finally be heard.
Rive CLI + Rive Markup: the whole scene written from the command line by my coding agent and refined live in the preview
GPU Canvas: 10 WGSL shaders, including the ghost static and resolve, a real fire, the swirling brew, candlelight, fog, rain, the crystal ball and the room effects
Scripting: 48 Luau scripts run the nights, visitors, stirring and bottles
Data Binding: 1,160 bindings, with data-bound lists for the Ledger and the Gathering
State Machines, events, audio, nested artboards, constraints, bones, blend states and feathering
─────────────
🖋️ HUMAN TOUCH
This is my first project in Rive. I designed and directed it over 21 build steps, playing every version and art-directing every prop and character: the haunted shop with its real fire, a candelabra that lights one blood-dripping candle for every soul you send home, a sober velvet witch whose face stays hidden, and 24 visitors who each have their own story and their own bottle.
─────────────
🎮 HOW TO PLAY
Find the two signs each visitor carries
Drag the matching ingredients into the cauldron
Grab the ladle and stir three circles
Watch the clock: hints and wrong brews cost time
─────────────
🌙 WHAT'S INSIDE
3 nights and 24 visitors, each with their own story, bottle and last line
Visitors who change the room: a flood, frost, a room drained to sepia, a Horseman who can't drink
A grimoire, a ledger of the dead, a raven that follows your cursor, a cat in the basket
Something that knocks instead of drifting… and one last visitor you won't expect
- The video shows the game in action and a glimpse of my agent workflow and code.
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.