Releases: JacobStephens2/clowder-and-crest
v2.7.3 — Ritual candle fix + crisp title text
Two polish fixes:
Ritual candles finally visible
The Sacred Rite candles have been invisible since v2.5.30 despite multiple fix attempts. The root cause was a Phaser alpha layering bug: this.add.circle(x, y, r, color, 0) sets fillAlpha = 0 in the constructor, and setAlpha(1) only sets the game object alpha. Phaser multiplies them: fillAlpha × objectAlpha = 0 × 1 = 0 — permanently invisible.
Fix: create with fillAlpha: 1 (pigment exists) and .setAlpha(0) (starts hidden). Now setAlpha(1) during flashes produces 1 × 1 = 1 — fully visible. Both the pattern demo and the tap response now light up properly.
Crisp title screen text
All Phaser text objects on the title screen now use resolution: DPR so the internal canvas texture matches the native display density. Without this, text was rendered at the game's internal resolution (~390px) and the DPR camera zoom stretched it, making small text blurry — particularly "A game about cats, saints, and rats" and the button labels.
🤖 Generated with Claude Code
v2.7.1 — ALL 66 playtest items complete
Every single item from the 1.5-hour playtest feedback session is now resolved. 66 of 66 items shipped across v2.6.0 through v2.7.1.
Final round (v2.7.1)
- Town player = unworked cat — the player character on the town map is now the first unworked cat in the roster, not always the wildcat.
- Walk-to-cat before interaction — clicking a guild NPC on the town map walks the player to them before showing the interaction popup.
- Room redirect fixed — clicking a cat in a room no longer navigates to TownMapScene. Bond points are still awarded silently.
- Hold-to-switch cat control — long-press (500ms) on a cat in the room view switches control to that cat.
- Shadow "shady stranger" jobs — from Ch.3+, one boosted shadow job (1.5x reward) appears on the board regardless of reputation. Taking it costs -3 reputation.
- Animated room details — dust motes float lazily, kitchen has a flickering hearth glow, plague rain streaks appear during the rat plague.
- Wish fulfillment in rooms — entering a room with the wished-for furniture shows a tap-to-fulfill prompt.
Complete playtest changelog (66 items across 8 releases)
Bugs fixed (12)
Ritual candle flash, notification icon, menu click-through, plague resolution counter mismatch, chapter 3 double intro, chapter 2 intro overlap with day-end, lean-to back → blank view, chase ran-through-rat collision, fight hitbox too narrow, Pounce win detection, job reward display mismatch, room scene redirect to town
UX improvements (22)
Removed lecture text (5 lines), show job difficulty, wish banner at bottom, bigger brawl strike button, pixel art courier obstacles, cat card → portrait on tap, stat increase clarity, job modal bottom-aligned, dialogue text raised, easy sokoban harder, chapter intro timing, lean-to upgrade toast, Long Winter hint clarity, fish economy on tap, cat movement before interactions, unworked cat as player, hold-to-switch cat, wish fulfillment interaction, animated room details, furniture unlock toasts, merchant click-only
Gameplay (20)
Ch.1 opens 2 job categories (4 minigames day 1), auto-save at day end, no festivals during plague, all job types progress plague, enough jobs for roster, at least 2 approaches per job, shorter hard rooftop, rooftop enemies on medium/hard, archer rat in brawl, fake rat visual distinction, rat hunt tutorial, room unlock effects (kitchen +1 fish, ops intel), cats lose morale without beds, wish fulfilled by furniture category, building-locked jobs, tighter chase movement, shadow "shady stranger" jobs, furniture unlock by chapter
Narrative (12)
Unique recruitment scenes for all 5 breeds, russian_blue+maine_coon bond conversation (C/B/A), 2 group conversations for partial rosters, bengal intro uses portrait system
🤖 Generated with Claude Code
v2.7.0 — Unique recruitments, building-locked jobs, 58 of 66 playtest items
Major narrative + gameplay release. 58 of 66 playtest items now resolved.
Narrative
-
Unique cat recruitment scenes — each breed now has its own multi-panel arrival narrative:
- Russian Blue: watches from across the market for three days before accepting a fish
- Tuxedo: arrives as if for an appointment, inspects the guild, reorganizes the fish stores
- Maine Coon: fills the doorway, demands fish and muscle work, claims the largest sleeping spot
- Siamese: arrives mid-conversation with a mouse, critiques everything, makes the place feel alive
- Bengal: midnight arrival in the rain, former Silver Paws member, honest and fierce
-
Missing bond conversation added — russian_blue + maine_coon now has a full C/B/A bond arc ("The Quiet and the Loud" → "Complementary Skills" → "Trust Without Words"). All 15 breed pairs now have conversations.
-
Group conversations for partial rosters — 2 new group scenes trigger based on guild size:
- "Three Cats, One Lean-To" (wildcat + russian_blue + tuxedo)
- "The Full Table" (the first 4 cats discuss beds, rotation schedules, and guild identity)
Gameplay
-
Building-locked jobs — each job is now tied to a specific building via a
puzzleSkin → buildingIdmapping. Entering the wrong building shows a hint ("This job needs to be done at the mill"). Market is the generic fallback. -
Chase movement tighter — cooldown 130→90ms, tween duration 120→85ms.
-
Merchant click-only — merchant items removed from auto-displayed town overlay. Player must walk to the merchant sprite and tap to browse. A hint in the job board says "A traveling merchant is in town today."
-
Furniture unlock progression — items unlock by chapter (Ch.1: 4 items, Ch.2: +3, Ch.3: +4, Ch.4: +3, Ch.5: +1). Toast announces new unlocks at each chapter advance.
-
Rooftop enemies — patrolling red rat sprites on medium/hard (~15-25% of platforms).
-
Archer rat in Brawl — ranged enemy from wave 3+, keeps distance and fires projectiles.
-
Chase collision fix — 1-cell proximity catch instead of exact-cell match.
Remaining (8 items)
Mostly UX polish: animated room details, cat movement before interactions, town scene player = unworked cat, room scene bond moments, cat control switching, wish fulfillment interaction, shadow-aligned jobs, room scene redirect fix.
🤖 Generated with Claude Code
v2.6.5 — 51 of 66 playtest items (round 6)
51 of 66 playtest items resolved. 5 more fixes in this round:
Gameplay
-
Rooftop enemies — patrolling red rat sprites on medium/hard Roof Scout. ~15% of platforms host an enemy on medium, ~25% on hard. Touching one ends the run. Easy mode has no enemies.
-
Archer rat in Brawl — new ranged enemy type from wave 3 onward. Blue-tinted with a target indicator. Keeps ~90px distance and fires projectiles. Forces the player to close the gap instead of waiting.
-
Furniture progression — items now unlock by chapter (Ch.1: basics, Ch.2: scratching post/candle/catnip, Ch.3: cushioned basket/fish barrel/herb rack/rug, Ch.4: notice board/bookshelf/hearth, Ch.5: saint's icon). Toast at each chapter announce announces new furniture.
Bug Fixes
-
Chase "ran through rat" — added 1-cell Manhattan-distance proximity check. The exact-cell match could miss when the cat and rat moved toward each other.
-
Lean-to back → blank view — GuildhallScene now shows "Loading guild..." instead of silent blank if gameState is null. RoomScene back button has a double-tap guard.
UX
- Easy Sokoban harder — "First Push" level now has wall obstacles requiring routing.
- Brawl hitbox wider — attack range 52→62, arc 144°→180° for more forgiving hits.
- Dialogue text raised — textbox raised from bottom:0 to bottom:50px.
Remaining (15 items)
The remaining items are larger content features:
- Unique cat recruitment scenes (5 narrative scripts)
- Group conversations for partial rosters
- Building-locked jobs
- Cat movement before interactions
- Town scene player = unworked cat
- Room scene bond moments
- Cat control switching in rooms
- Wish fulfillment interaction
- Bond scenes for all pairs
- Merchant interaction rework
- Bengal intro with portraits
- Chase movement refinement
- Shadow-aligned jobs
- Animated room details + weather
- Room scene cat click redirect fix
🤖 Generated with Claude Code
v2.6.4 — 46 playtest fixes (round 5)
46 of 66 playtest items resolved. 3 more fixes in this release:
- Easy Sokoban harder — "First Push" level now has wall obstacles that require routing around them (was straight-line push).
- Brawl hitbox wider — attack range 52→62, arc 144°→180° (full semicircle). Hits feel more forgiving.
- Dialogue text raised — textbox moved from bottom:0 to bottom:50px so the player can tap the bottom corners without obscuring the text.
The remaining 20 items are larger features requiring new content:
- Unique cat recruitment scenes (5 different narrative scripts)
- Group conversations for partial rosters (2-3 new dialogue sets)
- Bengal intro with portrait dialogue
- Building-locked jobs (mapping all 35 jobs to buildings)
- Animated room details + weather effects
- Rooftop enemies
- Chase movement refinement
- Lean-to back button blank view fix
- Cat movement before interactions (carpenter, other cats)
- Town scene player = unworked cat
- Room scene cat click → bond moment
- Cat control switching in room view
- Wish fulfillment interaction
- Bond scenes for all cat pairs
- Merchant interaction rework
- Shadow-aligned lucrative jobs
- Furniture unlock progression
- More brawl enemy types
- Chase through-rat collision fix
Questions and answers are tracked in claude-questions.md.
🤖 Generated with Claude Code
v2.6.3 — Playtest feedback round 4 (39 total fixes)
10 more fixes from the 60+ item playtest feedback list. 39 total shipped across v2.6.0-v2.6.3.
Critical
- Plague resolution fixed (for real) —
checkRatPlagueResolutionwas using a pest-control-only counter that was disconnected from the progress toast. Now uses the sametotalJobsCompleted - prePlaguePestJobslogic everywhere. This was THE root cause of "when i defeated the rat plague, the chapter didnt advance to 4."
Gameplay
- Room unlock effects — Kitchen: +1 passive fish/day. Operations Hall: daily intel report showing tomorrow's favored job category.
- Cats lose morale without beds — unbedded cats drop one mood tier per day at day-end.
- Wish flexibility — "nap in a warm spot" can now be fulfilled by ANY sleeping furniture (straw bed, woolen blanket, or cushioned basket).
- Stat increase clarity — level-up journal entry and result overlay now show which stat improved (e.g. "hunting +1").
- Job card "+" suffix — "6-10+ Fish" indicates multiplier bonuses can push payouts above the listed range.
UX
- Rat hunt visual distinction — fake rats (peek, doublepop) now have a blue-grey tint + smaller scale. Tutorial updated to explain all rat types.
- Chapter intro timing — delayed from 1.5s to 4s after chapter advance so the day-end recap has time to clear first.
- Job modal bottom-aligned — the assign overlay now uses flex justify-content:flex-end so it sits in the lower half of the screen.
- Cat card portrait on tap — tapping anywhere on a cat's card in the panel opens their portrait popup.
Remaining
~30 items remain including building-locked jobs, unique cat recruitment scenes, group conversations, animated room details, rooftop enemies, and furniture unlock progression.
🤖 Generated with Claude Code
v2.6.2 — Playtest feedback round 3
Continued work on the 60+ item playtest feedback list. This release ships 6 more fixes (29 total across v2.6.0-v2.6.2).
Critical Bug Fix
- Plague resolution now works with all job types — The plague resolution check used a pest-control-only counter (
plaguePestDone) that was separate from the progress toast (which usedtotalJobsCompleted). A player completing guard/sacred/courier jobs saw "4/5 plague progress" in toasts but the actual resolution counter never moved. Both now use the sametotalJobsCompleted - prePlaguePestJobslogic. This was the root cause of "when i defeated the rat plague, the chapter didnt advance to 4 as i expected."
Gameplay
-
Room unlock effects — Operations Hall: daily intel report toast showing which job category is favored tomorrow. Kitchen: +1 passive fish income per day. Both appear as events in the day-end recap.
-
Cats lose morale without beds — At day-end, if sleeping furniture count < cat count, the unbedded cats drop one mood tier. Shows an event in the recap ("2 cats slept on the floor — mood dropped").
-
Rat hunt visual distinction for fake rats — Peek and doublepop rats now have a blue-grey tint (#8888aa) and smaller scale (0.85) so they're visually distinct from tappable rats. Tutorial updated to explain all rat types.
-
Job card shows "+" for bonus potential — Job cards now display "6-10+ Fish" instead of "6-10 Fish" so the player knows multipliers (combo, festival, reputation) can push payouts above the listed range.
Still tracked
~33 items remain including building-locked jobs, unique recruitment scenes, group conversations, shadow jobs, animated room details, furniture unlock progression, and more. Full list in claude-todo.md.
🤖 Generated with Claude Code
v2.6.1 — Playtest feedback round 2
Continued work on the 60+ item playtest feedback list. This release ships 7 more fixes on top of v2.6.0's 16.
Fixes in v2.6.1
-
Guildhall header no longer obscured — title text pushed from y=55 to y=70, ROOM_START_Y from 100 to 120 so the hall name clears the status bar.
-
Only one Chapter 3 intro scene — previously the chapter-advance handler and the rat-plague-start handler each showed their own narrative overlay, stacking two scenes. Now the plague handler only sets game-state flags; the plague prose is part of the chapter 3 intro in chapterScenes.ts.
-
Long Winter hint is clearer — the progress hint for Chapter 5 now says "wait for the Long Winter (it arrives after a few days in Chapter 4)" instead of just "survive the Long Winter", so the player knows the trigger is automatic.
-
Lean-To → Sleeping Quarters transition announced — a toast fires at Chapter 2: "The Lean-To has been upgraded to proper Sleeping Quarters."
-
Fish economy overview on tap — tapping the fish count in the status bar shows a toast with the full daily breakdown: cat upkeep, room costs, stationed income, net daily change, and current balance.
-
Shadow job question answered — added a note in claude-questions.md explaining that shadow jobs are reputation-gated (score < -10) and recommending a "shady stranger" event as the accessible entry point.
-
Plague baseline fix — the plague progress baseline now uses totalJobsCompleted (matching the v2.6.0 fix that made all job types count toward plague resolution) instead of filtering specific pest_control job IDs.
Still tracked
~48 items remain in claude-todo.md including room unlock effects, building-locked jobs, unique recruitment scenes, group conversations for partial rosters, and animated room details. Questions with Jacob's answers are in claude-questions.md.
🤖 Generated with Claude Code
v2.6.0 — Playtest feedback round (1.5 hours, 42 jobs, Chapter 4)
First release driven by a sustained 1.5-hour playtest session through Chapter 4 (Day 12, 42 jobs). The feedback identified 60+ items across bugs, UX friction, balance, and missing features. This release ships the highest-impact 12 fixes; the remaining items are tracked in claude-todo.md with questions for the designer in claude-questions.md.
Bug Fixes
-
Ritual candles not lighting up — the candle flash on tap was too brief (250ms at 0.9 alpha against a black background). Boosted to 450ms at full alpha with 1.6x scale. Both the pattern demo and the tap response now use the same brighter flash.
-
Notifications broken — the daily return notification used
smallIcon: 'ic_stat_icon_config_sample'which didn't exist as a drawable. Created proper monochrome notification icons (ic_notify.png at hdpi/xhdpi/xxhdpi). Also added a chapter-milestone notification that fires when the player advances a chapter. -
Menu click-through — Phaser scene input handlers could fire through the DOM menu overlay. All active scenes are now paused while the menu is open and resumed on close.
UX Improvements
-
Removed lecture text — "Perfect clears snowball your economy fastest," "Keep repeating strong-fit work to shape this cat's eventual specialization," "Small morale swings stack over time," and all strategic advice lines from job assignment. The game teaches through play, not text.
-
Show job difficulty — colored difficulty label (green/amber/red) now appears on the approach choice screen between the job name and the minigame buttons.
-
Wish banner moved to bottom — the daily wish banner now renders at the bottom of the screen (was top), so it doesn't obscure town navigation.
-
Bigger strike button in Brawl — bumped from 60x60 to 80x80.
-
CourierRun pixel art obstacles — replaced the ambiguous colored rectangles with the existing block sprites (barrel, crate, cart, flour_sack, pew). Each obstacle type now has distinct pixel art.
Balance & Progression
-
Chapter 1 opens 2 job categories — pest_control + courier from day 1, giving the player 4 minigames immediately (chase, hunt, sokoban, courier_run) instead of 2. Hooks the player with variety from the start.
-
All job types progress the plague — guard, sacred, and other Ch.3 jobs now count toward plague resolution alongside pest control. Uses totalJobsCompleted counter instead of filtering by specific job IDs.
-
No festivals during the plague — market festivals are suppressed while ratPlagueStarted && !ratPlagueResolved. Thematically, the town doesn't celebrate during a crisis.
-
Enough jobs for every cat — daily job count is now max(base, roster_size) so every cat can work.
-
Auto-save at day end — saveGame() fires after advanceDay() so progress is never lost.
-
At least 2 approaches per job — if a job category only has 1 unlocked minigame, a second option (chase or hunt) is added as a fallback.
-
Shorter hard rooftop climb — hard mode targetY raised by 500px, cutting the climb by ~1/3.
Still In Progress
~48 items remain in claude-todo.md, including:
- Unique cat recruitment scenes
- Long Winter trigger clarity
- Town scene rat sprites during plague
- Room unlock gameplay effects
- Cat movement before interactions
- Shadow-aligned lucrative jobs
- More enemy types in brawl
- Bond conversations for all pairs
Questions for the designer are in claude-questions.md.
🤖 Generated with Claude Code
v2.5.35 — Pixel art, SFX pass, 3 minigames per chapter
Major polish release: 19 pixel art sprites, 10 new sound effects, comprehensive bug fixes across all 15 minigames, and a rebalanced unlock cadence.
Pixel Art Pass
19 PixelLab-generated sprites wired into 7 minigame scenes, replacing colored rectangles and circles with proper medieval pixel art:
- Roof Scout: Breed idle/walk sprites replace the tan rectangle. Directional facing (east/west) based on velocity, walk animation when sliding on surfaces, jump pose when airborne.
- Patrol: Pixel art lanterns (lit/dark/trap variants) replace circles. Prowler intruders have a dedicated sprite.
- Pounce: Wood/stone/glass block sprites replace colored rectangles.
- Brawl: Boss rat and skirmisher rat get dedicated sprites.
- Ritual: Candle sprites on iron holders replace rectangles. Stone altar sprite replaces dark rectangle.
- Heist: Ornate lock body sprite as decorative backdrop behind the ring graphics.
- Fishing: Wooden dock pier sprite replaces 8 separate rectangles.
Sound Effects Pass
10 new purpose-built sounds sourced from Freesound, with 5 anti-repetition variant pools:
- Block snap (2 variants) — woodblock click for PuzzleScene/SokobanScene
- Dialogue advance (2 variants) — parchment page-turn for bond conversations
- Claw swipe (2 variants) — whoosh for BrawlScene attacks
- Guard footsteps (2 variants) — faint stone footsteps for StealthScene patrols
- Fish catch — splashy reel-in for FishingScene success
- Flame extinguish — candle blow-out for PatrolScene lantern death
Plus SFX wired into 7 previously-silent interaction points: PuzzleScene block snaps + win, Conversations dialogue advance, SokobanScene crate-on-target + win, RoofScout checkpoints, HeistScene noise meter thresholds.
Gameplay Fixes
- All 13 minigame scenes now properly return to the Day of Rest catalogue (not TownMapScene) when played from the title-screen menu. Systematic
isPracticeRun()guard on everynavigate('TownMapScene')call. - Brawl joystick — fixed directional bias (was "down-only", then "top-left magnetic"). Now captures canvas-space center at first touch, same approach as the working Chase TouchJoystick.
- Heist trap notches — now rotate visually with the ring (were previously drawn at fixed positions while the trigger used rotated positions). Players can now see and avoid traps.
- Heist haptic lock-picking — on native (Android): ring-set feedback is haptic-only (heavy vibration, no sparkle SFX, subtle visual). The player has to feel the tumbler click into place.
- Ritual candle UX — no idle glow at rest; player taps light candles at full brightness (same as the pattern demo).
- Pounce win detection — threshold fixed (was checking wrong side of GROUND_Y). Reload time dropped 2500ms → 1100ms.
- RoofScout summit — invisible ceiling fixed (physics body matched texture dimensions instead of display dimensions).
New Patrol Enemy Types
- Tough prowler (red, "2" indicator) — requires 2 taps to defeat. Slightly slower to compensate.
- Swipe prowler (green, "~" indicator) — requires a swipe gesture (30+ px drag) instead of a tap.
Type selection ramps with difficulty: easy = all normal, medium = 20% tough/swipe after half time, hard = 20% from the start.
3 Minigames Per Chapter
Redistributed unlock gates so each of the first four chapters introduces exactly 3 new minigame types:
| Chapter | Minigames |
|---|---|
| Ch.1 | Chase, Hunt, Sokoban |
| Ch.2 | Courier Run, Fishing, Scent Trail |
| Ch.3 | Roof Scout, Patrol, Brawl |
| Ch.4 | Sacred Rite, Picross, Rush Hour |
| Ch.5 | Pounce |
| Ch.6 | Heist |
| Ch.7 | Stealth |
Beauty Pass
- Unified 250ms camera fade-in on every scene transition.
- Mood-reactive guildhall tint — high collective morale warms the hall with amber glow; low morale dims it with a cool overlay.
🤖 Generated with Claude Code