Ghost Customs — one last border.
A quiet Halloween night shift at the Department of Unfinished Business. Three ghosts arrive with impossible declarations: a lost hour, an unkept promise and borrowed moonlight. Choose INSPECT, RETURN or ADMIT to reveal a memory, send a paper bird home, or open a glowing border to the other side.
Built with an AI coding agent and the Rive CLI using RML, Luau scripting, state machines and view-model data binding. GPU Canvas runs a custom WGSL shader for animated mist, inspection light and the portal. The characters, suitcase, declaration, stamps and memory objects are editable Rive vectors. A fitted component keeps the complete three-passenger shift visible on different screen sizes.
The palette was revised from warm parchment tones to a colder midnight direction following author feedback. The walkthrough shows the working scene, real source excerpts and the project open in Rive Editor.
Play: https://ghost-customs-dxqzcp.rive.to/