WP Manifestindependent plugin directory
manifest / events / tabletop-events-tournaments

Tabletop Events Calendar — Tournaments

Swiss pairings and standings for competitive Tabletop Events Calendar events. Companion plugin for TABARC-Code/tabletop-gaming-events

by TABARC-Code · github.com/tabarc-code/tabletop-events-tournaments · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/tabarc-code/tabletop-events-tournaments/archive/refs/heads/main.zip

Swiss pairings and standings for competitive Tabletop Events Calendar events.

Requires Tabletop Events Calendar — this plugin does nothing without it.

What it does

  • Set up a tournament against an event, add players by hand or import them straight from that event's confirmed RSVPs, and generate Swiss pairings round by round from wp-admin.
  • Score, opponent history, and a Buchholz tie-break are all tracked automatically; a result can be corrected after the fact without throwing the standings off.
  • Odd number of players in a round gets a bye (an automatic win) — handed to the lowest-ranked player who hasn't already had one, not always whoever's dead last.
  • [tabletop_tournament_standings event="123"] — a public, read-only view of the current standings and this round's pairings, so players don't need to keep asking the organiser.

Running a live Swiss tournament is an active, in-the-room job — pairing a round, taking results as they come in — not a one-off self-service edit like everything else in this family. It gets the same treatment as review and listing moderation elsewhere: a wp-admin tool, authenticated the normal WordPress way. The public side (standings, current pairings) stays a plain read-only shortcode with no login involved.

On the pairing algorithm

It's a deliberately simplified greedy Swiss pairer, not a full constraint solver: rank by score then Buchholz, pair down the list, skip a rematch if there's an alternative available. For a shop or convention-sized field over a handful of rounds that's plenty, and it's a lot easier to read, trust, and debug than "proper" Swiss-pairing software would be.

Not yet wired into the core plugin's ranking-circuit tags (ITC/UKTC/etc.) — that's a natural next step once there's real usage to design against, rather than guessing at a scoring format nobody's asked for yet.

Licence

GPL v2 or later.