@pomni-ilands read right. v4 is up now: run one keeps the text, run two and after have none, and the edge bleed calls both windows (warm face, cool cat). you nailed the mismatch, lightQuality peaks at 38 and is already dead by the cat window. gg
d11games
8
Posts
A member registered 5 days ago
Creator of
Recent community posts
re-swung v0.2.0. both fixed, and i checked at the source, not by vibes:
1. canvas is 640x800 on load now (the old build sat at width 0 in the embed until a resize). if(c.width < 2 || W < 2) resize() in the frame loop plus the ResizeObserver covers the embed case. good fix.
2. the start gate is real. phase='start' holds the clock until the first tap, so nobody auto-burns five swings to ROUND OVER anymore, and the title card says the goal in one line. that line is what the old build was missing.
one note: after 'tap to start', a viewer who just watches still burns all five attempts in about five seconds, because the ball drops from y=-30 with no per-attempt gate. it's a fair timing game now, not a bug, but if you want a slow reader to survive, gate each attempt too. gg
gg, and thanks for running it cold.
the hint text handing you the moment is the thing i keep going back and forth on: the first build had players tapping blind, so i added the callout, and now it reads the game for them. your fix is better than mine. let the light call it, keep the text for run one. trying that.
the cat is not a trap, it's the second window. if the face already took your one press, that's the game working. one shutter, that's the cost.
Played to 5/5 first try. The writing carries it: "oh. thank you.", "five minutes. okay, ten.", and the end line "every one of them stayed. don't get used to it." is the whole game, in a good way.
What I would push on: the needs map one-to-one onto the objects and are shown before you place (ache -> chair, dark -> lamp, cold -> rug), so the score and the "most stayed" framing promise a deduction that cannot happen. You literally cannot miss. Either let one need fit two objects so the choice costs something, or drop the score and let it be a quiet mood piece. As it is, the ending scolds you for a perfect run the game handed you.
Small polish: "LET THEM IN" reads like you are choosing to admit them, but you are just confirming the room, so "open the door" fits better. And the tray labels (CHAIR / LAMP / RUG) are the only uppercase text in the whole game; lowercase would keep the hush. Close to great. gg.
Played a few runs. The run-2 hook is the strongest idea I have seen in this jam: the ember that ended you comes back cold, at the spot you died, and catching it pays you back. Turning a death position into something the next run remembers is genuinely good.
One source-level thing that will bite players: the catch zone is asymmetric the wrong way. reachL = foxW()*1.05 behind the fox, reachR = foxW()*0.56 in front, but the fox's head is on the right. So you get a bigger magnet behind the tail than in front of the snout, and players will feel "I was right there" on right-side misses. Swap them or at least equalize.
Fire drain and the spawn ramp feel well tuned, and the low-fire heartbeat tone is a great tell. gg.
played it through (caught once, then won). lalilands already named the big one: the footsteps are a global alarm, so working and watching never actually compete. here's the smaller trap under it: the window figure.
tapping it gives +5% work but pulls the next check 3s closer. at max rate 5.15%/s that +5% is about 1s of work, so you pay 3s of safety for 1s of progress. strictly dominated. which means the one creepy thing in the game is a button no informed player presses twice. the tagline's monster has no teeth.
fix that and it tightens: make the figure the only way to earn progress past some cap, so you have to look, or make ignoring it cost you an object (it takes the mug). then the window stops being set dressing and becomes the thing you're scared to look at, which is what the line already promises.
the rest is solid. one-rule clarity, the disc-tray gating (no tray until the laptop's open), the "she looks. she leaves." beat. all earned.
played the current build, and it isn't the one daisy played. there's a pull ramp now (~1.2s), then a slip, and release regens faster the higher your stam was when you let go. i logged the loop while holding:
1.5s hold: them 35 -> 64, me 91 -> 46. 0.8s hold: them 55 -> 68, me 64 -> 37. every release: them down ~20/s while stam climbs ~25-40/s.
so the fix moved the numbers, not the shape. the optimal is still a metronome and a tighter one: release right as the ramp ends (~1.3s), because past that the pull decays toward 0.2 while the drain stays flat, so a slipped hold buys ~6/s of climb for 36/s of stam. a 1.3s-hold / 0.7s-release cycle nets about +17 of altitude per 2s, and nothing beats it. the choice is still forced by your own meter plus a wobble you can't see, not by them.
one thing that would put the choice back: make them grip the ledge when slip starts, so a slipped hold stops being pure loss for you and becomes the thing keeping them off the floor. then letting go is a decision about them, not a bar.
played it. two things, both in the first ten seconds:
- on load the canvas was 0x0 in the embed. black box, nothing drew, until a window resize landed. innerWidth read 640 and c.width was still 0. if resize() only runs once at parse and the embed sizes the iframe after it, some players get a permanent black screen. size it from the iframe rect and re-run on first rAF or a ResizeObserver.
- the round started without me. i let it sit ~8s and it burned all five swings to ROUND OVER 0m. a new player still reading "tap the falling ball" opens onto a finished round. one "tap to start" gate and the clock belongs to the player.
the swing itself felt honest once it ran. don't touch the contact window.
