Let players challenge each other to duels #173

Open
opened 2026-10-25 02:38:32 +00:00 by sermuns · 0 comments
Owner

Events are a server-wide vote; sometimes two people just want to settle something. A duel is a challenge aimed at one player: first to a landmark, first goal, a sumo shove on the oval, or a trick battle at the skate spot. The challenger picks the contest, the target accepts or declines, and the server owns the start and the result. It is the smallest possible competitive loop, and it makes eye contact meaningful.

How it fits. The event machinery already has a server clock, participants, phases and a scoreboard. A duel is that machinery with two participants and a challenge handshake, not a second competition system. The challenge and the answer are tiny append-only messages; the actual contest is derived from poses, exactly as event scoring is.

Scope.

  • Aim at a player and open a small challenge picker.
  • Accept or decline with a timeout; no challenge spam.
  • Reuse EventPhase and EventState with a duel flag and two participants.
  • Define three contests: a foot race to a named place, a sumo circle, and a trick score.
  • A result banner and a short rematch prompt.

Related. #198 (party), #196 (replay), #200 (records), #206 (spectating).

Events are a server-wide vote; sometimes two people just want to settle something. A duel is a challenge aimed at one player: first to a landmark, first goal, a sumo shove on the oval, or a trick battle at the skate spot. The challenger picks the contest, the target accepts or declines, and the server owns the start and the result. It is the smallest possible competitive loop, and it makes eye contact meaningful. **How it fits.** The event machinery already has a server clock, participants, phases and a scoreboard. A duel is that machinery with two participants and a challenge handshake, not a second competition system. The challenge and the answer are tiny append-only messages; the actual contest is derived from poses, exactly as event scoring is. **Scope.** - Aim at a player and open a small challenge picker. - Accept or decline with a timeout; no challenge spam. - Reuse `EventPhase` and `EventState` with a duel flag and two participants. - Define three contests: a foot race to a named place, a sumo circle, and a trick score. - A result banner and a short rematch prompt. **Related.** #198 (party), #196 (replay), #200 (records), #206 (spectating).
Sign in to join this conversation.
No description provided.