A browser and mobile game built in RIVE — whack-a-mole, dystopia, and one very stressed secret agent
An evil AI has seized control of humanity. One agent stands between total subjugation and freedom. Her name is AGENT.
Before she can infiltrate the regime’s final gala and end this once and for all, she has one problem: her skin is breaking out. That’s where you come in.
POPP’EM is a whack-a-mole style browser and mobile game built entirely in RIVE. Players have 59 seconds to pop enough pimples to help AGENT blend in at the event, because even in a dystopia, appearances matter.
The game is earnest about exactly one thing: saving the world. Everything else is negotiable.
The tone is deadpan throughout. The stakes are described with complete sincerity. The absurdity is never acknowledged. The character is named AGENT. These are the choices.
Tension before the game begins is handled by a fake loading screen, designed to let the opening exposition breathe and make players feel the weight of the mission before they’re thrown into it. The loading screen does not load anything. That is the point.
Every game system in POPP’EM is driven by RIVE’s Data Binding. No external scripting layer. No JavaScript game loop. The logic lives inside the file.
A 59-second countdown started and reset entirely through bound state. The clock drives the run and, when it expires, hands off to the result evaluation. The pressure is real.
Each pimple popped increments a bound score value in real time. The counter is visible throughout the run, giving the player a continuous read on their progress against the clock.
Special sound effects fire at key score milestones via Data Binding conditionals. The audio rewards are tied to achievement thresholds, not to time, so skilled players hear the game differently.
Pass and fail states are calculated from bound values at the end of the run. The outcome is evaluated, not scripted. AGENT either walks into the gala or she doesn’t.
Data Binding — case study video
All game assets were built from scratch as vectors in Illustrator: the pimples, the face, the UI elements, the loading screen, the result states. The art is expressive and graphic, doing the tonal work the writing can’t. Everything reads as serious. Nothing winks.
Vectors were imported into RIVE and animated. The state machine manages pimple visibility, pop animations, idle states, and the transition between the loading screen, the game, and the result. Data Binding wires the clock, score, SFX triggers, and win condition logic into a single reactive graph.
The fake loading screen is its own state, held for a fixed duration before releasing into play. The pause is not accidental. It is the mission briefing.
State machine — RIVE editor viewport
All music was composed and produced in Logic Pro. The score sits underneath the action without demanding attention — it maintains the mood of low-grade existential dread appropriate to a planet under AI occupation. The sound design rewards both progress and failure in kind.
The “pop” sound effect was contributed by Joey at School of Motion. It is the most important sound in the game. Special thanks.
The absurdity of the premise is treated as fact. The fiction holds.
POPP’EM is a game about stakes. The stakes happen to be ridiculous, but they are never presented that way. AGENT is a real operative. The gala is a real mission. The pimples are a real problem. The player is the only one who sees the humor, and only because the game refuses to share it.
This is a deliberate compositional choice. Deadpan is not the absence of a point of view. It is a very specific one: a commitment to the bit so total that the gap between the gravity of the delivery and the absurdity of the content becomes the content. The game does not tell you it’s funny. It tells you the world is ending.
The loading screen does the most work. It holds. It waits. It takes the mission seriously so the player has to decide whether they do too.
Mechanically, POPP’EM is a solved genre. Whack-a-mole is one of the oldest interaction patterns in games. The choice to use it here is not naive — it is load-bearing. The simplicity of the loop keeps the player from thinking about anything except the clock and the face. Which is, more or less, the situation AGENT is in.
POPP’EM was selected as a featured project on the Contra homepage following its submission to the RIVE Game Challenge. AGENT saved the world. The complexion held.
The game was submitted to the Contra RIVE Game Challenge as a browser and mobile experience. The submission was accompanied by a documentation video covering the game’s features, fiction, and Data Binding implementation.