Skip to content

Mythic Masters: orbit-and-commit combat, weighty attacks (parallel round) #2945

Closed

Description

@QuinnsCode

Part of #2802. Parallel to the art hill climb in #2943.

The goal (owner's words, tidied)

Fights should be less about running in circles at each other and more about weighty, committed melee. The owner is happy to circle: the fighter orbits the opponent, and the opponent can switch circle direction, but the two never stand and face each other down in a straight line. Attacks should feel heavy, in the way of a slow stamina-gated action game: a wind-up you commit to, a hit that lands with weight, a recovery you can be punished in.

Feel targets

  1. Orbit, don't charge. Movement is circling the opponent (strafe on a ring around them, forward/back to close or open the gap). The camera frames both. No straight head-on standoff.
  2. Committed attacks. Longer, readable wind-ups on heavy moves, no cancelling out of an attack, real recovery frames that leave you open. Light moves stay quick but still commit.
  3. Stamina is the limit. Every swing and dash costs stamina; running dry leaves you open. Guarding and dodging cost it too.
  4. Weight you can see. Bodies drop their weight into a swing, hits stop the world for a beat, big hits stagger and push the other beast back, the camera gives a small shove.
  5. Opponent that fights this way. The bot circles, switches direction now and then, baits a swing and punishes the recovery. It doesn't mirror you in a straight line.

Workers (all from main, one PR each, never stacked; Mervin settles overlap in sim.ts)

Area Main files
A. Orbit movement and lock-on camera src/sim.ts (movement, facing), src/controls.ts, src/main.ts camera
B. Weighty attacks: wind-up, commitment, recovery, stamina costs, balance src/sim.ts (frames, costs), src/moves.ts, src/balance.json
C. Opponent AI that circles and punishes src/bot.ts
D. Weight you can see: body pose, hit reactions, camera shove, effects src/beasts.ts, src/fx.ts, src/main.ts

Run bun run tune 800 for bot balance and keep the suite green. Check a fight in the running app (?a=..&b=..&skin=..&watch=1) before opening the PR.

Rules

  • No names of commercial games anywhere (code, docs, commits, PRs, issues): say "weighty stamina-based melee".
  • Each PR says "Part of #N", not a closing word, until the owner agrees the feel is right.
  • Check in with the owner after each worker's first PR: this is a feel change and needs hands on a controller.

Activity

  1. self-assigned this
    on Oct 31, 2026
  2. added 5 commits that reference this issue on Oct 31, 2026
  3. QuinnsCode commented on Oct 31, 2026

    @QuinnsCode
    OwnerAuthor

    Area C (opponent AI) is up as PR #2949, Part of #2945. It needs the owner's hands-on feel check on a controller before the feel is called right. Leftovers (wider circle once orbit movement lands, fight shots) are in #2951.

  4. QuinnsCode commented on Nov 6, 2026

    @QuinnsCode
    OwnerAuthor

    Triage 2026-11-06 (Bolt): covered, nothing to redo.

    What's left is the climb's own target (7/10, judged by you) and those two MANUAL RUNs. This issue holds no other work.

  5. QuinnsCode commented on Nov 9, 2026

    @QuinnsCode
    OwnerAuthor

    Done, from the 2026-11-09 board scan (notes/audit/2026-11-09-*.json): Areas A-D landed in #2959 (merged); feel goes on as combat-feel climb #4046, owner's controller checks are MANUAL RUNs #2964 and #2947

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions