How KoB Works
Basic Concept
King of the Beach (KoB) is a beach volleyball tournament format where players rotate partners each round while competing as individuals. Unlike traditional team-based tournaments, every player is ranked individually based on their performance across multiple rounds.
The system uses a round-robin rotation within each group where every player partners with every other player exactly once (in a 4-player group, this means 3 matches per round: A+B vs C+D, A+C vs B+D, A+D vs B+C). At the end of each round, players are redistributed to new courts based on their finish position, ensuring balanced competition throughout the tournament.
Example Tournament
Here's how a typical 16-player tournament (4 groups, 4 rounds) works:
Round Progression
Round 1: [C1] [C2] [C3] [C4] (random shuffle) Round 2: [C1] [C2] [C3] [C4] (vertical seeding → ladder) Round 3: [C1] [C2] [C3] [C4] (ladder: 2 up, 2 down) Round 4: [C1] [C2] [C3] [C4] (ladder → Final) 16p is the special case where each tier (4 players) fills exactly one court. Winner = 1st place on Court 1 after final round.
Key Principles
- Partner rotation — you play with and against everyone
- Individual ranking — your score follows you, not your partner
- Group position determines redistribution — finish higher, move up
- Stable court tokens — share a QR code so groups can self-report scores
Tournament Formats
Random Seed Format
The first round is shuffled randomly. After that, players are sorted by finish position within their group and redistributed using vertical seeding (Round 1→2) followed by a ladder system (Round 2+). This format is flexible about round count and works well for casual tournaments.
Round 1 → 2: Vertical Seeding
After Round 1, all players are grouped by their finish position (all 1st places together, all 2nd places together, etc.). Within each tier, players are sorted by points descending, then by point differential descending. The flattened list is then distributed across groups in order.
Algorithm: 1. Group all players by finish position (1sts, 2nds, 3rds, 4ths) 2. Sort each tier by configured tie-breaking rules 3. Flatten: [1sts..., 2nds..., 3rds..., 4ths...] 4. Fill courts sequentially: top players → Court 1, next → Court 2, etc. 16 players (4 courts): Each tier has exactly 4 players → Court 1 = All 1st place (sorted) → Court 2 = All 2nd place (sorted) → Court 3 = All 3rd place (sorted) → Court 4 = All 4th place (sorted) 20 players (5 courts): Tiers cross boundaries → 1sts: top 4 → C1, 5th → C2 → 2nds: top 3 → C2, next 2 → C3 → 3rds: top 2 → C3, next 2 → C4, last → C5 → 4ths: top 1 → C4, next 3 → C5
Round 2+: Ladder System
After Round 2, a ladder system takes effect. The top 2 players from each group move up (or stay), while the bottom 2 move down (or stay). This creates a continuous promotion/relegation dynamic.
Court 1: Keep 1st & 2nd, add 1st & 2nd from Court 2 Court 2: Add 3rd & 4th from Court 1, add 1st & 2nd from Court 3 Court 3: Add 3rd & 4th from Court 2, add 1st & 2nd from Court 4 Court 4: Keep 3rd & 4th, add 3rd & 4th from Court 3 Same logic extends for any court count ≥ 2.
Preseed Format
Players are seeded by their WVV points (or any numeric seed) using a snake draft. The tournament then follows a fixed bracket with recursive binary splits — similar to a tennis tournament bracket but with groups instead of eliminations.
Each round splits every bracket into a winner half (1st+2nd placements) and a loser half (3rd+4th placements). This continues until each group reaches its final position.
Bracket Tree Structure
The bracket tree is determined by the number of courts. Each round, every bracket of size N splits into two equal halves (Winners and Losers). Courts that complete their bracket path early become frozen.
16 Players (4 Courts, 3 Rounds):
Round 1: [C1] [C2] [C3] [C4] (snake seeding)
↓
Round 2: [W1] [W2] | [L1] [L2] (splitSize(4)=2 → 2W+2L, origin mixing)
↓ ↓
Round 3: [F] [L(W)] | [TL] [BL] (each bracket halves: 2→1F+1L(W), 2→1TL+1BL)
Winner bracket (C1,C2): 1sts+2nds → Court 1 (Gold), 3rds+4ths → Court 2 (Silver)
Loser bracket (C3,C4): 1sts+2nds → Court 3 (Bronze), 3rds+4ths → Court 4 (Iron)
32 Players (8 Courts, 4 Rounds):
R1→R2: splitSize(8)=4 → 4W + 4L
R2→R3: Each half of 8 splits independently (splitSize(8)=4 → 4W+4L in winners, same in losers)
R3→R4: Each quarter of 4 splits (splitSize(4)=2 → 2W+2L)Frozen Groups
Frozen groups have completed their bracket path and will not be redistributed further. Their standings are final.
The freeze cascade depends on the group count. Lower groups tend to freeze earlier as they complete their bracket leaves.
Cascade freeze points (examples): 3 courts: C3 after R2 (3→2W+1L, winners halve at R3) 4 courts: C4 after R3 (4→2+2, then 2→1+1) 5 courts: C5 after R2 (5→4+1, overflow freezes), C1-C4 after R4 7 courts: C7 after R3 (7→4+3, losers 3→2+1), C1-C6 after R4 8 courts: C8 after R4 (8→4+4, then 4→2+2, then 2→1+1) 16 courts: C16 after R5 (16→8+8, 8→4+4, 4→2+2, 2→1+1) Frozen courts complete their bracket leaves early and don't participate in further splits.
Format Comparison
| Aspect | Random Seed | Preseed |
|---|---|---|
| Round Count | Flexible | Fixed formula |
| Redistribution | Ladder (2 up, 2 down) | Tiered binary split |
| Seeding | Random shuffle | Snake by points |
| Player Count | 8–64 | 8–64 |
| Best For | Casual / flexible scheduling | Competitive / structured brackets |
Scoring Modes
Single Set
One set played to a target score (default 21, win by 2). Simple and fast — the most common choice for beach volleyball tournaments.
- Target score: 21 points (configurable)
- Win by 2 points
- No cap — deuce continues indefinitely until a 2-point lead is achieved
- Average duration: ~45 minutes
Best of 3
First to 2 sets wins. Each regular set is to 21 (win by 2). If a third set is needed, it's played to 15 (win by 2).
- First to 2 sets wins the match
- Regular sets to 21 points, win by 2
- Deciding set to 15 points, win by 2
- No cap on any set — deuce continues indefinitely
- Average duration: ~55 minutes
Custom
Set your own point targets, set count, and deciding set points. Full flexibility for experimental or house-rule formats.
- Set any number of sets to win
- Set any regular set point target
- Set any deciding set point target
- Win by 2 always applies
Per-Group Overrides
Organizers can override the scoring mode for specific group types (e.g., use Best of 3 on standard 4-player groups but Single Set on 5-player or 6-player groups).
Overrides take effect from the next round. They do not retroactively change already-played matches.
Deuce-Aware Validation
When entering scores, the system validates that the winner reached the minimum points with the required win-by margin. Deuce rules are handled automatically.
If scores are tied at or above the target, play continues until one team leads by 2. The system accepts any valid deuce score.
Valid Score Examples
- 21-19 (win by 2) ✓
- 22-20 (deuce) ✓
- 30-28 (extended deuce) ✓
- 21-20 (win by 1) ✗ — rejected if win-by-2
- 15-13 (deciding set) ✓
Tie-Breaking
Overview
Tie-breaking determines the final ordering of players within a group when they have the same total points. The system uses a configurable chain of factors to resolve ties.
Tie-Break Factors
| ID | Icon | Label | Description | Default |
|---|---|---|---|---|
round_points | P | Points this round | Points scored in the current round only | Enabled |
round_diff | ± | Diff this round | Point differential in the current round only | Enabled |
total_points | Σ | Total points | Total points scored across all rounds | Enabled |
total_diff | Δ | Total diff | Total point differential across all rounds | Enabled |
initial_order | # | Seeding | Original seeding order (pre-determined) | Enabled |
dice | 🎲 | Dice (random) | Random dice roll — fair but unpredictable | Disabled |
manual | ✋ | Manual (organizer) | Organizer can manually reorder tied players | Disabled |
Icon Meaning
In the standings, each factor shows an icon indicating its role in resolving the tie:
5p/6p Normalization
Non-standard group sizes (5-player and 6-player) use normalized scoring to ensure fairness compared to standard 4-player groups.
Round points are averaged per game played, and total points are normalized by dividing by 3 (the standard number of games per round).
Round points (5p/6p): round_points = sum(matchPoints) / gamesPlayed Total points (5p/6p): Each round contributes roundRawPoints / 3 (3 = standard games per round, regardless of games actually played) Example 5-player court: Player A: 3 games, 39 pts → avg 13.0 Player B: 4 games, 48 pts → avg 12.0 Rank: A > B (higher average) even though B has more total points
Where Tie-Breaking Applies
| Context | Factors Used |
|---|---|
| Group standings | All enabled factors |
| Vertical seeding (Round 1→2) | All enabled factors |
| Preseed redistribution | All enabled factors |
| Ladder rank picks | All enabled factors |
| Final positions | All enabled factors |
Configuring Tie-Breaks
Tournament organizers can configure the tie-break rules from the tournament dashboard:
- Reorder factors by dragging them — higher factors are checked first
- Disable factors you don't want to use
- Choose the final tie-breaker (dice or manual) for ties that all enabled factors couldn't resolve
Group Types
Standard 4-Player Group
The standard configuration. 4 players play 3 matches per round, with each player partnering every other player exactly once.
3 matches per round: Match 1: P1 + P2 vs P3 + P4 Match 2: P1 + P3 vs P2 + P4 Match 3: P1 + P4 vs P2 + P3 Ranking: Total points → Diff → playerId
3-Player Groups
When there are 3 leftover players, they form a 3-player group with a solo rotation format.
Each player takes a turn playing solo against the other two as a pair. This ensures everyone plays every possible matchup.
3 players: A, B, C 3 matches per round: Match 1: A + B vs C Match 2: A + C vs B Match 3: B + C vs A Solo player uses all 3 touches Scoring: Same as 4p (default 21, win by 2) Ranking: Total points → Diff → playerId (same games per player) Timing: ~48 min (3 × 14 + 2 × 3 min)
5-Player Groups
When there is 1 leftover player (16 mod 4 = 0, but 17 mod 4 = 1), a 5-player group is created.
5-player groups use a parallel game system with 2 runs of 2 games each. One player plays 4 games while others play 3, with the role randomized each round.
How 5-Player Works
5 Players (A, B, C, D, E): 2 runs × 2 parallel games = 4 games total Games 1 & 2 (Run 1) play interleaved: D and E swap every point. Each point belongs to either Game 1 or Game 2. The waiting player tracks their game's score AND service rotation. RUN 1: Side X: A+B stay on court (fixed team) Side Y: C stays on court (fixed), D and E alternate every point Game 1: A+B vs C+D (D on court, E tracks Game 2 off court) Game 2: A+B vs C+E (E on court, D tracks Game 1 off court) RUN 2: Side X: D+E stay on court (fixed team) Side Y: C stays on court (fixed), A and B alternate every point Game 3: D+E vs C+A (A on court, B tracks Game 4 off court) Game 4: D+E vs C+B (B on court, A tracks Game 3 off court) Partnerships Formed: Run 1: [A,B], [C,D], [C,E] Run 2: [D,E], [C,A], [C,B] (0 duplicate partnerships across the entire match) Game count per player: A: 3 | B: 3 | C: 4 | D: 3 | E: 3 (One player plays 4 games, roles randomized each round. Partnership rule strictly enforced) Ranking: Average points per round → Total points → Diff → playerId
6-Player Groups
When there are 2 leftover players, a 6-player group is created.
6-player groups use a parallel game system similar to 5-player groups. Some players play 3 games and others play 2, with roles randomized each round.
How 6-Player Works
6 Players (A, B, C, D, E, F): 2 runs × 2 parallel games = 4 games total Games 1 & 2 (Run 1) play interleaved: pairs swap every point. Each point belongs to either Game 1 or Game 2. The waiting pair tracks their game's score AND service rotation. RUN 1: Side X: A+B stay on court (fixed team) Side Y: C+D and E+F rotate every point (pairs alternate) Game 1: A+B vs C+D (C+D on court, E+F tracks Game 2 off court) Game 2: A+B vs E+F (E+F on court, C+D tracks Game 1 off court) RUN 2: Side X: C+E stay on court (fixed team) Side Y: A+D and B+F rotate every point (pairs alternate) Game 3: C+E vs A+D (A+D on court, B+F tracks Game 4 off court) Game 4: C+E vs B+F (B+F on court, A+D tracks Game 3 off court) Partnerships Formed: Run 1: [A,B], [C,D], [E,F] Run 2: [C,E], [A,D], [B,F] (0 duplicate partnerships across the entire match) Game count per player: A: 3 | B: 3 | C: 3 | D: 2 | E: 3 | F: 2 (Role randomized each round. Partnership rule strictly enforced) Ranking: Average points per round → Total points → Diff → playerId
Group Timing Reference
| Group Type | Games | Point Target | Est. Duration |
|---|---|---|---|
| 4p (single set to 21) | 3 | 21 | ~60 min |
| 4p (best-of-3 to 15) | ≤9 | 15 | ~55 min |
| 3p (single set to 21) | 3 | 21 | ~48 min |
| 5p (single set to 15) | 4 | 15 | ~60 min |
| 6p (single set to 15) | 4 | 15 | ~60 min |
Actual duration varies based on skill level and how quickly games are played. Times assume continuous play with minimal delays.
Promotion & Relegation
Random Seed Ladder System
After Round 2, the ladder system moves 2 players up and 2 players down between adjacent groups.
16 Players / 4 Courts
ROUND 2 (Vertical Seeding) — 16p special case: 1sts (4) → Court 1 2nds (4) → Court 2 3rds (4) → Court 3 4ths (4) → Court 4 ROUND 3+ (Ladder): C1 ← C1[1+2] + C2[1+2] (top 2 stay, pull top 2 from below) C2 ← C1[3+4] + C3[1+2] (bottom 2 drop, pull top 2 from below) C3 ← C2[3+4] + C4[1+2] (bottom 2 drop, pull top 2 from below) C4 ← C3[3+4] + C4[3+4] (bottom 2 stay, pull bottom 2 from above) Visual flow: Round 2: C1(1sts) C2(2nds) C3(3rds) C4(4ths) Round 3: C1[C1↑+C2↑] C2[C1↓+C3↑] C3[C2↓+C4↑] C4[C3↓+C4↓]
20 Players / 5 Courts
ROUND 2 (Vertical Seeding): 1sts (5): C1×4, C2×1 2nds (5): C2×3, C3×2 3rds (5): C3×2, C4×2, C5×1 4ths (5): C4×1, C5×4 ROUND 3 (Ladder): C1 ← C1[1+2] + C2[1+2] C2 ← C1[3+4] + C2[3+4] + C3[1+2] (3 courts → 4 players from 3 sources) C3 ← C3[3+4] + C4[1+2] C4 ← C4[3+4] + C5[1+2] C5 ← C5[3+4] + (empty) (bottom court keeps bottom 2, no court below) Non-standard bottom court (C5) always gets remaining players.
Preseed Bracket Redistribution
In Preseed format, redistribution follows the bracket tree. Each bracket splits recursively based on finish positions within the bracket.
16-Player Preseed Example
ROUND 1 (Snake Seeding): C1: A(1600) H(900) I(800) P(100) C2: B(1500) G(1000) J(700) O(200) C3: C(1400) F(1100) K(600) N(300) C4: D(1300) E(1200) L(500) M(400) R1 Results → R2 (First Split, splitSize(4)=2): Tiers: 1sts: A,B,C,E 2nds: D,F,J,H 3rds: G,L,N,I 4ths: K,P,M,O Winner bracket (top 8): A(C1), B(C2), C(C3), E(C4), D(C4), F(C3), J(C2), H(C1) Loser bracket (bottom 8): G(C2), L(C4), N(C3), I(C1), K(C3), P(C1), M(C4), O(C2) Origin mixing in Winners: C1: A(C1), C(C3), D(C4), J(C2) ← no 1st+2nd from same origin C2: B(C2), E(C4), F(C3), H(C1) R2 Results → R3 (Subsequent Split): Winner bracket (C1,C2): 1sts+2nds → C1(Gold), 3rds+4ths → C2(Silver) Loser bracket (C3,C4): 1sts+2nds → C3(Bronze), 3rds+4ths → C4(Iron) Final Courts: C1(F): C, B, A, H C2(LW): D, E, F, J C3(TL): G, L, N, O C4(BL): I, M, K, P Final Standings: 1st B, 2nd A, 3rd C, 4th H (Court 1) 5th D, 6th E, 7th J, 8th F (Court 2) 9th G, 10th N, 11th L, 12th O (Court 3) 13th I, 14th K, 15th M, 16th P (Court 4)
Virtual Groups
Overview of how virtual groups are scheduled across physical courts using batch shifts.
Batch Shift Model
When virtual groups outnumber physical courts, the system schedules them in batch shifts. Each shift plays a subset of virtual groups on the available physical courts.
Example: 8 Virtual, 4 Physical
8 virtual courts, 4 physical courts: Shift 1: Virtual courts 5-8 → Physical courts 1-4 (simultaneous) [WAIT] Score entry, redistribution, rest (~10 min transition) Shift 2: Virtual courts 1-4 → Physical courts 1-4 (simultaneous) Order: Bottom courts first (highest numbers), top court last. This ensures championship match is the last match of the tournament.
Example: 12 Virtual, 4 Physical
12 virtual courts, 4 physical courts: Shift 1: Virtual courts 9-12 → Physical courts 1-4 [WAIT] ~10 min transition Shift 2: Virtual courts 5-8 → Physical courts 1-4 [WAIT] ~10 min transition Shift 3: Virtual courts 1-4 → Physical courts 1-4 Total shifts = ceil(12/4) = 3 Round duration ≈ 3 × 45 min + 2 × 10 min = 155 min
Wait Time Forecasting
The system estimates wait times for players based on their shift position. Players in later shifts can see how long until their group plays.
Player on Virtual Court 5 (Shift 2 of 3): - Remaining shifts after theirs: 1 (Shift 3) - Avg court duration: 45 min - Transition time: 10 min - Their shift duration: 45 min - Est. total from now: ~100 min
Practical Implementations
Two Groups on One Court
When you have more groups than physical courts, groups can alternate on the same court.
Two approaches: traditional sequential (one group fully finishes, then the next) or alternating (matches interleaved for better flow).
Traditional vs Alternating
TRADITIONAL (sequential groups): Group A plays all matches → break → Group B plays all matches Group A: Match 1, Match 2, Match 3 (≈45 min) Break: 10 min Group B: Match 1, Match 2, Match 3 (≈45 min) Total: ~100 min for both groups on one physical court ALTERNATING (interleaved groups): Match 1: Group A Match 2: Group B Match 3: Group A Match 4: Group B Match 5: Group A Match 6: Group B Total: ~90 min (no dedicated break between groups, natural rotation) Benefits: - Shorter total duration (no 10-min inter-group break) - Players get natural rest while other group plays - No "cold" start for Group B - Fairer — both groups progress simultaneously - Keeps all players engaged
Tournament Day Timeline
A typical 16-player tournament with 4 groups on 4 physical courts runs in about 4 hours 30 minutes.
TYPICAL 16-PLAYER TOURNAMENT (4 courts, 4 physical): 08:30 Setup, check-in, briefing 09:00 Round 1 starts (all 4 courts) 09:45 Round 1 ends, scores finalized 09:55 Redistribution, player break 10:00 Round 2 starts 10:45 Round 2 ends 10:55 Break 11:00 Round 3 starts 11:45 Round 3 ends 11:55 Break 12:00 Round 4 (Final) starts 12:45 Tournament ends, podium 13:00 Cleanup Total: ~4h 30min WITH VIRTUAL COURTS (8 virtual, 4 physical): Round 1: Shift 1 (VC5-8) 09:00-09:45 → Shift 2 (VC1-4) 09:55-10:40 Round 2: Shift 1 10:50-11:35 → Shift 2 11:45-12:30 Round 3: Shift 1 12:40-13:25 → Shift 2 13:35-14:20 Round 4: Shift 1 14:30-15:15 → Shift 2 15:25-16:10 Total: ~7h 10min
Tips for Organizers
- Print the QR codes for each group and tape them to the net post — players scan to enter their own scores.
- Use a tournament-wide WhatsApp group or Telegram channel for announcements.
- Keep rounds tight with a visible timer. Announce 5-minute and 1-minute warnings.
- Have a substitution list ready for injured players.
- For large tournaments (20+ players), assign a dedicated scorekeeper.
- Use the wait time forecast to manage player expectations across shifts.
- Prepare the final group with a podium area for the award ceremony.