Answer the playtest: a net for the lock, and a duel that pays
The hang: I could not reproduce it or pin it on one latch, so this is two things. A root-cause fix — iOS does not guarantee a touchend when you switch apps mid-drag, and the held G.aim it leaves behind blocks the uncaught-toss retoss forever — and a watchdog for whatever else is out there. The watchdog does not time how long you have been blocked, because a horde blocks you for fifteen honest seconds; it watches whether the clock that should release you is moving, and logs the frozen state before letting go. The duel: past about game 20 all four tins sit at wCap and a won duel handed over literally nothing. It falls through to the barrel weapons now. The prize also stops borrowing the praise channel — arriving in the same slot as PERFECT made it read as another compliment. It gets a card with its own icon. The turn into zombie mode was unwatchable because the zoom started ON it, and the curve render applies is zero at t=0, so the camera only arrived half a second after he had changed. It peaks on the turn now, and the swap lands on a hitstop, a flash and a burst so it reads as an event rather than a glitch. Laser down from 0.55 to 0.22 — zap() sums four voices, so its vol was never one voice's level. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
20a742fbf3
commit
a1a8a61422
7 files changed
+130
-17
No files matched your search
+4
-1
@@ -313,7 +313,10 @@ export function fireBeam(dirX, dirZ) {
|
||||
// what it kills are one geometry
|
||||
CAUSE = 'laser';
|
||||
G.beam = { x: P.x, y: TUNE.beamY + TUNE.beamOriginLift, z: P.z, ux, uz, t: TUNE.beamT };
|
||||
zap(0.55); G.shake = { t: 0.18, mag: 3 }; G.boomFlash = 0.08;
|
||||
// 0.22, was 0.55: zap() sums FOUR voices (crack, two detuned saws, a sub) straight into the
|
||||
// destination, so its `vol` is not one voice's level — it was coming out several times louder
|
||||
// than anything else in the game. Oliver: "laser sound is way too loud."
|
||||
zap(0.22); G.shake = { t: 0.18, mag: 3 }; G.boomFlash = 0.08;
|
||||
for (let i = zombies.length - 1; i >= 0; i--) {
|
||||
const zb = zombies[i];
|
||||
if (!zb) continue;
|
||||
|
||||
Reference in new issue
Block a user