Make the pink weapons throw themselves, and let the big bodies soak
Oliver's playtest of the barrel weapons. Four notes, all four real defects. "The bigger guys were way too easy to kill at the beginning." A bug, and an old one. The ball-vs-body chain handled boss, g/m, s, f and a/b, and everything NOT named in it fell through to "splat-quality kills outright" -- so the STEWARD has died to one serve since the day he shipped with stewardHp 5 and a comment calling it a brute's worth of hp, and the three new bodies inherited that the moment they existed. Pellets and melee always read hp; only the ball skipped it. One generic hpMax > 1 branch now, and measured after: shambler 2, steward 5, brute 5, ball boy 3, bouncer 5, roller man 7 -- each exactly its hp. "I have seen all of them by round 10." The new three move 3/8/15 -> 5/12/20. The original four keep their gates: that curve was already tuned through game 12. "The laser fired only when I tapped, that was confusing." The whole tap-per-round kind is gone. A barrel weapon is now either the normal ball gesture made spectacular or something that fires itself -- nothing waits for a tap. - laser is a serve, and the RAY is the weapon: no ball anywhere in it. The preview IS the wedge, it leaves the RACKET rather than lying on the grass, the release erases the plane along its own path behind a bright front, and the edges are hairlines instead of the heaviest lines on the court. - beacon and rocket are LOBBED bursts -- `arc` turns a flat pellet into a thrown one, solved onto the nearest body ahead, and landing is itself a hit so a rocket that misses still goes off where it lands. The beacon changes colour every ball and drags that colour behind it. - flamer got "way more pronounced": 30 rounds/s, a ~10 m cone, embers. "I got the laser almost every time." A flat 1-in-4 over four items does not feel uniform. BARREL_WEAPONS carries weight and a `from` gate now, never repeats twice running, and the beacon is what you meet first. Measured: laser 16-28%, rocket unlocked at game 12 so it is genuinely a late find. And the barrel keeps its pink halo -- that was always procedural, painted by drawBarrel, and never went near the chroma key. Three rings and a pool on the lawn now, because one flat disc read as a smudge. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
25f915f236
commit
282f5145a9
8 files changed
+363
-98
No files matched your search
+56
@@ -460,6 +460,62 @@ Known generator quirks, all still true:
|
||||
- **Colour-match any regenerated frame** of an existing pair before shipping: fit a per-channel
|
||||
linear map onto the original's mean and sd, then verify with a mean-difference number.
|
||||
|
||||
## Session log: Oliver's playtest of the barrel weapons (2026-08-03, same day)
|
||||
|
||||
Everything below is a fix to what shipped that morning. All four notes were real defects, which is
|
||||
now seven playtests in a row where "this feels odd" was a bug and not taste.
|
||||
|
||||
**"The bigger guys were way too easy to kill at the beginning."** It was a bug, and an old one. The
|
||||
ball-vs-body chain handled boss, `g`/`m`, `s`, `f`, `a`/`b` — and **everything not named in it fell
|
||||
through to "splat-quality kills outright"**. So the STEWARD has been dying to one serve since the day
|
||||
he shipped with `stewardHp: 5` and a comment calling it "a brute's worth of hp", and the ball boy,
|
||||
bouncer and roller man inherited that the moment they existed. Pellets and melee always read `hp`;
|
||||
only the BALL skipped it. It is one generic `hpMax > 1` branch now — hp is the only thing that says
|
||||
how many hits a body takes — and measured after: shambler 2, steward 5, brute 5, ball boy 3,
|
||||
bouncer 5, roller man 7, each exactly its hp. **Anything that adds a body type must NOT need a new
|
||||
branch here; if you find yourself writing one, that is the bug coming back.**
|
||||
|
||||
**"I have seen all of them by round 10."** The new three moved 3/8/15 -> **5/12/20**. The original
|
||||
four keep their gates exactly: the curve through ~game 12 was already tuned and the calibration rule
|
||||
says not to touch it. Their hp came down with the fix landing (9 was a fine number while nobody
|
||||
felt it and a long grind once they did).
|
||||
|
||||
**"The laser fired only when I tapped, that was confusing."** The whole `kind: 'shot'` idea is gone.
|
||||
A barrel weapon is now exactly one of two things, and this is the rule to hold: **either it is the
|
||||
normal ball gesture made spectacular, or it fires itself for a while.** Nothing waits for a tap.
|
||||
- **laser** is a `serve` now: pull, aim, release. **The RAY is the weapon**, so there is no ball
|
||||
anywhere in it — the preview is the WEDGE itself (`drawBeamWedge` at low alpha, not a ballistic
|
||||
band with a target ring), the tap path has its own `tryLaser` so it never tosses a ball it is not
|
||||
going to hit, and `fireBeam` kills everything inside the cone (`beamW0` 0.35 m at the racket to
|
||||
`beamW1` 4.2 m at the far end). Measured: 8 of 11 bodies in one release.
|
||||
Three things Oliver corrected on the second look, all of them "it must read as light he fired":
|
||||
**it leaves the RACKET** (`dragContact()`, y 2.2, settling onto the court as it goes out — drawn
|
||||
flat from his feet it read as a shape lying on the grass); **the release ERASES it along the path**
|
||||
(the plane is whole at the flash and is wiped away from the racket outward behind a bright front,
|
||||
so the shot reads as energy travelling down the lane rather than a decal fading where it lay); and
|
||||
**the edges are hairlines** — at 2.5 px they were heavier than anything else on the court and read
|
||||
as a drawn outline instead of as light.
|
||||
*Gotcha for testing:* `TUNE.pullMin` is 18 **PIXELS**, and `aim.fy` is NEGATIVE for the down-pull.
|
||||
A synthetic `{fx, fy, mag: 0.8}` is silently below the threshold and `previewServe` returns null,
|
||||
which looks exactly like the preview being broken.
|
||||
- **beacon** and **rocket** are `burst` and **LOBBED** — `arc` on the WEAPONS row turns a flat pellet
|
||||
into a thrown one (solved onto the nearest body ahead), and landing is itself a hit, so a rocket
|
||||
that misses still goes off where it lands. The beacon changes colour every ball and drags that
|
||||
colour behind it.
|
||||
- **flamer** got "way more pronounced": 30 rounds/s, a ~10 m cone, fat glowing rounds with embers.
|
||||
**The pale blue washed out to grey over the lawn** — a beam colour has to be saturated (`#3f74ff`),
|
||||
which is the same lesson as the barrel's halo, from the opposite direction.
|
||||
|
||||
**"I got the laser almost every time."** A flat 1-in-4 over four items does not feel uniform. It is
|
||||
weighted and gated now (`BARREL_WEAPONS` carries `weight` and `from`), never repeats twice running,
|
||||
and the beacon is what you meet first. Measured: laser 16-28% depending on the game, rocket unlocked
|
||||
at game 12 so it is genuinely a late find.
|
||||
|
||||
**The barrel's pink is procedural and can be as pink as it likes** — Oliver asked whether it could
|
||||
still have a pink halo given the key eats magenta out of PNGs, and yes: `drawBarrel` paints it at
|
||||
draw time and never goes near the keyer. Three rings plus a pool on the lawn now, because one flat
|
||||
disc read as a smudge.
|
||||
|
||||
## Session log: a rack you fill yourself, and barrels that fill it (2026-08-03)
|
||||
|
||||
The second half of the same ask. **The rack no longer has fixed slots.** It used to be five hardcoded
|
||||
|
||||
Reference in new issue
Block a user