Interactive Jack-o'-Lantern Graveyard Animation with RiveInteractive Jack-o'-Lantern Graveyard Animation with 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
Jack's Last Light 🎃
A jack-o'-lantern keeps watch over a foggy graveyard, and your cursor is a lantern. Move it to part the fog and find the ghosts drifting inside. Jack's eyes follow you everywhere and he leans in when you get close. Click him and a spirit possesses him: an evil laugh, a hellfire candle, a blood moon and a cursed CRT glitch. Click again to banish it. Every soul he claims is counted.
Features used: Rive CLI + GPU Canvas (both)
• Rive CLI: the whole scene is RML, written with a coding agent and checked with rive --verify, rive inspect and headless screenshot tests
• GPU Canvas: 4 WGSL shaders: a moonlit sky with a cratered moon, domain-warped fog with a cursor "lantern" hole, the candle flame clipped to Jack's carved face, and a CRT possession glitch
• Scripting (Luau): turns the pointer and clock into view-model data and drives every shader layer
• Data Binding: pupils, head tilt, candle flicker, ground glow, souls counter and the hover cursor
• State Machine: 5 layers (Possession, Notice, Ghosts, Bats, Wings); a click listener toggles possession with a negate converter, and an audio event plays the laugh
• Second pass: recarved Jack's face (scowling almond eyes, fanged grin) and added the possession laugh (CC0 sound by AntumDeluge)
On X: https://x.com/AnshuKu41583837/status/2106063231039258889
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