A cozy, non-violent platformer for little explorers (ages 3–7). Your kitten wakes up alone in the Cat House: a big gloom cloud has sent the whole family wandering off. Head out of the front door and round a ring of twelve hand-built biomes, blowing friendship bubbles to cheer up gloomy animals (and a few bugs), and slide home at the end for a big homecoming party. At the end of every zone waits a big, very sad boss, each with its own silly animal moves and its own arena: dodge their slow, simple "sad attacks", then bubble them happy to open the way on. Solve picture puzzles made for five-year-olds, snack on fishy treats, learn twelve hidden cat tricks, and find the kittens' twelve lost family members along the way. A grown-up picks how brave the adventure is: on Easy, bumping into sad things just boings the kitten back; on Hard, it makes the kitten a little sadder, and a kitten who gets too sad pops back at the latest save point. There's no game over, and nothing in the game needs to be read. A full adventure is a long one, so plan on an hour or more for a young player.
Formerly called Bubblebug. Saves from the Bubblebug version carry over automatically.
Windows: double-click Play Bubble Paws.exe (or double-click index.html).
Mac / Linux / tablets: open index.html in Chrome, Edge, Safari or Firefox.
Online: enable GitHub Pages (Settings → Pages → deploy from main, / (root)).
There's no install, no Node.js and no build step. Everything, sound included, is generated in the browser.
| Action | Keyboard | Gamepad | Touch |
|---|---|---|---|
| Move | ← → or A D | D-pad / left stick | big ◀ ▶ buttons (slide your thumb between them) |
| Jump (hold = higher) | Space, ↑, W | A / Y | green ⬆ button |
| Blow a bubble | X, Z, J, E, Shift | B / X / bumpers / triggers | blue bubble button |
| See-through map (keep playing) | M or Tab | Select / Back | map button, top-right |
| Pause / home | Esc or P | Start | round pause button, top-right |
| Do a cat trick (once you've found one) | ▼ or S | D-pad down | orange paw button (appears after the first trick) |
Touch buttons appear automatically on tablets and touchscreens.
On tablets and phones, Add to Home Screen (when the game is served online) installs it as a full-screen app called Bubble Paws, with the same icon as the Windows launcher.
The title screen has two big picture buttons:
- ▶ Continue (green) goes straight back into the saved adventure, with the kitten it was saved with. A small tally beside it shows the saved stars, friends and family found. With no save yet, Continue is greyed out and does nothing.
- 🌱 New Game (pink) goes to kitten select. If an adventure is already saved, a picture check pops up first: the saved kitten and its tallies crossed out, a green ✓ (erase it and start fresh) and a pink ✗ (keep it). Nothing is erased unless ✓ is chosen.
Use ◀ ▶ and jump to choose, or tap/click.
In the bottom-right corner is a little grown-up picker for how brave the adventure is: 💗 Easy (a heart safe in a bubble) or ☀ Hard (a sun with a rain-cloud creeping up). Tap one, or press ▼ then ◀ ▶ (▲ goes back up). Easy is the default. The choice is remembered on this device and applies to Continue and New Game alike, so it can be changed at any time from the title screen (pause → home).
Both kittens are painted from photos of two real cats:
- Marshmallow, a fluffy cream Birman kitten. She has warm taupe points on her ears, mask and plume tail, a dark little nose, snowy white "gloves", and sapphire-blue eyes. Her bubbles are lilac and pink with a trail of tiny hearts. She loves a big sleepy yawn.
- Phoebe, a patchwork tortoiseshell-tabby. Phoebe has chocolate and ginger patches with tabby stripes, a white bib and paws, a ginger cheek and bright green eyes. Phoebe's bubbles are honey-gold and mint with a sprinkle of stars. Phoebe twitches an ear, licks a paw, and does a wiggly pounce-crouch.
Both move the same way. They differ in voice (a synthesized mew), idle habits and bubble style.
The kingdom is a ring with the Cat House in the middle. Out of the front door, the first six zones run east along the bottom of the ring. At the far end, the 🌈 Rainbow Lift in Cloud Castles carries you up to the Coral Lagoon, and the next six zones run back west along the top. At the very end, the 🌈 Rainbow Slide at the top of Starlight Sky whooshes you all the way home through the Cat House skylight.
Every zone has about six rooms, gloomy critters, sparkles, a picture puzzle, a hidden toy, cozy benches, a cat flap home and, at its far end, a boss to cheer up. Ten of the zones also have an elder with a new power. Each new power opens the way to the next zone, and many earlier corners too.
| Zone | What happens there | Elder's gift |
|---|---|---|
| 🌼 Sparkle Gardens | Tutorial: hops, a gloomy bunny to cheer up, a harmless pond, a cozy bench, a secret inside a hill | – |
| 🍄 Mushroom Meadow | Bouncy toadstools up to the glowing grove | 🦋 Double Jump |
| 💎 Crystal Caverns | A gentle drop down the Old Well into cozy-dark caves | 🐌 Sticky Paws (wall climb) |
| 🍯 Honeycomb Hive | Climb the golden tower | 🪲 Glow (wakes glow-petal bridges) |
| 🌧 Rainy Ruins | Soft rain, broken towers, wide pools | 🌸 Dandelion Float (hold jump to drift) |
| ☁ Cloud Castles | Breezy updrafts, sky bridges, and the grumpy Cloud King. Once he smiles, the Rainbow Lift carries you up to the lagoon | – |
| 🐚 Coral Lagoon | Sunny beach, tide pools, a deep kelp forest and a sunken ship | 🐢 Swim (a bubble helmet: hold jump to paddle up, leap out like a dolphin) |
| 🌵 Sunny Dunes | Sandstone canyons under a huge sun | 🐢 Mighty Paws (cracked sandstone crumbles at a touch) |
| ❄ Frosty Peaks | Snowy pines and glassy ice walls too slippery to climb | 🐇 Spring Paws (a much bigger jump) |
| 🍁 Autumn Woods | Falling leaves and sleeping fairy rings | 🦡 Fairy Rings (step in one, pop out of its matching twin) |
| 🏮 Moonlit Springs | Bamboo, lanterns and steamy pools | 🦦 Bubble Bounce (press bubble in mid-air to spring off a bubble) |
| 🌙 Starlight Sky | Crystal grass under the stars, and the tall Starfall Shaft | 🐋 Star Wings (keep tapping jump to flap higher and higher) |
At the very top of the Starfall Shaft, just past the Moon Rabbit, is the 🌈 Rainbow Slide home. That's the end of the adventure (see The Cat House below).
The map isn't a single line. Side passages, high walkways, shy walls, underwater tunnels and fairy rings branch off the main path. Some can only be reached with a power from a later zone, so it's worth going back.
The adventure starts at home, and nobody's there. The kitten wakes on its bed, stretches, and wonders where everyone went (a thought bubble shows three grey "?" faces) while a big gloom cloud drifts past the window. Around the house are the empty cushions, twelve empty picture frames on the family wall, cat trees to climb and a door hall upstairs. The way out is always clear: until you've been out once, the big front door glows with sunbeams under a bouncing arrow, big glowing paw prints lead from the bed to it, and if the kitten waits, a sparkle flies over to show the way.
- Easy to spot. Every way home glows: a column of light with sparkles rising, a bobbing house sign on top, and a bouncing arrow over any flap you haven't reached yet. Come close to a flap, a door, the lift or the mirror and a dotted paw ring shows where to stand still. Once you've used one, its arrows and rings go away (the glow stays).
- Cat flaps. Every zone has two cat flaps: one near its start (in Sparkle Gardens it's the garden gate) and one in its boss arena, by the way on. The boss's flap stays shut (grey, with a vine across it) until that boss is happy again.
- Cheering up a boss opens the next door. The moment a boss is happy, the Cat House door to the next zone opens by itself, and glows with a bouncing arrow until you've been through it. Walk past one and that zone's door lights up in the Cat House's door hall; stand in a flap for a moment (a golden paw ring fills up) and you pop home, right next to that door. Stand in a lit door to go back out: it always takes you to the furthest flap you've reached in that zone, so after a boss fight you come straight back to the boss. So you can always nip home, and go back to any zone you've reached.
- The door hall. Each zone's door is dressed as its zone: painted in its colours, trimmed with its flowers, crystals, honey, shells, icicles, leaves, lanterns or stars, with a round window onto its sky and its big emblem on a sign on top. Doors to zones you haven't reached yet are grey and shut. The door to the zone you were in last glows, sparkles and has a bouncing arrow over it.
- The front door is Sparkle Gardens' door: it leads out to the garden gate (or, once you've reached it, the flap by the Grumpy Goose).
- Family come home. Each family member you find hops off home. Their frame on the family wall fills in with their face, and next time you're home they're napping on their own cushion (and wake up for a cuddle when you come close). Your own Mama waits by the front door.
- The homecoming party. Slide home down the Rainbow Slide and the party starts in the living room. Only the family you actually found come: they dance in a ring around your kitten (the grannies sway, the babies bounce). Every friend you made floats in on a little cloud, and every boss you cheered up waves from the landing upstairs. Then a big card fills in the family frames one by one and shows how many you found, like 9 / 12. Find all twelve and the card turns rainbow, with extra fireworks. Afterwards you can keep playing and go back out for anyone you missed.
- Dressing up. Every boss you cheer up gives your kitten a present to wear, and the newest one goes straight on: the goose's bonnet, a mushroom hat, a crystal tiara, a honey crown, a unicorn horn (from the elephant: it turns your kitten into a unicorn!), a cloud collar, a sailor hat, a sun hat, a bobble hat, a stripy scarf, a sleepy nightcap and bunny ears. Stand still at the big pink-and-gold mirror in the living room (it has a floating hat sign, and glows gold with an arrow when a new present is waiting) to try them all on (one hat and one neck thing at a time). Presents still to find show as grey "?" shapes.
- Toys come home too. Every hidden toy you find turns up somewhere in the house: the yarn ball on the rug, the jingle bell hanging from a cat tree, the paper boat on the windowsill, the star cushion on the sofa… Walk into one to bat it about and hear its own sound. The spots for toys you haven't found yet show a faint outline.
- The house has its own gentle music-box tune. The party tune plays only while you're at the party; step out of the house and the music changes with you.
Twelve of Marshmallow's and Phoebe's relatives are hidden, one in each zone, down a secret side passage or walkway. Each one is napping on a cushion; come close and they wake with a happy mew and a shower of hearts, then hop off home to the Cat House. A cat face on the HUD counts how many you've found, and a cat face on the map marks where.
| Zone | Who's hiding there | Zone | Who's hiding there |
|---|---|---|---|
| Sparkle Gardens | Marshmallow's Mama | Coral Lagoon | Marshmallow's big sister (in the sunken ship) |
| Mushroom Meadow | Phoebe's Mama | Sunny Dunes | Phoebe's big brother (behind the sandstone) |
| Crystal Caverns | Marshmallow's Papa | Frosty Peaks | Marshmallow's baby brother |
| Honeycomb Hive | Phoebe's Papa | Autumn Woods | Phoebe's baby sister (through a fairy ring) |
| Rainy Ruins | Marshmallow's Granny | Moonlit Springs | Marshmallow's Grandpa (through a fairy ring) |
| Cloud Castles | Phoebe's Granny (on the Star Balcony) | Starlight Sky | Phoebe's Grandpa (in Comet Nook) |
Marshmallow's family are Birmans and Siamese-pointed cats in cream, lilac and chocolate. Phoebe's family are tabbies, torties and a calico. Grannies and grandpas wear glasses, and the babies are tiny.
| Zone | Who needs cheering up |
|---|---|
| Sparkle Gardens | bunny, hedgehog, bluebird, ladybug |
| Mushroom Meadow | frog, mouse, caterpillar, beetle |
| Crystal Caverns | mole (with a tiny miner's lamp), bat, pillbug, beetle |
| Honeycomb Hive | bear cub (hugging a honey pot), bee, beetle |
| Rainy Ruins | owl, turtle, duckling, spider, snail |
| Cloud Castles | lamb, bluebird, moth |
| Coral Lagoon | crab, seal, jellyfish, clownfish |
| Sunny Dunes | fennec fox, meerkat, lizard, scarab beetle |
| Frosty Peaks | penguin, polar bear cub, arctic fox, owl |
| Autumn Woods | squirrel, fawn, raccoon, hedgehog |
| Moonlit Springs | capybara (with an orange on its head), snow monkey, koi |
| Starlight Sky | baby dragon, unicorn, bunny, lamb, bat |
Bunnies and frogs hop, birds, bats, owls and bees flutter, fish and jellyfish swim, spiders dangle on silk, and everyone else waddles. Every friend you make comes to the rainbow party.
The world has 83 interconnected rooms (the Cat House included), 680 sparkles, 65 gloomy critters, 12 bosses, 12 picture puzzles, 12 cat tricks, 70 fishy treats, 13 food bowls, 25 cozy benches (your own bed at home among them), 24 cat flaps (two per zone), 12 family members and 12 hidden toys (yarn ball, feather wand, jingle bell, toy mouse, paper boat, star cushion, seashell, sand bucket, mitten, kite, rubber duck, toy rocket). There are also guide fireflies, music flowers, sleepy buds that open vine gates when bubbled, and shy walls you can walk right through.
Grass and flower tufts bend as your kitten brushes past, then spring back. Paw prints press into snow and sand and slowly fill back in, crunchy leaves kick up in the Autumn Woods, water ripples wherever you splash, underwater light dances in the Coral Lagoon, and soft light shafts slant down in the sunny and moonlit zones. Bosses squash and stretch, wind up before every move, and warm from grey to full colour as their clouds pop. Lost babies and the golden key follow your kitten's exact path.
A little gentle danger, never a game over. How much is up to the grown-up picker on the title screen:
- 💗 Easy (the default): bumping into a gloomy critter or a boss's sad attack just knocks the kitten back with a silly boing. No suns are lost and nobody ever gets too sad; the top-left shows the kitten with a heart safe in a bubble. Tumbling into water or mist still floats you back to safe ground on dandelion fluff.
- ☀ Hard: everything below.
On Hard:
- Four happy suns sit next to your kitten's picture at the top-left. Bumping into a gloomy critter, getting caught by a boss's sad attack, or tumbling into water (before you can swim), sky-mist, steam or the starry void costs one sun. The kitten bounces back with a soft ouch and blinks for a moment, and nothing can make it sadder while it blinks.
- Too sad? With no suns left, the kitten sits down for a little cry, the picture closes into a circle, and it pops back at the latest save point with all four suns shining again. Everything collected stays collected, and a boss remembers every gloom cloud you already popped.
- Save points are everywhere: the first safe spot you stand on in each new room lights a little paw-print lantern, and sitting on a cozy bench saves too. Every boss arena has a bench right by its door.
- Cheering back up: a fishy treat or making a new friend gives a sun back. A food bowl, a nap on a cozy bench, finding a family member, getting an elder's gift or cheering up a boss fills every sun again.
As the suns run out, your kitten shows it: ears droop, brows tilt and the smile turns into a wobbly frown, so even a non-reader can tell when it's time to be careful.
Twelve cat tricks are hidden around the kingdom, one in each zone, each inside a golden paw bubble. Touch one and your kitten learns the trick: a little card shows it doing the trick next to the button that does it. After that, press ▼ (S, a gamepad's D-pad down, or the orange paw button on a touchscreen) and your kitten does a trick. Each press does the next trick it knows, round and round. The tricks are just for fun; moving, jumping or blowing a bubble stops one straight away, and a paw with a count at the top shows how many you've found. Press ▼ before finding any and your kitten wonders about it in a little "?" thought bubble.
| Zone | Trick | Zone | Trick |
|---|---|---|---|
| Sparkle Gardens | 👋 a big paw wave (and a mew) | Coral Lagoon | 👅 a blep: just the tip of the tongue |
| Mushroom Meadow | 🐾 wiggle wiggle… pounce! | Sunny Dunes | 🌀 chasing its own tail |
| Crystal Caverns | 😌 a slow blink, the way cats say "I love you" | Frosty Peaks | 🍞 a cozy bread-loaf tuck |
| Honeycomb Hive | 🍪 making biscuits (kneading, purring) | Autumn Woods | 🧼 a paw-lick face wash |
| Rainy Ruins | 🤧 ah… ah… achoo! | Moonlit Springs | 🙆 a big stretch and a yawn |
| Cloud Castles | 🔄 a roly-poly roll | Starlight Sky | 💃 a hoppy happy dance |
The Sparkle Gardens trick waits right on the main path, so every young player learns ▼ early. The others are tucked up high, at the tops of shafts, towers and ledges, and some are only reachable with a later power, which is a good reason to go back.
Snacks are dotted all over the kingdom: 70 fishy treats (golden fish biscuits bobbing over the ground, often on a ledge worth a jump) and 12 food bowls (one per zone, heaped with kibble and a fish on top). Walk into one and your kitten munches it: crunchy nom nom sounds, chubby chewing cheeks, a lick of the lips and a shower of crumbs.
- On Hard, a treat brings back one happy sun and a bowl brings back all of them.
- On Easy, they're just for fun: hearts float up and the heart in the corner gives a happy squeeze.
Snacks always come back: a treat pops back after half a minute (or as soon as you leave the room), and an empty bowl slowly fills up again. In every boss fight, each gloom cloud you pop also bounces a treat out onto the floor, on your side of the arena. Every arena has two treats of its own as well.
The big moments have their own sounds, and a friendly voice says what happened, so nobody needs to read. It uses the device's own speech voice, works offline, and stays quiet when the sound is off.
- Family found: a warm reunion tune, both cats mew, and the voice says "You found Phoebe's Mama!".
- Toys: every toy has its own sound, both when found and when batted at home: a jingling bell, a squeaky mouse, a tooting boat, a quacking duck, a whooshing rocket, the sea in a shell… The voice says "A jingle bell!".
- Bosses: a cheered-up boss says so in its own animal voice (a honk, a ribbit, a trumpet, a lion-cub rawr, moo, ork-ork…) over a happy fanfare, and the voice says "Hooray! The goose is happy!". Then its present pops up: "You got a goose bonnet!".
Every zone ends in an arena with a big animal having the saddest day ever. Nobody is mean; their sadness just spills out as slow, silly "sad attacks" that suit the animal, and every one is shown before it happens. Each boss has its own arena too. The rhythm is always the same, so little players learn it fast:
- Wake up. Walk in and a picture card shows the plan: sad boss → bubbles → happy boss.
- Dodge. The boss winds up with a clear wiggle, then does one sad attack (see the table). Things that fall show a growing shadow first, hops and dives show a ring where they'll land, and the toad's tongue shows a dotted line.
- Bubble! Every attack ends with the boss stuck or sitting down to sniffle: slipped in the mud, dizzy, stuck in its own honey, antlers caught in a tree, dozing off… A golden glow around the boss means now. A few bubbles pop one of the gloom clouds over its head, and the colour creeps back into its fur.
On Easy a sad attack only bumps the kitten back; on Hard it costs a happy sun (see above). Pop every cloud and the boss dances under a rainbow in a shower of confetti and hearts, the vine gate opens, and a brand-new friend will come to the party. A picture of the boss and its row of clouds sits at the top-right during the fight, so you can see how close you are.
| Zone | Boss and arena | Sad attacks to dodge | When to bubble |
|---|---|---|---|
| 🌼 Sparkle Gardens | the Grumpy Goose, in a blue bonnet · Pond Garden | waddles after you, flapping (lead her past the mud puddle!) · drifting feathers · a honk that ripples along the ground | she slips in the mud, or sits down puffed out |
| 🍄 Mushroom Meadow | the Toadstool Toad · Mushroom Ring (bouncy toadstools) | a tongue flick (a dotted line shows where) · belly-flops right where you're standing · bouncing spore balls | tongue tied in a bow |
| 💎 Crystal Caverns | the Crystal Armadillo · Crystal Bowl | curls up and rolls round and round the bowl (wait it out on a ledge) · falling crystals | dizzy, with stars going round |
| 🍯 Honeycomb Hive | the Queen Bee · Honeycomb Tower | hovers over you and dives (her shadow shows where) · little drones that drift after you · honey drips | stuck in her own honey |
| 🌧 Rainy Ruins | the Weepy Elephant · Rainy Courtyard (stone pillars) | floods the courtyard (hop up on a pillar till it drains) · a stomp that ripples both ways · trunk sprays that arc over | sitting soaked in a puddle |
| ☁ Cloud Castles | the Cloud King, a lion cub with a cloud mane · Windy Cloud Top | huffs and puffs a great gust that blows you back · cloudlets that drift after you · a rain shower that follows you | out of puff |
| 🐚 Coral Lagoon | the Grumpy Octopus · Shipwreck | tentacles pop up through holes in the deck (bubbles fizz first) · ink clouds that drift after you · a splashy slap both ways | arms tied in a knot |
| 🌵 Sunny Dunes | the Sulky Camel · Oasis Dunes | sandy spit that arcs over · a sandstorm that blows you back, with sand waves · bouncing on its humps | sulking with its back to you |
| ❄ Frosty Peaks | the Glum Walrus, in a bobble hat · Frozen Pond | a belly slide across the ice… straight into the crack · bouncing snowballs | stuck halfway through the ice |
| 🍁 Autumn Woods | the Mopey Moose, in a stripy scarf · Great Oak Clearing | charges the big oak (hop up on a branch) · falling acorns | antlers stuck in the tree |
| 🏮 Moonlit Springs | the Sleepy Panda · Bamboo Grove | sleepwalks after you · floating snore bubbles (pop them!) · bamboo that arcs over | dozing off, snoring |
| 🌙 Starlight Sky | the Moon Rabbit · Moon Garden (with the Earth in the sky) | huge floaty moon hops · bouncing mochi · slow falling stars | pounding mochi, puffed out |
The first two bosses have only two clouds to pop. Later ones wind up a little quicker, and the Moon Rabbit, the last of all, needs an extra bubble per cloud. The music switches to a bouncy boss tune during every fight.
Each zone has a little brain-teaser that opens a vine gate. The gate wears a picture sign that shows exactly what it's waiting for, and ticks each part off as you do it:
- 🐾 Paw pads: step on every glowing pad. Each one lights a paw on the gate's sign.
- 🐣 Lost babies: touch a lost baby and it hops along behind you. Bring them all home to Mama; her thought-bubble shows who's still missing.
- 🔑 Key and keyhole: the golden key floats after you. Bring it to the keyhole with the same shape (it can be a room or two away).
- 🔔 Song bells: the bluebird on the singing stone sings a tune, and a coloured note flies to each bell in turn. Bubble the bells in the same order. A wrong bell just makes the bird sing it again.
| Zone | Puzzle | Zone | Puzzle |
|---|---|---|---|
| Sparkle Gardens | 🐾 two paw pads | Coral Lagoon | 🐣 three baby turtles |
| Mushroom Meadow | 🐣 three baby frogs | Sunny Dunes | 🔑 key and keyhole |
| Crystal Caverns | 🔑 key and keyhole | Frosty Peaks | 🐣 three penguin chicks |
| Honeycomb Hive | 🔔 song bells | Autumn Woods | 🐾 three paw pads |
| Rainy Ruins | 🐣 three ducklings, scattered through the ruins | Moonlit Springs | 🔔 song bells |
| Cloud Castles | 🐾 three paw pads | Starlight Sky | 🔑 key and keyhole |
- No reading, anywhere. Arrows on signposts, fireflies that zip the right way, zone emblems, and an animated card for each new power. The card shows a tiny kitten doing the move while the matching button pulses in time.
- Gentle danger, never a game over. On Easy (the default) bumps are just a silly boing. On Hard, sad things cost a happy sun, and a kitten who gets too sad just pops back at the latest save point with every sun back (see Easy or Hard). Falling into water (before you can swim), sky-mist, hot-spring steam or the starry void makes dandelion fluff float you back to safe ground.
- Bosses teach a rhythm. Every sad attack is slow and shown in advance (growing shadows, landing rings, dotted lines, a wind-up wiggle), and the "bubble now!" moment is always the same: when the boss is stuck or sniffling and glows gold.
- A home to come back to. The Cat House is safe, cosy and never far away: every zone has a cat flap home.
- Puzzles in pictures. Every puzzle gate shows what it's waiting for and ticks it off as you go. No puzzle can get stuck: babies and keys follow you everywhere (even after a too-sad pop-back), and a wrong bell just replays the tune.
- Friendship, not fighting. A gloomy critter carries a little rain-cloud over its head. Each bubble shrinks the cloud and lifts its frown (a sad bunny's ears even perk back up). The last bubble wraps it in a big bubble that pops into a rainbow, and it becomes a dancing friend.
- Forgiving movement. Coyote time, jump buffering, ledge assist (arrive a bit low and you're popped up), corner slip on head-bonks, variable jump height, and bubbles that gently home in on their target.
- Cozy benches. Stop on one and your kitten curls up, purrs, and the music turns into a lullaby. The game also autosaves on every room change, so nothing is ever lost.
- The map button (top-right, next to pause; or M, Tab, or a gamepad's Select) floats a see-through map over the game while you keep playing. It's centred on your kitten and shows every visited room in its zone colour, benches, earned powers, a ★ on rooms with every sparkle found, a toy where you found one, a cat face where you found family, each boss (under a rain-cloud until cheered up, then with a heart), dotted lines between fairy-ring twins, and a little house on every cat flap you've found. Press it again to hide it.
- Pause (top-right button, Esc or Start) has four picture buttons: keep playing, sound on/off, the kingdom map on parchment, and home (back to the title screen).
- The kingdom map always stays at the same comfortable zoom and opens centred on your kitten. Browse it with ◀ ▶ ▲ ▼ held down, by dragging it with a finger or the mouse, or with its big orange arrow buttons (tap to glide, hold to keep going). Every zone you've explored has a name tag, the Cat House sits in the middle, and a small map of the whole ring at the bottom shows the part you're looking at; tap it to jump there. Close it with ✕, Space, the bubble button, Esc or M.
- Easy or Hard: the little picker in the title screen's bottom-right corner (💗 Easy is the default). To switch mid-adventure: pause → home → pick → ▶ Continue.
- Start fresh: choose 🌱 New Game on the title screen, then ✓.
- Old PCs: if frames get slow, the game automatically lowers its render resolution.
Plain HTML5 Canvas and Web Audio in classic <script> files. ES modules are avoided on purpose, because browsers block them from file:// and that would break double-click play.
index.html entry point (script load order = dependency order)
Play Bubble Paws.exe Windows one-click launcher (wears the game icon)
icon.png Game icon (Marshmallow & Phoebe in a bubble), web favicon & home-screen icon
manifest.webmanifest lets tablets "Add to Home Screen" as a full-screen app (when served online)
css/style.css letterboxing, touch buttons, map & pause buttons
js/core/ bb.js (namespace & math) · config.js (all tuning) · input.js (keys/pads/touch)
audio.js (synth voices & SFX) · voice.js (spoken lines) · music.js (adaptive layered score) · save.js
js/world/ zones.js (biome palettes) · world.js (room grid & tile queries)
js/world/rooms/ home (the Cat House) · gardens · meadow · caves · hive · ruins · clouds · lagoon
dunes · frost · autumn · springs · starlight (ASCII room maps)
js/engine/ physics.js (pure movement) · camera.js · particles.js
js/render/ gfx · kittens (+ family, sad & crying poses) · critters · bossart (the 12 bosses) · tiles
backdrops (parallax) · lighting · fx (grass, paw prints, ripples, light shafts) · hud · mapview
home (the Cat House) · arenas (each boss arena's scenery)
js/entities/ player · bubbles · bugs (all gloomy critters) · bosses (sad attacks & cheering up)
puzzles (paw pads, lost babies, keys, song bells) · food (treats & bowls) · gestures (cat tricks)
wardrobe (things to wear, from the bosses)
links (cat flaps, Cat House doors, the Rainbow Lift) · things (sparkles, benches, elders, the slide…)
js/scenes/ title (Continue / New Game) · select · play (suns, save points, travel, bosses, party)
play-home (the dressing-up mirror, presents, toys at home) · pause (+ map)
js/main.js fixed 60 Hz loop, scene switching, adaptive quality
tools/ verify-world.js + dev playtest/screenshot helpers (optional, need Node)
tools/launcher/ Launcher.cs + icon.ico: source of Play Bubble Paws.exe (see the note at the top of Launcher.cs)
- One continuous world grid. Rooms are placed at world coordinates (Hollow-Knight style), so walking off any edge leads straight into the neighbouring room, and the camera glides across.
- Pure physics.
BB.Physics.step(body, input, abilities)has no side effects, so the same code runs in the game and in the verifier. - Adaptive music. Each biome has an 8-bar song in layers (pad, bass, lead, arpeggio, percussion, twinkles). Running swells the arps and percussion, benches fade to a music box, a new friend adds a twinkle layer, dark caves warm the mix, and boss arenas get their own bouncy tune.
- Saves. Progress lives in the browser's local storage and is written on every room change, save point, friend and gate. The Easy/Hard choice and sound on/off are kept separately, as settings for the device. Older saves are moved over automatically: nothing is lost. From before the boss arenas, any new boss or puzzle gate the kitten had already walked past starts open (those bosses are still there to cheer up). From before the ring, everything collected is moved to its room's new place, and every zone already visited has its door in the Cat House.
node tools/verify-world.js # ~23 minutes on 4 cores, exit code 0 = all good
node tools/verify-world.js --stage 10 # just one story stage (0 = start … 10 = the slide home)
node tools/verify-world.js --map g3 # also print a room with reachable air marked •
The verifier loads the real game modules and simulates hundreds of button patterns from every reachable standing spot using the game's own physics: walks, hops, run-ups, mid-air steering, double jumps, wall kicks, glides, deep-water swims (paddle up, then steer), bubble bounces, star-wing flapping, and fairy-ring hops. It also follows the links: every cat flap home, each Cat House door (only once one of its zone's flaps has been found in the same search, and only to the furthest flap found), the front door, the Rainbow Lift both ways and the Rainbow Slide. The eleven story stages (no powers → Double Jump → … → Star Wings → the slide home) run in parallel on all CPU cores. It checks all of the following:
- each elder and the Rainbow Slide home are reachable with the powers you'd have at that point;
- from every reachable spot the next goal is still reachable (the gentle rescue from water, mist and steam is modelled too);
- every boss and puzzle gate you can walk up to opens: the boss can be reached and bubbled where it sits to sniffle, every paw pad can be stepped on, every lost baby can be walked home to Mama, the key can be carried to its keyhole, and every bell can be bubbled. Gates open mid-search as their wishes come true, and the search carries on through them;
- every power gate holds: rooms marked
needs:a power can't be reached before you have it; - with all powers, every spot can travel back home (free backtracking) and every gate in the kingdom can be opened;
- every sparkle, toy, bench, flower, firefly, critter, family member, boss, puzzle piece, snack, cat trick, cat flap and lift can be reached, and every bud can be bubbled.
Gates stay open once opened (the save remembers), so a stage that starts in a later zone begins with every gate behind it (along the ring) already open; the earlier stages prove each of those gates can be opened on the way. The boss moves themselves don't change the map, and every arena's way on is plain floor and ledges.
A too-sad pop-back only ever returns the kitten to a spot it has already stood on, which it left using its own moves, so the happy suns can't create a softlock either.
Before any of that, a quick map check makes sure every pool has a floor and walls, so once you can swim, water is safe everywhere (no pool may sit over mist or the edge of the world).
Current result: ✓ all eleven story stages pass with zero softlocks (83 rooms · 680 sparkles · 65 gloomy critters · 12 toys · 12 family members · 25 benches · 12 bosses · 12 puzzles · 70 treats · 13 food bowls · 12 cat tricks · 24 cat flaps).
Rooms are ASCII maps in js/world/rooms/*.js (see the legend at the top of js/world/world.js). Terrain: # ground, - one-way ledge, M bouncy mushroom, ~ water, % sky-mist / steam / starry void, ^ updraft, : glow-petal, H shy wall, G vine gate (opens when the room's buds bloom, its boss is cheered up or its puzzle is solved), I ice (too slippery to climb), X cracked sandstone, 1–9 fairy rings (each digit appears exactly twice). Things: * sparkle, b/c critters (each zone's cast in js/world/zones.js decides which animals they become), B bench, E elder, f firefly, R L U D signs, T toy, n music flower, o bud, K Cloud King, Q boss (the room's boss: field says who), & family member, F the Rainbow Slide home, S start. Links: h a zone's cat flap, u/v the two ends of the Rainbow Lift (the Cat House's doors and skylight are listed in its room, js/world/rooms/home.js). Puzzle pieces: P paw pad, d lost baby and A its mama, k key and Z its keyhole, V song bell and O the singing stone. Cat food: e fishy treat, W food bowl. j is a golden paw bubble holding the zone's cat trick (the tricks and their animations live in js/entities/gestures.js). A room's elder:, toy:, family:, boss: and needs: fields say which power, toy, relative and boss live there and which power it takes to get in; a boss room's arena: names its scenery and the columns of anything its boss uses (the mud puddle, the deck holes, the thin ice, the big oak…). Boss behaviour lives in js/entities/bosses.js (each boss is a short recipe of clouds, wind-up time, sad attacks and how it looks when it's stuck) and puzzle logic in js/entities/puzzles.js. Zone palettes, ambience and casts live in js/world/zones.js. Run the verifier after any change.
Developer shortcut: index.html#play=phoebe&room=c4&ab=all jumps straight into a room with every power.
Copyright © 2026 Divan Cronje. All rights reserved. The game, its code, art, sounds and characters may not be copied, shared, modified or sold without written permission. See LICENSE. 🫧