Alyssa Foote
Art Direction & Illustration
Interactive Motion & Game Prototyping
I design and develop interactive stories, prototypes, and motion-driven experiences using Rive, JavaScript, Unity, Godot, and Twine. My work blends illustration, animation, and game logic to create expressive characters, fluid UI, and playful gameplay mechanics.
This page showcases experiments in interactive storytelling, from click-based animation systems to branching narrative games. Each project began as a curious “what if?” and evolved through iteration, persistence, and a lot of trial-and-error. I’m especially drawn to moments where storytelling, code, and animation meet to create weirdness and fun.
Feel free to play more games here
Role: Creative director/tech lead, illustrator, animator, game developer, coder, meme curator
Tech: Rive, Unity, HTML/CSS/JS, Twine, Godot, Adobe CC
The Cat Who Knows
The Cat Who Knows (WIP) features Fortuna, a cat trapped in a fortune telling machine trying to get out by any means possible. I created the narrative design, character design, code, and interactive animations. Initially conceived as a simple experiment with Javascript, I decided to lean more into interactive torytelling, dynamic character design, and gameplay using Rive and Javascript.
Prototyping animations and interactions with Rive
Prototyping gameplay mechanics
To prototype core interactions for The Cat Who Knows, I focused on rapid iteration inside Rive before layering in JavaScript functionality. The initial goal was to test whether a player could click an object and see it respond with movement and animation.
I began with the simplest form: a red square falling on click. It was a simple proof of concept that motion could be controlled via input. From there, I evolved the interaction visually by replacing the square with glowing orb assets, designed and nested inside individual artboards. I tested their placement, animation timing, and transitions.
Once the visual interaction felt expressive, I moved into JavaScript (this was before Rive supported data-binding, very very happy they implemented this!) to trigger state machine inputs manually. I wrote a basic system to detect click targets, register orb taps, and animate them flying back to the UI. This marked a turning point in the prototype and it was finally fun to play. Implementing a timer and counting system made it feel more like a game.
I began with the simplest form: a red square falling on click. It was a simple proof of concept that motion could be controlled via input. From there, I evolved the interaction visually by replacing the square with glowing orb assets, designed and nested inside individual artboards. I tested their placement, animation timing, and transitions.
Once the visual interaction felt expressive, I moved into JavaScript (this was before Rive supported data-binding, very very happy they implemented this!) to trigger state machine inputs manually. I wrote a basic system to detect click targets, register orb taps, and animate them flying back to the UI. This marked a turning point in the prototype and it was finally fun to play. Implementing a timer and counting system made it feel more like a game.



Should a cat be able to shoot lasers out of its face? Signs point to yes.

Concept Sketches
Moodboard

Figma explorations and color experiments

Character Expressions

Early iterations

How it Started / How My Brain Works
This illustration was inspired by an Adult Swim exhibit I saw at ComicCon years ago. You’d wait in a long, winding line just to press a single button on a mysterious machine and if luck was on your side, you’d win a ticket to their after-hours party. (I got a sticker instead.) The whole experience stuck with me. Years later, I finally sat down to draw it. And years after that, as I started learning JavaScript, I decided to turn the idea into a randomized fortune-telling app just for fun. Now, it’s evolved into a fully interactive character you can play with, animated and developed in Rive.


North by North Pole Game
North by North Pole is a surreal, narrative-driven interactive fiction game currently in development. As Creative Director and Technical Lead, I’ve been shaping the visual identity, animation systems, and branching story logic using Twine, Rive, and custom JavaScript. The game blends holiday absurdism with emotional stakes, featuring magical UI elements, reactive animations, and player-driven ornament powers that evolve the narrative.
🕹️ Play the vertical slice here: North by North Pole (password: north)
🕹️ Play the vertical slice here: North by North Pole (password: north)

Icon System
I designed a magical ornament icon system that evolves based on player choice. Each icon represents a unique power, like speaking to animals, traveling through portals, or transforming into Santa. The visual design balances whimsy with symbolic logic, with hover/click interactions revealing deeper lore and character associations. I developed this as a scalable UI mechanic and animated each icon using Rive, integrating them into Twine with real-time state changes.

Character Choices
Characters are central to the emotional arc of the game. I developed each one with distinct visual language, personalities, and dialogue dynamics. Profiles unlock over time and update visually based on in-game decisions. Special guest Petunia, a fast-talking, taxidermied pug sidekick, and she serves as both comic relief and moral compass. The visual system is built for narrative progression and UI cohesion, with assets animated in Rive to reflect character states (e.g., alive/dead, powered up).


Ornament Animation/State Machine Development in Rive
I used Rive to build responsive ornament animations that react to in-game decisions. When a player chooses a narrative path (like the “Santa” arc ) the corresponding ornament transforms in real time, visually signaling the story’s evolution.
These animations were custom-integrated into Twine using JavaScript, making this one of the few interactive fiction projects to seamlessly combine Rive’s state machine logic with branching narrative gameplay.
These animations were custom-integrated into Twine using JavaScript, making this one of the few interactive fiction projects to seamlessly combine Rive’s state machine logic with branching narrative gameplay.
Branching Narrative System
The branching narrative in North by North Pole is driven by player choice, with key decisions unlocking magical ornament powers. Each ornament path leads to different consequences, character interactions, and emotional arcs. For example choosing the “Petunia” ornament path revives your sidekick with chaotic consequences, while the “Santa” arc pushes the player toward an identity transformation. I architected (say that three times fast) the game’s story logic first laying it all out in Miro and then implementing in Twine using SugarCube, with layered variables and conditional states to ensure choices feel meaningful and persistent.
![]()
![]()


Lifting Spirits
Lifting Spirits is a 2D vertical climbing game that was made in two weeks. Our game won third place out of hundreds of other games in the Comfy Game Jam 2026! I worked with a group of very talented people (Table Three Games! Shout out to Max (directing), Leo (sound), Owen (programming), and Jen (narrative)! Serving as the Creative Director and Technical Artist, I was responsible for the entire visual pipeline, from early character concepts to engineering modular tilesets optimized for strict engine constraints. The goal was to create a lush, Ghibli-inspired world that felt vast and ancient, while maintaining extremely tight file size limits and still being really fun to play.



Lifting Spirits
Lifting Spirits is a 2D vertical climbing game that was made in two weeks. Our game won third place out of hundreds of other games in the Comfy Game Jam 2026! I worked with a group of very talented people (Table Three Games! Shout out to Max (directing), Leo (sound), Owen (programming), and Jen (narrative)! Serving as the Creative Director and Technical Artist, I was responsible for the entire visual pipeline, from early character concepts to engineering modular tilesets optimized for strict engine constraints. The goal was to create a lush, Ghibli-inspired world that felt vast and ancient, while maintaining extremely tight file size limits and still being really fun to play.

Art Direction & Environment Design
The visual identity of Lifting Spirits relies on organic architecture and a sense of vertical scale. I hand painted and designed a progression system where the lighting and color palettes shift as the player ascends the Great Tree. The main character Lua ascends from the dark, bioluminescent spore-depths of the ancient roots up to the golden, sun-dappled canopy.

Character Design & Animation
Working closely with the lead narrative designer (Jen Lee, who created the dialogue), my primary goal was to ensure the visual design of each character reflected their specific personality and tone. From the grumpy, negative demeanor of Shrooman to the tsundere, sharp-tongued attitude of Fauna (the flower spirit twin), each design was iterated on to maximize expressiveness within a minimal footprint. I wanted the characters to feel integrated into the environment, using a consistent palette of natural greens, deep purples, and earthy browns, drawing inspiration from the art direction established in the level designs.
![]()

Character Animations and Mechanics
To bring the cast to life while respecting our strict size constraints, I had to be deeply strategic about how to design the artwork and create loop mechanics that didn’t distract from gameplay, felt engaging, and worked with Jen’s narrative design.
Idle Loops: I created subtle but distinct idle animations for all NPCs
Cycles: For the main character, I designed and animated basic walk and climbing cycles.
Technical Art & Pipeline OptimizationIdle Loops: I created subtle but distinct idle animations for all NPCs
Cycles: For the main character, I designed and animated basic walk and climbing cycles.
To meet the jam’s strict 500MB total project limit (and a 200MB cap on individual files) I had to balance high-fidelity 2D illustration with aggressive file optimization.
While I initially explored complex auto-tiling systems, I collaborated with the team to engineer a solution that better preserved the organic, painterly aesthetic. I illustrated the Great Tree as a massive, continuous vertical background and optimized the final export down to a mere 3MB. This provided a seamless, towering canvas for the climb without sacrificing disk space or render performance.
To construct the actual playable pathways, I designed a modular "kitbashing" library. By painting standalone, high-resolution props (like swooping roots, mossy platforms, and bioluminescent flora) I enabled the level designer to rapidly build out walkable surfaces using simple collision boxes, keeping the development agile and the visuals lush.
While I initially explored complex auto-tiling systems, I collaborated with the team to engineer a solution that better preserved the organic, painterly aesthetic. I illustrated the Great Tree as a massive, continuous vertical background and optimized the final export down to a mere 3MB. This provided a seamless, towering canvas for the climb without sacrificing disk space or render performance.
To construct the actual playable pathways, I designed a modular "kitbashing" library. By painting standalone, high-resolution props (like swooping roots, mossy platforms, and bioluminescent flora) I enabled the level designer to rapidly build out walkable surfaces using simple collision boxes, keeping the development agile and the visuals lush.