Uživatelská příručka V příručce najdete všechny podstatné vlastnosti programu „Manažer deskových her“ a doporučené postupy, se kterými je nejlépe program používat. Program je určen pro testování umělých inteligencí (brainů) pomocí deskových her. Umělé inteligence jsou samostatné programy, které s manažerem komunikují přes definovaný komunikační protokol.
Normální hra Jednotlivé hry jsou přístupné přes tlačítka „Reversi“, „Chess“, „Checkers“, „Gomoku“ a „Go“ na horním panelu. Zatím jsou implementovány hry Reversi a Gomoku (piškvorky). Pro piškvorky je navíc speciálně implementována hra člověka proti počítači a standardní protokol (který byl definován proto, aby mohli všichni programátoři navzájem testovat své brainy).
Na levé straně je herní deska a tlačítka pro připojení jednotlivých brainů. Po kliknutí na příslušná tlačítka, lze pomocí jednoduchého dialogu nastavit připojovací parametry daných umělých inteligencí. Pokud chceme spustit lokální brain, je potřeba pomocí tlačítka „Find brain“ nadefinovat cestu k programu a port, přes který bude manažer s brainem komunikovat. K spuštění komunice po síti je potřeba zadat adresu serveru na kterém brain běží a port. Standardní brain lze připojit pouze zadáním cesty, protože ke vzájemné komunikaci se používají pipy. Pokud se chcete do hry zapojit sami, budete po odkliknutí dialogu vyzván. k zadání vašeho jména.
Pokud připojení proběhne v pořádku, budou nastaví se status brainů v pravé části na CONNECTED a půjde kliknout na tlačítko Start, které dříve nebylo přístupné. V pravé části pak můžete najít informace o jednotlivých brainech a důležité nastavení pro následující hru. Lze nastavit počet her, které se mají mezi danými brainy odehrát, brain který danou hru zahájí a zda se mají brainy střídat v prvním tahu, pokud se hraje více her. Dále lze nastavit čas, který necháme brainům pro udělání tahu a zda chceme hru sledovat real-time (to znamená počkat po odehrání tahu po specifikovanou dobu (Move Duration) – hodí se to zejména pro replaye, ale o tom až později). Lze ještě využít tlačítka Pause (pozastavení hry) a Stop (zrušení hry).
Turnaje Nastavení turnaje je poněkud komplikovanější. V levé části je seznam brainů připojených do turnaje. V pravé je potom spousta dalšího nastavení, které je třeba před zahájením turnaje vyplnit. Nejdůležitější je nastavit typ hry v levém horním rohu, typ turnaje hned vedle, počet her pro každý jednotlivý zápas, timeout brainů (tentokrát se nastavují i desetiny sekundy) a to, zda chceme hru sledovat real-time. Turnaje využívají hodnotícího systému elo, který zapisuje výsledky turnajů do externích souborů a při dalších turnajích pak podle toho napříkald rozřazuje brainy do skupin. Tento způsob bodování lze vypnout zatrhnutím položky No ELO. V tomto případě se brainy do případných skupin skládájí náhodně. Existují dva typy turnaje. Typ Default netvoří žádné skupiny a hraje se jednoduše každý proti každému. Zvolí se defaultní hodnoty do všech nastavitelných položek. Timeout 10 sekund, počet her pro jednotlivý zápas 2 a přepínání začínání hráčů po odehrané hře. Pokud chceme trochu pokročilejší nastavení, pak je potřeba zvolit typ Custom, který zpřístupní běžná nastavení a tlačítko Advanced, které vyvolá další dialog, plný dalších možných parametrů. Ve spodní pravé části jsou výsledkové tabulky a tlačítka pro ovládání turnaje. Tlačítkem Start můžeme turnaj zahájit (program se přepne na panel s danou hrou, kde můžete průběh turnaje sledovat).
Tlačítky Prev/Next se lze pohybovat ve výsledkových tabulkách po skončení turnaje (tedy pouze v případě, že je použito nějaké pokročilé nastavení, kde je ve výsledku větší počet výsledkových tabulek). Po ukončení turnaje je potřeba ukončení potvrdit tlačítkem quit (tím se vymažou veškeré záznamy o turnaji a je možno zahájit turnaj nový).
Pro přídávání brainů do turnaje je možné použít tlačítka „Add brain“, „Directory“ a „Network range“. Prvním z nich lze vyvolat dialog na přidání brainu takový, který se použije i v normální hře. Druhým lze přidat všechny brainy v daném lokálním adresáři (přidává se od portu 8001, je potřeba zajistit, aby vám na localhostu na daných portech nic neběželo). Třetím lze zadat rozmezí portů na vzdáleném serveru, na kterém dané brainy běží. Po přidání brainů do seznamu se znepřístupní tlačítko pro výběr hry (z důvodu, že do jednoho turnaje nelze zapojit brainy hrající jiné hry). Tlačítko pro výběr hry lze zpřístupnit až po smazání posledního brainu z turnaje tlačítkem „Delete brain“, sloužícím pro odstraňování brainů z turnaje Jak už bylo dříve zmíňeno, pokročilejší nastavení turnajů lze zpřístupnit tlačítkem „Advanced“. Turnaj lze nastavit na systém skupin a Švýcarský systém. Co se týče systému skupin, je potřeba nastavit počet brainů ve skupině a počet brainů, které mají z dané skupiny postoupit do další fáze turnaje. Lze také specifikovat počet startovních skupin (lze to použít v případě, že v turnaji máte o něco více brainů, než by odpovídalo klasickému rozložení, např. máte 18 brainů a skupiny po čtyřech, normálně by ze zbývajících brainů byla vytvořena pátá skupina, tímto způsobem lze vznik další skupiny potlačit a zbylé brainy rozložit rovnoměrně mezi ostatní skupiny). Systém skupin se normálně chová tak, že pokud by v postupném rozřazování zbyl jediný brain, bude zařazen do poslední skupiny. Pokud by zbylo více brainů, vytvořily by novou skupinu. Rozřazování brainů do jednotlivých skupin lze nastavit buď systémem výkonnostních košů (Performance seeding pots), nebo lze formovat skupiny brainů s přibližně rovnocenným hodnocením (Brains in group equivalent). Výkonnostní koše je systém, kdy se všechny brainy rozdělí do výkonnostních skupin, ze kterých se
do výsledně zformovaných skupin dostane právě z každé jeden (tento způsob můžete znát například z losování skupin pro mistrovství světa ve fotbale). V důsledku tohoto nastavení je pravděpodobné, že se opravdu silné brainy střetnou až v pozdější fázi turnaje. V opačném případě mají zase horší brainy naději dostat se dál. Po dohrání hlavní části turnaje se dříve vyřazené brainy utkají o umístění.
Švýcarský systém je specifický s tím, že se hraje na jednotlivá kola. V jednom kole se utká vždy dvojice brainů se stejným, nebo podobným počtem bodů (čili po prvním kole se v kole druhém navzájem potkají brainy, co dříve vyhráli/prohráli). Počet kol lze zadat v dialogu. Tento systém je lépe pouštět při sudém počtu brainů v turnaji.V lichém počtu se totiž posledním brainu místo opravdového výsledku přiřadí remíza. To znamená, že se po skončení turnaje se nevypočítá nové elo (plyne to z definice ela – počítá se pro vzájemný výsledek brainů). Pokud zakážeme elo, tak se samozřejmě rozřazování do výkonnostních skupin, ani ukládání ela nekoná. Již dříve bylo řečeno, že tlačítky Prev/Next v pravém dolním panelu lze pohybovat historíí výsledků. Systém zápisu výsledů je následující – V tabulce „table“ jsou uloženy jednotlivé vzájemné zápasy brainů v dané skupině. Jména brainů jsou v tabulce vypsány jak ve sloupcích, tak na řádcích (v průsečíku stejných brainů je typycké X). Vzájemné výsledky brainů na řádku jsou uloženy tak, že první číslo v průsečíku s jiným brainem znamená počet výher v zápase, druhé znamená počet remíz a třetí jsou prohry. V tabulce „Statistics“ jsou výsledky dané skupiny uloženy způsobem od nejlepšího (u každého brainu se pak můžeme dozvědět počet celkových výher, remíz a proher v dané skupině). Poslední tabulkou jsou potom výsledky celého turnaje. Tabulky jsou uloženy v pořadí v jakém se odehrávaly jednotlivé skupiny.
Záznamy Ze všech odehraných her se pořizuje záznam, který je pak možné si přehrát. Na levé straně je seznam záznamů v dané složce, které je možno přehrát. Složku pro načítání záznamů lze změnit pomocí tlačítka „Change folder“
Vybráním určitého záznamu se o něm objeví informace v pravé části panelu záznamů. Stisknutím tlačítka „Watch the replay“ se potom zahájí sledování daného replaye. Je vhodné si nastavit real-time sledováví záznamů, jinak se může stát, že záznam bude přehrán tak rychle, že si ho nestačíte patřičně prohlédnout. Program se přepne na obrazovku s danou hrou, kde ji můžete ovládat tlačítky pause a stop stejně jako při normální hře.
Nastavení Programové nastavení poskytuje možnosti spuštět brainy v tz. Hidden módu, to znamená, že pokud by byly brainy implementovány s grafickým uživatelským rozhraním, tak bude toto rozhraní skryto. Máme také možnost zapnout si zobrazování info zpráv z průběhu hry (můžeme se dovědět například kdy který brain udělal chybu, nestačil odpovědět, nebo s ním bylo úplně ztraceno spojení – nejspíš spadnul). Pokud budete pouštět turnaj, u kterého nehodláte sedět, pak důrazně doporučuji tuto možnost vypnout, mohlo by se vám totiž stát, že po hodině, kdy znovu přijdete k počítači a budete předpokládat, že turnaj je ukončen, bude čekat na odkliknutí hláška, že některý brain nestačil v časovém intervalu odpovědět. Dále lze nastavit zdroj nápovědy (může být lokálně uložená na vašem počítači, nebo na internetu – verze nápovědy se mohou poněkud lišit). Lze vybrat i jazyk nápovědy (zatím je však nápověda pouze v češtině). Poslední nastavitelnou věcí je adresář pro ukládání záznamů.
Nápověda Soubory z nápovědou lze najít pod tlačítkem help. Nápověda zatím není nijak obsáhlá, může však pomoci při některých nejasnostech. Další témata nápovědy se snad objeví při dalším vývoji.
Komunikační protokol K manažeru je dodána i kostra brainu, kde je protokol implementován, není proto třeba se nějak o protokol starat, jen bych shrnul některé jeho vlastnosti. Manažer začíná komunikaci s brainem sérií zpráv, kterou se ujistí, že daný brain je schopen s ním komunikovat. Takto nějak probíhá počáteční ustanovení komunikace mezi manažerem a brainem: manažer: hello msg
-pozdrav
brain: hello ok manažer: com msg
-komunikační protokol
brain: com ok manažer: game gomoku
-typ hry
brain: game ok manažer: board 15
-velikost hrací plochy
brain: board ok manažer: player 1 (nebo taky 2)
-číslo hráče
brain: player ok manažer: name msg brain: name xnovak99
-dotaz na jméno
Při zahájení hry manažer brainům oznámí, jak dlouho je ochoten čekat na tah, který brain zasílá, informace je v milisekundách, pokud brain nechce prohrát, musí bezpodmínečně do této doby odpovědět. Hodnota v sobě nezahrnuje možné komunikační spoždění, pokud se komunikuje po síti, proto je lépe obecně odpovídat o něco dříve. manažer: timeout 5000
-maximální doba trvání tahu
manažer: new msg
-začínáme (brain se nainicializuje)
manažer: move start (případně už nějaký jiný tah, pokud se manažer rozhodne, že daný mozek nebude začínat) brain: move h8
-tah brainu
manažer: move h7
-odpověď brainu protihráče
… manažer: quit msg
-ukonči se braine, už tě nepotřebuju
Příklad spuštění komunikace s využitím kostry programu: 1. Spustit manažer 2. Například přes putty se připojit na nějaký školní server a spustit brainy na určitých portech 3. Připojit brainy k manažeru přes dialog (network – vyplnit jen adresu serveru a port) 4. Kliknout na „Start“