Losowy podział na drużyny
Wpisz listę uczestników (jedna osoba na linię) i wybierz liczbę zespołów. Narzędzie tasuje listę algorytmem Fishera-Yatesa (gwarantującym równe prawdopodobieństwo każdej permutacji), a następnie rozkłada uczestników metodą round-robin - by drużyny były możliwie równej wielkości.
Algorytm Fishera-Yatesa - dlaczego on?
Klasyczny shuffle() typu "sortuj losowo z funkcji Math.random()-0.5"
to biased shuffle - niektóre permutacje są częstsze. Fisher-Yates
działa odwrotnie: iteruje od końca tablicy i każdą pozycję zamienia z losowo
wybraną z pozostałych. Każda permutacja ma identyczne prawdopodobieństwo - to
matematyczna gwarancja sprawiedliwości.
Round-robin - jak balansujemy drużyny?
Po przetasowaniu pierwszego osoby idą po kolei do drużyn. Przy 7 osobach i 2 drużynach: 1→A, 2→B, 3→A, 4→B, 5→A, 6→B, 7→A. Wynik: 4 vs 3. Bez tego algorytmu losowanie mogło dać 6 vs 1 - matematycznie poprawne, ale bezużyteczne do gry.
Przykładowe zastosowania
- Pierwszy mecz po pracy - 10 osób, 2 drużyny po 5
- TFT/LoL Custom Game - 8 osób w 4 drużynach po 2
- Warhammer turniej - 16 osób w 4 grupach po 4
- Klasa szkolna - 28 dzieci w 4 zespołach projektowych
- Wieczór gier - rzut przed grą Codenames lub Mafia
- Bieg drużynowy - 30 osób w 6 sztafetach
- Quiz / Familiada - 12 graczy w 3 zespołach
Wskazówki dla organizatora
- Imię + nazwisko - jeśli w grupie są dwie Anny, dopisz inicjał: "Anna K.", "Anna M."
- Reroll - kliknij ponownie "Wylosuj" jeśli skład wydaje się niesprawiedliwy
- Balanced - przed losowaniem skala umiejętności (1-5) i ręczne dopasowanie
- Captain's pick - alternatywa: dwóch kapitanów wybiera na zmianę
Inne metody losowania drużyn
Wybór sportowy (snake draft)
W NBA Fantasy używa się snake draft: kapitan A wybiera 1., kapitan B - 2. i 3., kapitan A - 4. i 5., itd. Bardziej sprawiedliwie niż zwykły draft (gdzie pierwszy zawsze najlepszy).
Bracket drabinkowy
Turnieje pucharowe: 8 osób, 4 mecze, zwycięzcy idą dalej. Losujemy parowanie - tu też przyda się shuffle.
Round-robin (każdy z każdym)
Dla małych turniejów - każdy gra z każdym. 6 zawodników to 15 meczy. Często używane w grach planszowych (Splendor, 7 Wonders) na turniejach.
Generator z balansem umiejętności
Profesjonalne narzędzia dodają rating każdej osoby (1-10) i tworzą drużyny o zbliżonej sumie. Przykład: 4 osoby, 2 drużyny:
- Osoba A - rating 9
- Osoba B - rating 7
- Osoba C - rating 5
- Osoba D - rating 3
Optymalny podział: A+D (9+3=12) vs B+C (7+5=12). Standardowy algorytm randomu mógłby dać A+B vs C+D (16 vs 8) - przewaga oczywista.
Dlaczego losowanie jest sprawiedliwsze niż wybór?
Captain's pick ma jeden problem - osoby wybierane na końcu czują się odrzucone. Losowanie eliminuje ten efekt. Każdy ma równe szanse trafić do każdej drużyny, frustracja społeczna minimalna. Dla małych grup (3-6 osób) różnica nieistotna; w grupach 10-30 - kluczowa.
Polskie kółka spinów - małe historie z internetów
W Polsce popularne są "kółka decyzyjne" w Instagramie i TikToku - prosty losownik z imionami "Kto stawia obiad?", "Kto pije pierwszy?". Z tej zabawy się rozwinęły apps typu Spinwheel, Wheel of Names, a nasz losownik drużyn to ich logiczne rozszerzenie - więcej niż jeden zwycięzca.