CocolitoCollective
Back to the shelf
Browser Game / Game JamReleased

Familiar Frenzy

A spooky-cute top-down survival arena: a witch dodges enemy waves while her ghost-cat familiar does the fighting — and powers her upgrades.

Summary

Familiar Frenzy is a spooky-cute survival arena where you play a witch who can't fight back — all she can do is dodge. The fighting falls to her ghost-cat familiar, which you feed, upgrade, and evolve as enemy waves and telegraphed bosses close in. Survive long enough to earn Spirit Crystals, then spend them between runs on outfits and familiar collars that reshape how the cat fights.

What I built

Built from scratch in HTML Canvas and JavaScript with no game engine — the technical challenge I set myself this time. It grew into a full little roguelite: a familiar that fights on its own and evolves down upgrade paths, a roster of telegraphed enemies and randomized bosses each logged in a Bestiary, and run-to-run progression through Spirit Crystals and a Wardrobe of outfits and collars. Around that sit personal bests, run recaps, layered sound, and a chatty familiar that introduces each new threat.

What makes it interesting

It was my entry for a game jam; the theme was 'Familiar,' which I took at face value — a witch and the cat familiar that fights for her. That reversal is the hook: you never attack, you only survive, while the familiar deals the damage, so it all comes down to positioning and which upgrades you feed it. It's the most polished thing I've made — I'm proudest of the bosses and enemies, each posing a different problem to read and dodge, and most of all of the art: every sprite generated with PixelLab.ai, then hand-edited in Aseprite down to the last detail.

Tech stack

  • HTML Canvas
  • JavaScript

DevLog

newest first

v1.11.0 — The roster is complete 🐦‍⬛🦇

Two new spirit companions finish the familiar lineup — and runs now begin with a loadout screen so you'll actually see them. 🔮

🐦‍⬛ Raven Familiar — Grave Tax (10 ◆)

  • The premium survival familiar — your key to pushing deep into Cursed Mode.
  • 💀 Grave Tax (Spirit Imbued) — marks several foes with a death omen; kill a marked enemy before the mark fades and it's guaranteed to drop a healing feather. No free heals — you earn every one.
  • 🪶 Scavenger's Gift (passive) — slain enemies may release a small healing feather, drawing life from the fallen.
  • 🦇 Built for Cursed Mode: feathers fall even under Withering (which blocks normal flasks), rewarding aggressive, skilled play through stacked curses — without making the descent easy.

🦇 Bat Familiar — Echo Swarm (6 ◆)

  • A sharp-eared spirit for when the swarm closes in.
  • 🔊 Echo Swarm (Spirit Imbued) — looses expanding echo rings that wash over everything nearby. Brutal against packs; it won't bring down a lone boss.
  • 🌙 Night Sense (passive) — draws pickups in from a little farther.

🧥 A loadout screen before every run

  • Choosing Casual or Cursed now opens the Wardrobe as a loadout screen — titled for your run, your current loadout shown at a glance, and a Start Run button when you're ready. The main-menu Wardrobe is still there as a normal shop, and Tutorial jumps straight in.
  • Every familiar works with every collar — only the look, the passive, and the Spirit Imbued change. The full lineup: 🐈‍⬛ Cat · 🦉 Owl · 🦊 Fox · 🦇 Bat · 🐦‍⬛ Raven. Your saves carry over. 🐾

v1.10.0 — Familiars: Owl & Fox 🦉🦊

Your ghost cat now has company. The Wardrobe gains a whole new category — Familiars — and two new spirit companions, each with its own passive and its own twist on Spirit Imbued. Plus a Cursed Mode tune-up and a mode rename. 🔮

🐾 New: the Familiars category

  • The Wardrobe is now three tabs — Outfits, Familiars, and Collars. Your collar still decides your familiar's normal attack (Spirit runes, Moon Beam, or Alchemist flasks); your familiar now decides its look, a small passive, and what its Spirit Imbued unleashes.
  • Mix and match freely — the collar preview even shows your equipped familiar wearing each collar, and the new Familiars page in the Arcane Archive 📖 catalogs them all.

🦊 Fox Familiar — Foxfire Chain (6 ◆)

  • A sly spirit that spreads foxfire between foes.
  • 🔥 Foxfire Chain (Spirit Imbued) — looses foxfire wisps that bounce from enemy to enemy. Devastating against packs; it won't melt a lone boss. Where the Owl picks one target, the Fox spreads the burn across the crowd.
  • 🍀 Trickster Luck (passive) — rare pickups (health flasks & Spirit Magnets) turn up a little more often. Plays nicely with Lucky Paws, and leaves Spirit Crystals alone.

🦉 Owl Familiar — Astral Judgment (6 ◆)

  • A wise spirit that sharpens the bond.
  • ✨ Astral Judgment (Spirit Imbued) — strikes the most dangerous foe on the field with arcane precision, favoring bosses and casters over nearby stragglers.
  • 🌙 Star-Eyed Focus (passive) — Spirit Imbued charges a touch faster from the motes you collect.

😼 Cursed Mode rebalance

  • Cursed runs were a slog of spongy enemies. The cursed are now a little less tanky but hit noticeably harder — faster, sharper, more dangerous fights instead of long grinds. ⚰️

📛 “Endless” is now “Casual”

  • The endless run mode is renamed Casual to better fit how it plays. Your best waves, scores, and saves all carry over untouched.

Every existing outfit, collar, the Cat familiar, and your saves are fully intact. 🐈‍⬛

v1.9.0 — Cursed Mode 🌑

🤖 Tin Bulwark is here — watch out for its attack, as it will push you into danger!

Mastered Endless? Then it's time to go deeper. Cursed Mode is a darker, harder way to run the arena — where survival comes at a price that grows with every boss you fell.

🔮 Descend into the curse

  • Cursed Mode plays like Endless, but the dungeon turns faster: bosses arrive every five waves instead of ten. Each one you bring down lays a new random curse on your run — and they stack. The deeper you go, the more afflictions pile on. How long can you last as the dark closes in?

💀 Eight curses to suffer

  • Every descent draws its curses in a different order, so no two runs feel the same. The arena might drown in darkness until only a ring of light follows you… the slain might leave seething pools where they fall… your wards might turn brittle, every wound cutting deeper… or the horde itself might swell and flood the floor. There are eight in all — the rest are yours to uncover.

👻 Your familiar feels it too

  • When a new curse settles in, your ghost cat calls out a warning, and a row of curse icons on your HUD shows exactly what's gripping your run at a glance.

📜 The Curses archive

  • A new chapter joins the Arcane Archive — the Curses collection. Every curse you've survived is recorded there with its name and its bite. Suffer all eight to complete it.

🏆 Its own leaderboard

  • Cursed runs are scored on a separate high-score board — Endless and Cursed each get their own tab on the High Scores screen, so your bravest descents stand on their own.

Light a candle, steady your familiar, and see how deep the dark will let you go. 🕯️

v1.8.0 — The Hourkeeper 🕰️

⏳ A New Boss — The Hourkeeper

  • A clockwork keeper that bends the fight to its own rhythm — you can't just wail on it.
  • 🌀 It vanishes, and great brass clock hands sweep the arena — step off the line as each one falls.
  • 🔔 Then it returns, vulnerable, and the alarm runes tick… tick… burst — punish it while the alarms ring.
  • ⚖️ As its dial winds down it gets meaner — faster strikes, denser runes, and at low health it sweeps a hand through itself while you punish, so you have to dodge without letting up.
  • ✨ It blinks between sets, and a chime and clockwork clang now mark every cast and strike.

🖱️ Full mouse support

  • The cursor's back, and every screen is clickable now — hover to highlight, click to choose.
  • Menus, mode select, upgrade cards, pause, victory, and game over all take the mouse.
  • The Wardrobe, Grimoire, and Bestiary are clickable too, with scroll wheels and draggable scrollbars; Settings has click-and-drag volume sliders.
  • Keyboard still does everything — the mouse just adds a second way in.

🖥️ Fullscreen, properly

  • The game now scales to fill the screen — crisp pixels, correct aspect ratio — so the fullscreen button finally fills your monitor instead of a tiny centered window.

v1.7.0 — The Pronggeist 🍴

The dungeon won't hold still anymore. A new horror joins the swarm, the floor shifts beneath your boots, and the Emberheart Robe has been reforged. 🔮

🍴 New Enemy — The Pronggeist

  • A cursed fork has wandered in, and it does not chase.
  • 🔮 It shuffles into place, plants itself, and locks a four-row spike fork toward wherever you're standing.
  • ⚡ The warning won't follow you — once it locks, commit a real sidestep clear of the whole gold band before the tines erupt.
  • Joins the rotation from Wave 7.

🏚️ The Shifting Dungeon

  • 🪨 Defeat a boss and the arena floor transforms — ancient stone gives way to creaking wood, and back again, the deeper you push.
  • 🐾 Your familiar will have something to say about it.

🔥 Emberheart Robe, Reforged

  • 🔥 The Emberheart Robe now grants an Emergency Heal — drop below 25% HP and it pulls you back up to 50%, once per wave. No more praying for a flask.
  • 💎 Now costs 8 Spirit Crystals; the Gilded Mantle drops to 6.

♿ Display & Accessibility

  • New options in Settings:
  • ✨ Reduced Flash Effects — calms bright flashes (level-ups, hits, eruptions, acid pulses) while keeping every danger warning readable.
  • 🟧 High Visibility Warnings — bold, high-contrast outlines on ground danger zones so they pop against any floor.
  • Both are off by default, flip on instantly, and remember your choice between runs.

📖 Quality of Life

  • 📖 The Bestiary is now reachable straight from the Pause menu, right next to the Grimoire — size up what you're fighting without leaving your run.
  • 👗 Wardrobe outfits are now sorted by price.

Move sideways, and mean it. 👁️

v1.6.0 — The Hive Warden 🐝

A new terror takes wing, and the dungeon floor grows older and stranger.

🐝 A New Boss — The Hive Warden

  • A monstrous spirit-bee now drifts into the arena, hovering just out of reach.
  • ⚡ It charges with a rising buzz, then looses a volley of sharp stingers — sometimes a tight cone you can circle past, but more often a radial burst that fills the air around you. Don't get caught standing in the ring.
  • 🎯 Watch for the wind-up: the grunt and the gathering glow are your cue to move.
  • 🔊 New sounds give it real presence — a warning buzz as it charges, and a sharp snap as the stingers fly.
  • 🎲 The Hive Warden joins Elder Wisp and the Watching Hand in the boss rotation, so every run keeps you guessing which one you'll face.
  • 📖 Logged in the Bestiary for study.

🕯️ Atmospheric Depths

  • ✨ The dungeon floor is no longer so bare — faint arcane runes now scatter naturally across the ancient stone.
  • 💀 And the depths feel more haunted: rare finds like bones, skulls, mushrooms, candles, and creeping moss now turn up as occasional discoveries underfoot.

v1.5.0 — Crystals & Collars 🔮

💎 Spirit Crystals & the Wardrobe

  • Defeat bosses to earn ✨ Spirit Crystals — treasure that carries over between runs.
  • Spend them in the brand-new 🧥 Wardrobe (now on the main menu) on Outfits and Collars.

🧙 New — Outfits (a fresh look, plus a little perk)

  • 🪄 Apprentice Robe — your humble starting robe.
  • 🔥 Emberheart Robe — flasks heal more.
  • 📘 Sage's Weave — gain more EXP.
  • 👑 Gilded Mantle — earn more score.

🐈‍⬛ New — Familiar Collars (change how your cat fights)

  • ✨ Spirit Collar — the classic rune bolts.
  • 🌙 Moon Beam Collar — a quick beam that strikes everything in a line.
  • ⚗️ Alchemist Collar — hurls flasks that burst into lingering acid puddles.
  • Your build still matters: 'spread' gives your beam/flasks extra targets, and 'pierce' widens the beam and grows the puddles.

📚 Arcane Archive

  • The Grimoire and Bestiary now share one shelf in the new Arcane Archive.

⚔️ Tweaks & polish

  • 👹 The Goblin Bonker now winds up and slams a telegraphed ground stomp — watch for the ring and step clear.
  • 👻 The Elder Wisp's dash is fairer to read and dodge.
  • ✨ Menu spacing and UI cleanup throughout.

v1.4.0 — The Coven Grows 🐈‍⬛✨

🆕 New creatures & power

  • 🦴 Bone Mage — a spellcaster that curses the ground beneath you. Watch the telegraph and step clear before the cursed patch detonates! 💥
  • 🟢 Goblin Bonker — a hulking brute that lumbers in and winds up a heavy club swing that knocks you flying. Don't just back away — it lunges into the swing!
  • 🌟 Spirit Volley — a new familiar evolution: max out Restless Wisp and Spirit Focus to fire a three-bolt spread instead of a single bolt.

✨ Improved

  • 📖 Grimoire is now browse-to-read — highlight any upgrade or evolution to see its details instantly, no extra button.
  • 🐾 Bestiary scrolls smoothly and reveals each creature's portrait and lore as you browse.
  • ⭐ Level up! now lands with a celebratory gold flourish.
  • 🔊 Sound — every creature has its own voice now, the Gutter Gecko's throw and the Elder Wisp's charge have their own cues, and the menus and the battlefield play different music.
  • ⌨️ How to Play controls are easier to read at a glance.

🔧 Fixed

  • 🧪 Health flasks shimmer when they drop and are easier to spot, and the familiar no longer points you toward a flask that's off-screen.
  • The familiar now introduces each creature only the first time you meet it, instead of every run.

The Watching Hand 🖐️👁️

The biggest content update yet — a new boss, a field guide, and a stack of polish!

🖐️ New Boss: The Watching Hand

  • Survive to Wave 20 in Endless Mode and you'll meet a giant, many-eyed hand that crawls the arena and does NOT want visitors.
  • It hops around and slams down with a telegraphed strike — watch for the red ring and get clear before the fist lands.
  • As you wear it down, it summons bursts of Gutter Geckos to keep the pressure on while you dodge.

🎲 Bosses Now Appear at Random

  • Deeper Endless runs no longer face the same boss in the same place every time — the Elder Wisp and the Watching Hand now show up in a shuffled order, so you never quite know who's waiting.

📖 New: Enemy Bestiary

  • A field guide to the dungeon's creatures, right from the main menu. Entries start as shadowy silhouettes and reveal themselves once you've faced each foe in battle. Can you discover them all?

🐾 A Chattier Familiar

  • Your ghost cat now introduces new enemies AND bosses in Endless Mode too, not just the Tutorial — with special warnings tailored to each boss.

🏆 Personal Bests & Run Recaps

  • Beat your best Endless wave or score and you'll get a celebratory callout on the Game Over screen — your records have always been saved, and now they're impossible to miss!
  • The Endless Game Over screen now shows a fuller recap: wave, level, score, enemies and bosses defeated, and any evolutions you unlocked.

✨ Menu Tidy-Up

  • 'How to Play' now lives with the play modes (Tutorial / Endless / How to Play), keeping the main menu clean.

Keep moving, trust your familiar, and don't get pinned. 🐾

v1.2.0 — Geckos, Sounds & Spirit 🦎🔊✨

The biggest update yet — a new creature, a louder dungeon, and a deadly new bond!

  • NEW ENEMY — the Gutter Gecko: from Wave 5, this ranged menace skulks at a distance and flings projectiles from its pouch. Its shots are slow enough to dodge — if you keep moving.
  • NEW EVOLUTION — Spirit Bond: max out Spirit Heart and Spirit Focus, and the glowing link between witch and familiar becomes a golden blade that cuts any enemy crossing it while Spirit Imbued is active.
  • New sound effects: level-ups, healing, the Spirit Magnet's pull, eerie chittering from the dungeon's creatures, and a chirp for every line of cat wisdom — plus a new SFX volume slider in Settings.
  • Spirit Imbued is impossible to miss now: a golden spark dances over the witch and the meter glows when it's ready. Press SPACE!
  • Balance tuning: motes now pull toward you slightly from the start, Spirit Imbued takes a touch longer to charge, and late-run leveling breathes better.

Your Familiar Speaks! 🐾

The ghost cat has found its voice! The Tutorial now opens with a calm moment in the dark — take a breath, learn to move, and let your familiar walk you through the basics with its own little words of encouragement. Lessons arrive one at a time, right when they matter: your first mote, your first flask, your first taste of Spirit Imbued.

New players get a gentler welcome. Veterans lose nothing — Endless Mode is untouched, and the wisps are just as relentless as ever.

A few small visual touch-ups round things out, including a crisper title banner.

Thanks for playing — and trust the cat. It knows what it's doing. ✨

Made for a game jamSprites by PixelLab.ai