Švýcarský/Dánský/Španělský systém - nový program pro pořadatele turnajů
Posledních několik týdnů v rámci příprav na první španělské turnaje jsem se vrhl na programování a vytvořil vychytávku, o které jsem přesvědčen, že ji využijete i v ČR. Jedná se o program pro vedení turnaje mírně upraveným Švýcarským systémem. A vzhledem k tomu, že první pokus o jeho naprogramování začal před 3 roky ještě v ČR, dokončil jsem jeho první verzi v češtině, která je vám, kuličkářům, zdarma k dispozici.
Co program umí?Program obsahuje jak praktické vychytávky pro pořadatele, které urychlují celý turnaj, tak i jednu, kterou jsem doposud v žádném jiném sportu neviděl a díky které můžeme opět přinést do světa něco, na co můžeme být pyšní.
Komunikace se svazovým serveremJedním kliknutím si stáhnete databázi hráčů, kteří figurují v plovoucím NŽ, ze serveru. Kromě klasické možnosti prezentace, kdy jednoduše do formuláře píšete jména hráčů a jejich pozice v NŽ, po stažení databáze můžete prezentovat jedním kliknutím na tlačítko vedle jména hráče. Krom toho můžete využít vychytávku, která se mě osobně obzvláště líbí - prezentaci pomocí QR kódů.
QR kódyHráčům je možno vytisknout QR kódy obsahující jejich registrační číslo (jedná se o vestavěnou funkci programu, kterou si případně vedení svazu může snadno naimplementovat do hráčských účtů - takže by si každý mohl kód natisknout před turnajem). Pomocí QR kódů lze hlásit výsledky zápasů - místo toho, abyste stáli frontu u pořadatelského stolku a pořadatel riskoval, že ve stresu něco zapíše špatně, jednoduše vítěz zápasu na vteřinu umístí svůj QR kód před webkameru počítače (nebo připojeného zařízení, např. telefonu - s věcmi, které běžně nosíme u sebe se dají v tomto ohledu dělat různá kouzla) - a výsledek je nahlášen.
QR kód je použitelný i pro příští turnaje, díky čemuž se pomocí něho mohou hráči zaprezentovat - opět jednoduchým přiblížením QR kódu - a jejich jméno, registrační číslo a umístění v plovoucím NŽ bude programem zaregistrováno. Jen pro to startovné budete ještě pořadatelé muset natáhnout ruku manuálně
Inteligentní přidělování důlkůSystém posílá hráče na důlky tak, aby pokud je to možné, stejný hráč nehrál na stejném důlku 2x. Pokud to možné není, snaží vybrat čísla důlků tak, aby na daném důlku dříve hráli oba z dvojice soupeřů a nebo aby alespoň na daném důlku hráč hrál před co nejdelší dobou (systém považuje za větší nedokonalost, pokud by někdo hrál na stejném důlku 2x za sebou než když by šel na stejný důlek poté, co několikrát hrál jinde).
Snadné zadávání výsledkůKdo jste pracoval se Swiss Perfect, tak tohle jistě oceníte. Výsledky zadáte na 1 kliknutí (pokud nepoužijete systém QR kódů, kdy nemusíte dělat vůbec nic). Oba systémy (manuální zadávání a QR kódy) lze kombinovat, takže i v případě, že jen část hráčů má natištěné kódy, lze je použít.
Inteligentní řazení zápasůPři prezentaci (a kdykoliv později v průběhu turnaje) můžete u konkrétních hráčů zaškrtnout políčko "pomalu hrající hráč". Tito hráči budou vždy v seznamu zápasů mezi prvními (toto nastavení má vliv pouze na pořadí na listině zápasů, nikterak neovlivní los soupeřů). Zejména pokud máte méně důlků, takže nehrají všichni najednou, toto nastavení může výrazně ušetřit dobu potřebnou pro odehrání turnaje.
Hlasové posílání hráčů na důlkyVědom si nebezpečí namožení mimických svalů pořadatele věčným vyhlašováním zápasů jsem program uzpůsobil tak, aby po jednoduchém nainstalování doplňku prohlížeče a připojení počítače k reproduktoru uměl přečíst text a poslat hráče na důlky. Stejně tak je možné před začátkem turnaje nechat přečíst prezenční listinu (hodí se pro ověření, že všichni jsou zaprezentováni), po zadání výsledků jejich přehled (pro kontrolu, že nedošlo k chybě) a pro oživení turnaje můžete kdykoliv nechat přečíst průběžné výsledky.
V praxi mám zkušenost, že se s vámi jako pořadatelem často hráči potřebují o něčem individuálním pobavit. Můžete tak nechat vyhlašování na počítači a věnovat se mezitím hráčům.
Odhad délky turnajeNa základě počtu hráčů a důlků vám systém spočítá odhadovaný konec turnaje pro varianty při hře na 1 - 5 vítězných her a v průběhu soutěže tento odhad aktualizuje. Pomůže vám tak zvolit správný počet vítězných her pro váš turnaj, aniž byste byli později překvapeni.
Synchronizace dat mezi různými zařízenímiDíky této funkci budete moci uploadovat data turnaje na svazový server a ty později stáhnout na jiné zařízení (počítač, mobilní telefon, tablet...). Tuto funkci využijete zejména v situaci, kdy tento program spouštíte na zařízení, jehož baterie nevydrží po celou dobu turnaje. Díky synchronizaci tak můžete později na novém zařízení pokračovat ve vedení turnaje bez toho, že byste museli kromě synchronizace dat cokoliv znovu zapisovat.
Další vlastnosti systémuStejně jako ve Švýcarském systému lze přijmout do turnaje i hráče, který přijde pozdě. Stejně tak není problém, pokud někdo v průběhu soutěže odstoupí. Velmi využijete třeba i při různých náborových turnajích.
Všichni hrají stejný počet kol, nikdo nevypadává. V průběhu turnaje jsou k sobě párováni soupeři se stejným počtem vítězství, tzn. že hrajete mnohem více vyrovnanějších zápasů - patříte-li mezi špičku, narážíte na stále lepší hráče, naopak jako nováček se brzy dostanete k soupeřům, které máte větší šanci porazit.
Výhody programu oproti Swiss PerfectuSwiss Perfect dodržuje pravidlo, že by hráč neměl hrát více než 2x za sebou se stejnou barvou figurek - proto jeho párování není pro naše účely 100% perfektní. Můj program toto omezení samozřejmě nemá.
Možnost, aby oba soupeři získali v zápase 0 bodů, pokud ani jeden nepřijde k utkání.
Po kliknutí na jméno hráče ve výsledkové listině se objeví tabulka s přehledem jeho zápasů. V případě chyby lze zde výsledek zápasu opravit, a to i několik kol poté, kdy k chybě došlo (mám pocit, že toto u SP nešlo, ale jist si tím nejsem).
Bezpečné odpárování aktuálního kola. SP na to má nějakou klávesovou zkratku a pamatuji si na turnaj, kdy ji pořadatel omylem párkrát stiskl a divil se, že výsledky předchozích kol byly smazány. V mém programu kolo odpárujete jen v případě, že tak skutečně chcete učinit.
Systém se liší od klasického švýcara v tom, že spolu vždy hrají stejně silní soupeři (tj. se stejným počtem vítězství), jediná výjimka nastává, pokud je počet hráčů se stejným počtem bodů lichý - pak 1 hráč z nižší bodové skupiny je přesunut do vyšší.
Díky výše zmíněnému se může stát, že během turnaje na sebe narazí stejní soupeři 2x. Testování ukázala, že pokud se hraje na doporučený počet kol (tj. tolik, kolik by bylo třeba v KO pavouku), nastane tato situace max. 1x za turnaj - ve většině herních systémů jako např. skupiny + pavouk na 2 porážky k tomuto jevu dochází mnohonásobně častěji.
Pokud by došlo k selhání techniky (nebo pořadatele, resp. jeho neschopnosti ohlídat si stav baterie počítače
), lze napárovat další zápasy ručně mnohem lehčeji než v klasickém švýcaru.
Díky tomu, že program se spouští v internetovém prohlížeči, bylo dále možné dosáhnout následujícího:
1. Lze jej spustit pod libovolným operačním systémem, takže např. i na telefonech či tabletech s Androidem.
2. Má responzivní design (pro netechniky: na mobilních telefonech se zobrazuje trochu jinak než na počítači, aby se lépe ovládal).
3. Můžete si snadno zvětšit/zmenšit písmo (jedná se o standardní funkci prohlížeče).
4. Fungují prohlížečové klávesové zkratky jako CTRL + F (využijete např. při rychlém prezentování hráčů ze stažené databáze)
5. Možnost fullscreen modu (opět standardní prohlížečová funkce volaná zpravidla klávesou F11).
6. Diakritika funguje bez nutnosti neintuitivního nastavování (kdo není v obraze, Lenka Nedvídová jistě záležitost vysvětlí
)
Možné použití systému systémuPro vedení turnaje od začátku do konceJednoduše místo klasického švýcara vedeného pomocí Swiss Perfectu použijete tento program.
Tento systém + závěrečné skupinySystém vhodný ve 2 situacích:
1. Chcete více zápasů než je optimální pro tento systém (tj. tolik zápasů, kolik by se hrálo v pavouku na 1 porážku).
2. Chcete, aby 1 porážka neznamenala ztrátu (při určitém počtu účastníků ne jistou, ale stále pravděpodobnou) možnosti zvítězit v turnaji.
Jednoduše odehrajete ideální počet kol a následně např. 4 nejlepší hrají o 1. - 4. místo, další 4 o 5. - 8. místo. U dohrávek se vám nabízí široká škála možností, jak je zorganizovat (K. O., zvýhodněný pavouk, každý s každým...)
Alternativa k základním skupinámMísto systému skupin s postupem do pavouka můžete hrát tímto systémem na libovolný počet kol (není nutné, aby zůstal jediný hráč bez porážky, takže třeba 4 - 5 kol pro 64 hráčů není problém). Oproti skupinám má tento způsob hraní základní části turnaje své výhody:
1. Nestane se, že by jednomu hráči šlo o postup a druhému ne, a tudíž by mohl zápas vypustit (ať již úmyslně nebo třeba z nedostatku motivace - oba soupeři na tom pokaždé budou přibližně stejně dobře nebo špatně).
2. Snadné následné nasazení do pavouka. Postoupí-li např. 32 hráčů, jednoduše hraje 1 s 32, 2 s 31 atd.
3. U skupin může nastat, že se vytvoří papírově silnější/slabší skupiny, pokud na turnaji jsou dobří hráči, kteří poslední dobou nechodili často a jsou v nasazovacím žebříčku podhodnoceni. Tento systém je jedna velká skupina, takže tento problém odpadá.
4. Na turnajích s kvalitní konkurencí spousta hráčů ztrácí motivaci bojovat na 100% ve skupině. Jsou si vědomi toho, že i vítězství ve skupině může znamenat hrát v pavouku 1. kolo s hráčem ze špičky NŽ. V tomto systému vítěz základní části hraje s posledním postupujícím, tzn. měla by být skutečně výhoda základní část vyhrát (nebo být co nejvýše).
Název systémuNa tomto místě bych rád využil vašich znalostí o systémech a malinko rozvedl diskusi ohledně názvu tohoto systému.
Švýcar to není, protože zde neplatí pravidlo, že 2 hráči na sebe nesmí narazit v turnaji znovu.
Kdysi mi Lukáš říkal o Dánském systému a při začátku programování jsem byl přesvědčen, že algoritmus, který používám, je právě Dánský systém. O Dánském systému je bohužel na netu strašně málo informací, vše, co jsem našel, bylo převzato z Wikipedie z tohoto článku:
https://en.wikipedia.org/wiki/Swiss-sys ... ish_system . Ovšem pokud je tato informace správně, tak Dánský systém při např. 8 hráčích páruje 1-2, 3-4, 5-6, 7-8, zatímco můj podobně jako švýcar, tj. 1-5, 2-6, 3-7, 4-8.
Takže otázkou zůstává, jak tento systém nazývat. Na jednu stranu je to jen malá obměna švýcara, takže se mi nikdy nechtělo věřit, že by na to někdo nepřišel dávno přede mnou a nějak nepojmenoval. Na druhou stranu, když jsem to programoval a viděl, co je to za šílenou práci s tím párováním, tak už jsem si to trochu představit dokázal. Švýcarský i Dánský systém byly pojmenovány podle země, kde byly prvně použity. Takže do doby, než zjistím, jak se mnou naprogramovaný výtvor jmenuje, ho pracovně nazývám Španělským systémem (což je mimochodem velmi praktické, protože všechny soubory začínají na "ss" jako Švýcarský systém, protože když jsem s tím před 3 roky přišel, chtěl jsem programovat klasického švýcara - takhle nemusím měnit začátek názvů souborů a pořád to bude mít smysl
).
Takže - kdo něco na toto téma víte?
Testování programuJeden Murphyho zákon říká, že každý program, který má alespoň 1 řádek, obsahuje minimálně 1 chybu. Předpokládám, že mé výtvory od tohoto zákona nejsou osvobozeny, proto jsem provedl standardní testování, při němž jsem nasimuloval řádově několik stovek tisíc zápasů. Na základě výsledků se zdá, že program neobsahuje žádnou kritickou chybu, nicméně určitě by neuškodilo, kdyby někdo z vás, kdo byste program pro své pořádání využili, jej otestoval nezávisle na mně. Kdo byste měl tedy chuť se do testování pustit, dejte mi vědět v tomto vláknu nebo na email info(zavináč)WorldMarblesFederation.com
Hlavní výhodou testování by pro vás mohlo být to, že nyní mi ještě zbývá trocha času na případné úpravy kódu. Pokud byste tedy při testování dostali nějaký nápad na zajímavou funkci či zlepšení použitelnosti programu, je mnohem větší šance, že ji zvládnu implementovat, dokud mám v hlavě strukturu programu. Za pár týdnů nám tu vypuknou turnaje a od té doby bude pravděpodobnost podobných úprav limitně blízká nule.
Zdrojové soubory & zaškoleníPo skončení testování předám zdrojové soubory Výkonnému výboru, který bude moci je dále šířit mezi pořadatele z řad kuličkářů. Cca na 50% se v létě objevím v ČR, takže v té době rád pořadatele na tento program zaškolím, pomohu s instalací apod.