The Last Light: A Playable Horror Game Built in Rive by Kishan JotangiyaThe Last Light: A Playable Horror Game Built in Rive by Kishan Jotangiya

The Last Light: A Playable Horror Game Built in Rive

Kishan Jotangiya

Kishan Jotangiya

Overview

THE LAST LIGHT is a small playable horror game that lives in a single Rive file. You are a little ghost with a dying lantern, stuck in a mansion that will not open. It was built for the Rive Halloween Challenge, and it is a personal challenge project, not client work.
Play it: https://the-last-light-te5g2j.rive.to (click once to start; arrows or WASD to move, Space to flare, or click and hold to steer)

The idea

Most small browser games show everything and let the player see the danger coming. I wanted the opposite: you can only see what your lantern lights. The darkness is not decoration, it is the rule of the game.

How it plays

Three lost souls hide in the dark. Stay beside each one to hear its story and take its key.
Haunted pumpkins chase you if you stray too close.
Free the first soul and something else wakes up: the Shade, which you only ever see as two red eyes in the dark.
Spend light to throw a flare and drive it back, relight your lantern at the candles, and reach the door before the darkness closes.
Win, and a darker night begins.

How it was built in Rive

Rive CLI. The whole scene (mansion, graveyard, characters, text, animations) is written in RML, then verified, pushed and published from the terminal.
GPU Canvas. One WGSL shader draws the fog, the lantern's circle of light, the darkness around it, the flare ring, the lightning flash and the red danger vignette. The shader is the gameplay: the darkness is what hides the enemies.
Scripting (Luau). Movement, enemy chase behaviour, the Shade, candles, flares and the difficulty of each night.
Data Binding. About 50 view model properties connect the script to the artwork: positions, opacities, the lantern bar and the story text.
State Machines. Four layers handle ambient motion, the ghost's moods (idle, drift, scared, celebrate, fade), the screens and the door.
Audio. Nine sound effects, synthesized from scratch for this project.

Design process

The first version was too easy and too thin, so I rebuilt the mechanics: souls to free, chasing pumpkins, the Shade that hunts once a soul is freed, flares that cost light, relighting candles and harder nights after each win. The look is a navy night sky, a magenta-purple mansion, amber windows, orange pumpkins, violet fog and white-blue lightning.

What I learned

Rive can carry a whole game, not only UI animation: the artwork, the logic, the shader and the sound all sit in one file and one published page.
Like this project

Posted Nov 1, 2026

A small horror game : a ghost, a dying lantern and a shader where the darkness is the gameplay. Made for the Rive Halloween Challenge.