I've been using Rive for years to animate the weather conditions in my app, Yawa — expressive, interactive scenes driven purely by live weather data. But something was always missing: a bit more interactivity, a bit more expression.
That's why I created Reggie for the character challenge.
Reggie is a little frog living in his mushroom house, reacting to the weather and the time of day. He sleeps in his bed at night, enjoys the weather on his terrace in the morning, heads down to the lake to fish, and curls back into his chair for a snack. When it rains, he puts on his raincoat.
And he doesn't only react to the weather — he reacts to you: scroll and the camera zooms out to reveal his whole little world (his mushroom house, the pond, the hills around it), with a speed input that changes how fast the animations play while you scrub through the timeline.
How it's built: everything is rigged in Rive — multiple state machines, responsive layouts, Lua scripts, and over 50 nested artboards with nested ViewModels, all reading live weather and time of day straight from the app or the users input. Every weather condition has its own unique animation.
🔗 Rive file: https://editor.rive.app/file/yawa/2375740?linkId=mH7R_laspkW0jTuKh6UlIQ
📱 Soon Live in Yawa: https://yetanotherweather.app
An interactive psychological horror experience inspired by Japanese folklore. You play as a lone ferryman crossing mysterious waters where drifting fog, strange shadows, and the unknown turn a quiet journey into something unsettling.
What I built:
- A cinematic, moonlit 3D lake environment.
- A custom WGSL fog shader running on Rive's GPU Canvas.
- An interactive Haunt slider that lets you intensify the atmosphere.
- Rive-powered effects built using the Rive CLI, Rive Markup Language, Luau scripting, and data binding.
The lake environment was the foundation. For the @Rive Halloween Challenge, I wanted to push it further by creating a supernatural layer that responds to the player instead of remaining a static visual effect.
This project was an exploration of how code, shaders, and interactive design can turn an atmospheric scene into an experience.
You might have seen this logical puzzle in different games or puzzle books. I love making puzzle games, so I decided to recreate this one by hand.
For this challenge, I didn't want to give everything to an AI agent. Instead, I decided to use the full power of Rive together with Rough 2D animation and GPU canvas shaders.
I also used many of the Rive features I've learned throughout my journey:
• Triggers
• Property Groups
• State Machines
• Data Binding
• Scripting
🧟 Game Goal
There are 4 zombies — 3 regular zombies and 1 zombie wearing a cap. 🎃
⚡ Each zombie starts with 100 energy.
🍭 Your goal is to get the zombie with the cap to the lollipop, then bring him back together with his friends to the starting position. The other zombies need to help by sharing their energy with each other.
💥 But there's a catch: zombies can share energy only when they are on the same line.
⚠️ Don't waste your energy — one wrong move can make you lose!
Here's my spooky submission for the @Rive Halloween challenge: Candy Pail Monsters!
It's a roguelike TCG built entirely in Rive using CLI, GPU canvas, the brush tools, state machines, and more. It's playable on your desktop, tablet, and phone!