Skip to content

Power-ups: repair, Overdrive and Shield pods - #6

Merged
sbddesign merged 2 commits into
ATLBitLab:mainfrom
saucy-tech:feat/power-ups
Aug 5, 2026
Merged

sbddesign merged 2 commits into
ATLBitLab:mainfrom
saucy-tech:feat/power-ups

Conversation

@saucy-tech

@saucy-tech saucy-tech commented Aug 5, 2026 •

Copy link
Copy Markdown

Three power-ups, per the #gamedev thread. Updated after Brandon's review — see What changed in review at the bottom.

Thirteen pods on a fixed seed, floating and turning to face you. Fly through one to collect it.

Repair pod Overdrive pod Shield pod
Looks like A green heart A violet lightning bolt A blue shield crest
Count 5 4 4
Effect +35 hull 2× fire rate for 10s Damage refused for 10s
Stacks — Yes, duration Yes, duration
Comes back after 25s 30s 30s

Screenshots

Every pod is a glyph inside a ring, turned to face you. The billboard is the load-bearing part: a flat extruded glyph thins to a line twice per rotation and foreshortens into a bar for most of the rest, which is exactly why the first pass read badly at range. The ring is sized so its outer edge is exactly the pickup radius — the frame you can see is the hitbox you are steering at.

Repair pod. Lime, because lime is the hull gauge it refills. Emphatically not red: red in this arena means a mine, and a heal sharing a colour with the one object that takes 45 hull off you is a trap rather than a pickup.

Repair pod

Overdrive pod. A lightning bolt — one silhouette with a hard zig-zag nothing else in the arena has, which is what makes it legible at the range you actually decide whether to turn for it.

Overdrive pod

Shield pod. Blue, pushed well off the Hornet's cyan so it never reads as a contact at range.

Shield pod

Shield holding. A faceted wireframe bubble that brightens sharply over its last two seconds — a second channel saying the same thing as the HUD countdown, for a pilot whose eyes are on the reticle rather than the corner panel.

Shield active

Both buffs up, one counting down. Gauges in the airframe panel with live second counts, and a centre banner for the last five seconds. Overdrive's gauge has gone amber and is flashing; Shield's is still blue with 9.35s on it.

Countdown

How it is built

The pods are the minefield pointed the other way — same seeded placement, same instanced geometry, same contact test. That is deliberate, because it is what makes the numbers argue with each other. A mine is 45 flat damage and a repair pod is 35 flat healing, so both land hardest on the thinnest hull: the Wasp fears the minefield exactly as much as it loves the pods. The heal stays under the mine so a pod never fully pays one back.

Overdrive adds bolts, not bolt damage. This is the important one. spec.damage is untouched, so alpha strike — and therefore every one-volley-kill threshold in the game — is invariant under the buff. It also does not discount gun heat, so a boosted Wasp banks heat twice as fast and redlines in half the time:

             stock  overdrive   gain   alpha   repair
  Wasp        47.1       73.8  1.57x       5      50%
  Hornet      66.7      133.3  2.00x      20      29%
  Drone       46.7       93.3  2.00x      40      18%

That alpha column is the unboosted one and stays that way. The airframe that already fires fastest gaining least from firing faster still is the argument the heat quirk makes everywhere else.

A Shield refuses damage outright — bolts, mines, station scrapes, the star. Three things deliberately do not happen while it holds:

  • the damage clock does not reset, so a shielded Drone keeps repairing;
  • the refused hit is not credited to the shooter, because onDamaged is what the loop counts as "a hit landed" and letting it fire would inflate the accuracy stat with bolts that accomplished nothing — the same trap sear damage already has a comment about;
  • the ship stays targetable, so bolts still arrive and splash. A shield you cannot see working is a shield nobody believes in.

Both timed pods stack. Stacking duration is safe in a way stacking magnitude is not: the effect is a fixed 2× whether you hold one pod or four, so the ceiling never moves and the harness has one number to check. Deliberately uncapped — with four pads on a 30s respawn, the real limit is how much of the arena you are willing to cross instead of fighting.

Pods are player-only. Nothing in EnemyPilot steers toward one, so a hostile collecting one would be a coin flip with no tell and no counterplay. That is the one place this breaks the repo's "one flight model, both sides" rule, so it is argued out at the top of src/world/pickups.ts rather than left to be discovered.

Checks

npm run check is green. New coverage:

  • simcheck — placement per kind (clear of spawn, stations, mines and each other), contact, collection, respawn timing, the full-hull no-op, that repair does not restart the nanite delay, the measured 2× rate and 2×-not-4× total, that a boosted bolt still does exactly its spec damage, that a Shield refuses damage without crediting the shooter, that a shielded Drone keeps repairing under fire, and that both buffs stack, expire, and do not survive a respawn. Also asserts the contact sphere is wider than the fastest airframe travels in one MAX_STEP frame.
  • balance — boosted DPS and TTK matrices, plus contract checks that the buff is worth the detour, that it never exceeds the rate multiplier (which would mean bolt damage crept back in), that no boosted volley can one-shot any hull, that a repair pod does not undo a mine, and that a Shield cannot outlast the worst the arena can do.

What changed in review

  • Overdrive is 2× total, not 4×. Dropped the bolt-damage multiplier; the rate increase carries it. This also fixed the thing I flagged last round — an overdriven Drone one-shotting a Wasp. Boosted TTK now bottoms out at 0.78s, above even the stock 0.6s floor.
  • 10s, stacking, countdown at 5s, for both timed pods.
  • New Shield pod, blue.
  • Overdrive glyph redesigned from a pair of stacked chevrons to a lightning bolt, and every pod now billboards inside a ring. The chevrons were accurate — the buff is a rate increase — but they were two small shapes with a gap that closed at distance, so they read as one blocky arrow.

Two smaller things I caught while shooting the screenshots and fixed:

  • The killfeed's +10s uppercased to +10S, which reads as +105 in this font. Now +10 SEC.
  • The countdown banner sat on the callout's baseline, so a SHIELD UP callout landed on top of an Overdrive countdown. Moved below the callout line.

Worth your eye: thirteen pods is a lot of objects in the arena, and because they billboard, distant ones read as small bright rings. It looks good to me, but it is more visual furniture than the arena had before — say the word if you want the counts down. All counts, durations and respawns are one-line constants at the top of src/world/pickups.ts.

Still drafted for feedback before marking ready.

🐝 Opened by Bumble from the #gamedev thread.

Nine pods on a fixed seed, floating in the arena. Fly through one to
collect it.

  Repair pod (green heart)     +35 hull, six of them, back after 25s
  Overdrive pod (violet ^^)    2x fire rate and 2x damage for 18s,
                               three of them, back after 45s

Built as the minefield's mirror — same seeded placement, same instanced
geometry, same contact test — because that is what makes the numbers
argue with each other. A mine is 45 flat damage and a pod is 35 flat
healing, so both land hardest on the thinnest hull: the Wasp fears the
minefield exactly as much as it loves the pods. The heal stays under the
mine so a pod never fully pays one back, or the minefield stops being
terrain you route around and becomes a toll.

Overdrive multiplies out to 4x damage, but not for everyone. It does not
discount gun heat, so a boosted Wasp banks heat twice as fast and
redlines in half the time — 3.1x sustained against the full 4x on the two
guns without a heat quirk. Left uncompensated on purpose: the airframe
that already fires fastest gaining least from firing faster still is the
argument the quirk makes everywhere else.

Pods are player-only. Nothing in EnemyPilot steers toward one, so a
hostile collecting one would be a coin flip that quadrupled its damage
with no tell and no counterplay. That asymmetry is the one place this
breaks the "one flight model, both sides" rule, so it is argued out at
the top of world/pickups.ts rather than left to be discovered.

HUD: a violet gauge in the airframe panel for the whole buff, and a
centre countdown for the last ten seconds. A second pod refreshes the
clock rather than stacking it.

Checks: simcheck covers placement, contact, collection, respawn, the
full-hull no-op, that repairing does not restart the Drone's nanite
delay, and that Overdrive expires and does not survive a respawn. The
balance harness measures the boosted DPS and time-to-kill matrices and
asserts the pods are worth the detour, the heal does not undo a mine,
and no boosted kill lands too fast to see.
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Delineator Team on Vercel.

A member of the Team first needs to authorize it.

Review feedback from the #gamedev thread.

Overdrive
  Halves the fire interval and no longer touches bolt damage, so total
  output is 2x rather than 4x and the way you see it is the rate of
  fire. That also removes a nasty second-order effect: the old 2x-damage
  bolt pushed a Drone's volley to 80 against a 70-hull Wasp, deleting one
  between frames with no hit flash and nothing to read. Alpha strike is
  now invariant under the buff, and the harness asserts it — measured
  boosted TTK bottoms out at 0.78s, above even the stock 0.6s floor.

  Duration 18s -> 10s, and pods now stack instead of refreshing. Stacking
  duration is safe in a way stacking magnitude is not: the effect is a
  fixed 2x whether you hold one pod or four, so the ceiling never moves.

Shield
  New blue pod. Refuses incoming damage outright — bolts, mines, station
  scrapes, the star — for 10s, stacking. Three things deliberately do not
  happen while it holds: the damage clock does not reset, so a shielded
  Drone keeps repairing; the refused hit is not credited to the shooter,
  so it cannot inflate accuracy the way sear damage once did; and the
  ship stays targetable, so bolts still arrive and splash. Rendered as a
  faceted wireframe bubble that brightens over its last two seconds.

Countdown at 5s for both, from one shared constant.

Pod glyphs
  Every pod is now a glyph inside a ring, turned to face you. The
  billboard is the load-bearing part: a flat extruded glyph thins to a
  line twice a rotation and foreshortens into a bar for most of the rest,
  which is why the old stacked chevrons read as a blocky arrow at any
  distance. Overdrive is now a lightning bolt — one silhouette with a
  hard zig-zag nothing else in the arena has.

  The ring is sized so its outer edge is exactly PICKUP_RADIUS: the frame
  you see is the hitbox you are steering at. Its inner edge clears every
  glyph by a wide margin, because the first attempt had icons touching
  their frames and both bloomed into a single filled disc.

Also fixed: the killfeed's "+10s" uppercased to "+10S" and read as
"+105" in this font, and the countdown banner sat on the callout line so
a "SHIELD UP" callout landed on top of an Overdrive countdown.

Counts are now 5 repair / 4 overdrive / 4 shield, respawning at
25 / 30 / 30 seconds.
@saucy-tech saucy-tech changed the title Power-ups: repair pods and Overdrive Power-ups: repair, Overdrive and Shield pods Aug 5, 2026
@saucy-tech
saucy-tech marked this pull request as ready for review August 5, 2026 19:58

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 89c68b9679

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/world/environment.ts
@vercel

vercel Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
neon-orbit Ready Ready Preview Aug 5, 2026 8:10pm

Request Review

@sbddesign
sbddesign merged commit 326b425 into ATLBitLab:main Aug 5, 2026
1 check failed
@sbddesign sbddesign mentioned this pull request Aug 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants