Skip to content

feat: fight Jenny in the boss clearing - #163

Merged
arudaev merged 1 commit into
mainfrom
feature/57-jenny-fight
Oct 24, 2026
Merged

arudaev merged 1 commit into
mainfrom
feature/57-jenny-fight

Conversation

@arudaev

@arudaev arudaev commented Oct 24, 2026

Copy link
Copy Markdown
Member

Closes #57.

Jenny's boss fight in the Rusty Creek clearing. Beating her emits boss-defeated, which starts the ending already on main (#138). With this PR the slice runs from start to finish: title → garden → crash → creek → Jenny's ram → maze → coffee machine → Jenny → ending.

stateDiagram-v2
  [*] --> waiting
  waiting --> rev: hero walks through boss-gate<br/>(wall closes behind, boss bar 30)
  rev --> charge: 1 s (rev clip loops)
  charge --> charge: phase 2 turns at the wall once
  charge --> crash: reaches the far wall
  crash --> stunned: 3 / 4 / 5 parts fly in arcs
  stunned --> reboot: 3 s (2 s in phase 3)
  reboot --> rev: turns round
  stunned --> stall: health 0
  charge --> stall: health 0 (hit from behind)
  stall --> [*]: boss-defeated → Ending
Loading

Rules (docs/05)

Health and phases 30 hits; phases change at 20 and 10
Armour Her nose is armoured: chair hits land from behind or while she's stunned. A hit on the nose clanks and does nothing
Damage The charge does 2 cells, a revving Jenny 1 on contact, and each part 1
Phase 2 She charges twice, turning at the wall, and the last part rolls along the floor like a loose wheel
Phase 3 Shorter stun (2 s) and 5 parts
Dying Resets the fight: the wall opens and the boss bar hides. Once beaten, she stays beaten

Data, not code (#156)

  • Arena: read from collision. The boss-gate box's right edge is the left wall, and the floor line under the jenny spawn ends at the right wall. When Rebuild Region 1 (Rusty Creek) from the art direction #157 rebuilds Region 1, the fight follows the new art with no code change.
  • Clip lengths: from boss-jenny.anims.json and boss-jenny-2.anims.json.
  • Hit box: 250 × 70 px, the car body without the rear wing, inside the ~290 × 134 px sprite (measured on rev-00). It's lower than the hero's 96 px jump, so a charge can be jumped as docs/05 asks.

Checked in the browser (?region=rusty-creek&state=anomaly&boss-test)

Arena read from the data the left wall 5446, the right wall 6010 and the floor 565
Losing rev → charge (the hero takes 2) → crash → stunned → rev → charge → hero dead → the fight resets, the wall opens, the boss bar hides
Winning boss bar "Jenny 30/30" → 30 hits while stunned → stall → gone → boss-defeated → stage frozen, Ending plays (absorb → glitch → "To be continued.")

In my run, the screenshot of the ending shows the ending's tears, the 404 void and the THD.exe "To be continued." window over the clearing.

Checks: typecheck passes, 141 game tests pass (7 new in enemies/jenny.test.ts), the build passes, and check_docs.py passes. docs/05 has a new "In the game" paragraph.

How to test

npm --prefix game run dev

Open http://127.0.0.1:5173/?region=rusty-creek&state=anomaly&boss-test, then Start, walk right through the gate, and:

  • jump her charge (Space or K)
  • hit her from behind or while she's stunned (J)

Dev builds also expose window.game for console checks (the same line as on #154).

Known

Jenny revs, charges nose first, crashes at the far wall, sheds parts and is stunned, in three phases over 30 hits. Her armoured nose takes chair hits only from behind or while she is stunned. The arena comes from collision (boss gate and floor line), and clip lengths come from her anims.json. Beating her emits boss-defeated, which starts the ending. Dev: ?boss-test.
@vercel

vercel Bot commented Oct 24, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated
wincs Ready Ready Preview Oct 24, 2026 1:46am UTC

Request Review

@github-actions github-actions Bot added area:enemies Autonomous robots and Jenny area:docs Design docs, README, contributor guides labels Oct 24, 2026
@arudaev
arudaev merged commit b8748c5 into main Oct 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs Design docs, README, contributor guides area:enemies Autonomous robots and Jenny

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[M4-S5] Jenny: rev, charge, crash, debris, stunned – three phases

1 participant