Log inGet started
World

Fencing with Fences

Branchmain
Branchesmain
Commitc0197a6317

README.md

FencerAI

The neighbour across the line. Sits beside a Fencer (role = "rival") and drives it through the same public methods a human's input reaches, so it plays by exactly the rules the player does.

What it does

  • Keeps the measure. Between decisions it sits inside its own thrust measure rather than at the far edge of it, and breaks ground when crowded.
  • Reads the tell. Seeing a wind-up costs 0.34 - 0.20 * skill seconds, so a thrust's 0.22 s tell is under an ordinary neighbour's eye and a sweep's or a lunge's is not. A read thrust or lunge is answered with a guard; a read sweep is answered by not being there, because a broadside crashes through a guard.
  • Keeps a book. Every commitment the opponent makes is counted into a decaying tally. A man who has thrust four times running meets a guard that went up before the wind-up it answers — which is the only reply to a tell too short to see. A man who keeps holding a guard meets a broadside. A man who keeps swinging broadsides takes the parry's weight back out of the book.
  • Punishes an opening. A blade that whiffed or was turned aside recovers from a debt; that is an opening, and an ordinary recovery is not.
  • Takes its riposte without thinking, at the extended measure a riposte reaches.
  • Observes the forms. A neighbour does not run a man through who has not raised his panel. When the opponent has offered nothing for a while, the invitation is waited for — for patience seconds' worth of good form — and the measure is held rather than closed. The riposte, the punish and the read all run above this, so the courtesy costs nothing against a man who is actually fencing; it is felt only by one who is not.

Style

style names which neighbour's fencing this is, and it is what makes the roster three opponents rather than one opponent at three settings. It is set from DuelMatch.neighbourKey, and the table it selects lives in duel.STYLES.

  • Mrs Pettifer keeps bees and keeps her distance. She stands at the far edge of the measure, takes a long time over a decision, will not be hurried into a lunge, and will wait all afternoon for a man who has not yet offered anything.
  • Major Wickham fenced for the regiment and remembers everything. He fences the man rather than the measure: a stroke thrown twice is a stroke he has already answered, and the third one meets the answer waiting for it — a guard already rising against a repeated thrust, a thrust inside a repeated broadside's wind-up, a broadside through a panel that keeps being hidden behind.
  • The Dowager Lady Ashcombe has not surrendered a boundary in forty years. She fights close, gives no ground, favours the broadside and the lunge, and fences hardest of all with her own hedge behind her: ardour reports the quality she is actually fencing at, which rises with the line as it comes back toward her.

Skill

skill (0..1) moves six things at once: how quickly the eye settles on a wind-up, how reliably that read turns into the right answer, how often an opening is punished, how briskly it decides, how strongly the book steers it, and — the one that shows most — how truly it judges the measure. A low neighbour believes his panel is longer than it is and throws from too far out, whiffing and handing over the openings a good one never gives.

Fields

skill, style, opponent (left unset, it finds the role = "player" fencer), and the live read-outs decision, reading (attacker | turtle | sweeper | mixed), thinkIn, sawExposed, idleFor, indulge, ardour, and the habit* counters.

Requires the duel module.