Pixel-art arcade game · Available on the App Store
VIROPOP
Stop the spread. Find the cure.
Viruses spread across the screen and grow on a timer. Match each one to its antidote before it bursts — pick the wrong syringe and you only feed it. Play Endless mode offline without an account, or take on the Daily Challenge and compete in the daily ranking.
Learn in seconds.
Survive for minutes.
One rule — the right antidote for the right virus — under a clock that never stops tightening.
-
Viruses take hold
New viruses keep spawning in the field. Each grows on its own timer — and pushes its neighbours aside as it swells.
-
Pick the matching antidote
Tap the syringe that matches a virus — same colour, same symbol — then tap the virus to cure it.
-
Never feed the outbreak
A wrong jab surges growth by +25%. The ring of bubbles around a virus is its gauge — when the last quarter burns red, it's about to burst and end the run.
-
Hold out, level up
Every 12 cures the level rises: a third antidote joins the bar, then a fourth, more viruses at once — and less time to think.
Worth chasing
The score is a triage problem: who do you cure first, and what do you risk letting grow?
Cure early, score big
A fresh virus earns 100 base points; one on the brink earns 10, before level and streak bonuses. Letting one mature is a choice, not an oversight.
Streaks grow the bonus
Consecutive correct cures raise your streak bonus, up to a cap — and deeper levels pay more on every cure.
Flawless pays double
Clear a level without a single wrong jab and its bonus is doubled.
Mistakes feed it
A wrong antidote adds 2,500 growth instantly — a quarter of the way to fatal.
Pills fall
Catch a falling colour-clear capsule and it cures every virus of that colour. One drop every 30–45 seconds.
Straight from
the game
Gameplay screenshots — real captures, not mock-ups.
Small game,
real engineering
Built like the rest of the studio's products: one person, the whole stack, nothing it doesn't need.
SIMDeterministic core
Every run is decided by a pure-Dart simulation on integers at 60 ticks a second. Floating point is confined to rendering — a run replays identically anywhere.
1 TREEFlutter + Flame
Built with a shared Flutter codebase for iOS and Android. The game core itself has no Flutter dependency — so the same simulation replays Daily Challenge runs on the server to verify scores.
A11YReadable at a glance
Each virus family has its own silhouette, face and symbol — colour is never the only cue. Safe areas, reduced motion, sound and haptics supported.
2 MODESTwo ways to play
Endless runs offline, no account, on a plane — scores and records stay on your device. The ranked Daily Challenge requires sign-in, and submitted scores are verified on the server.
FR·ENFully bilingual
Complete French and English localisation, following your system language — tutorial and interface included.
NO ADNETKind defaults
No third-party ad network or advertising identifier. Optional usage analytics stay off without your consent; other NKPROD projects only get an occasional card after a run.
Private like the rest of the studio
Endless mode needs no account — scores, records and settings stay on your device. Ranked play requires sign-in; your run is then replayed on the server to verify the score, and the daily ranking shows a game alias, not your address. In builds that include analytics, optional usage statistics stay off until you allow them — events use a persistent pseudonymous identifier, and you can change your mind in the settings at any time.
Available on the App Store
ViroPop is available now on the App Store for iOS; the Android version is in progress from the same codebase. First run: no account, nothing to set up — just Play.
iOS now · Android in progressGet ViroPop on the App Store