Fluffernutter
A cozy desktop companion — a pair of pixel-art bunnies that live on your desktop, going about their day in real time while you tend to them.
Developed by Engine Room
Overview
Fluffernutter is a desktop companion: a small, always-on-top window in the corner of your screen where two bunnies — Cadbury and Caramilk — live in a cozy bedroom. They hop around, graze, drink, dig into a tunnel, do midnight zoomies, and flop on the rug. You keep their hay topped up, their water clean, and their litter box fresh, and in return you get a little pocket of warmth in the middle of the workday.
There's no account, no login, no feed. You install it and the bunnies are just there — quietly getting on with their lives whether you're watching or not. The entire scene — every bunny, every plank of floor, the drifting clouds outside the window — is drawn from code as blocky pixel art. There isn't a single image file in the project.
The problem it solves
The goal was to make something that felt alive rather than interactive — a companion you glance at, not an app you operate. That set three design constraints up front.
It has to feel like its own little world: the bunnies should behave believably even when no one is touching anything — resting in the evening, playing in the afternoon, napping, snacking, keeping a polite distance from each other.
It has to respect real life: their rhythm should track the actual time of day, and time should keep passing when the app is closed, so coming back always tells a small story. And caretaking should be gentle, never a chore — the interactions are tiny and tactile: a click to refill, a hover to tidy up, a click to get a happiness-boosting pet.
How it works
A living daily rhythm
The bunnies run on a behaviour state machine driven by both their needs and the real-world clock. A 'calm factor' derived from system time shifts how they spend their day: lively and playful in the afternoon, winding down into flopping, grazing, and sleeping through the evening and night. The room's lighting shifts with it — a full day-to-night cycle with a sun, a moon, drifting clouds, and a star field, all keyed to the actual hour. On top of that they keep believable routines: a nap roughly every fifteen minutes, regular meals and drinks, trips to the litter box, and daytime play sessions.
Caretaking, reduced to gestures
Hover to tidy: poops and stray hay are gathered just by sweeping the cursor over them — carry up to ten bits, then click the compost to tip them in. Click to tend: the water bowl, hay manger, and litter box each open a small action menu, with timothy-or-alfalfa hay, murky water that needs cleaning, and a litter box to scoop or re-bed. Click to pet: tap a bunny and it does a happy little hop with hearts. Health and happiness meters sit at the top, and a notification — plus a native desktop alert — surfaces only when something genuinely needs attention, with cooldowns so it never nags.
Time that keeps passing
The game saves to disk, and when the app is closed the simulation keeps running against the clock. Reopen it after a few hours and the bunnies are hungrier, the floor is messier, and a 'while you were away' summary greets you. Long absences are capped so nothing ever becomes grim — you're never punished for living your life.
Everything is drawn, nothing is loaded
All artwork is procedural pixel art rendered to a Canvas every frame — the bunnies, the furniture, the toys, the room. Each bunny is composed from a bold outline pass and coloured fills in an art-unit coordinate system, giving them a real animation vocabulary: hopping, running, eating, drinking, sleeping, flopping on their back paws-up, loafing into a round 'cookie', and sprawling flat in the tunnel with their feet poking out both ends. Because there are no sprite sheets, adding a new pose is just more drawing code.
Engineering choices — and why
Results
Craft & engineering
- Zero image assets — every bunny, prop, and cloud is drawn from code to a Canvas each frame.
- Path planning verified with a simulation harness over a thousand tunnel crossings — zero walk-throughs.
- Self-contained desktop app: tray presence, always-on-top toggle, native notifications, one-command installers for macOS and Windows.
The little things
- A sleeping bunny floats lazy 'Z's — and half the time a thought-bubble drifts up with a dreamed-of carrot inside.
- Weather is clipped to the window pane, so clouds slide out of view at the frame instead of leaking into the room.
- Two bunnies piling into the bed make the cushion plump up and curl at the edges.
A calm, characterful little world that rewards a glance, asks for almost nothing, and keeps living whether you're looking or not — no engine, no asset pipeline, just code that draws bunnies, and bunnies that behave like bunnies.
Want something like this built?
Start a project