Zápisnica č. |
Dátum |
Miesto |
Čas |
7 |
19. 11. 2008 |
Softvérové štúdio |
15.00 |
Zúčastnení členovia |
Bc. Juraj Ligocký Bc. Michal Hrubý Bc. Gabriel Pán Bc. Ján Hric Bc. Marek Polák |
Pedagóg |
Ing. Ivan Kapustík |
Zapisovateľ |
Bc. Ján Hric |
Program stretnutia |
Cieľom stretnutia bolo bližšie špecifikovať, čomu sa budeme venovať v prototype. |
|
Priebeh stretnutia |
- MP čítal hlavné body zápisnice z minulého stretnutia. - JL sa spojil s tímom Kukuričné deti a podpísal preberacie protokoly. - MP umiestil simulácie zápasov Jahodových princov na webovej stránke do prehľadnej tabuľky.
|
- Každý člen opísal spôsob riešenia svojich úloh z minulého stretnutia a prezentoval výsledky. - JL sa spojil s členom tímu Jahodoví princovia a spýtal sa ho na algoritmus eliminácie premenných. o Algoritmus sa v hráčovi v skutočnosti nepoužíva, v kóde je vypnutý. o Realizovaná je iba prvá časť - dopredné hľadanie roly (až na detaily), no nie je otestovaná. o Z druhej časti sú zahrnuté len pravidlá pre nahrávajúceho hráča, pravdepodobne nie všetky. o Algoritmus sa ťažko testuje - jedine pomocou logovacích výstupov. o Pomocné funkcie pre algoritmus v hráčovi sú. o V rámci prototypu vyskúšame (cez logy), či sa roly priraďujú správne. o Načim nájsť vhodný nástroj na analýzu logov. (Loganalyzer má veľa možností, pozn. MH.) o Máme dostupný javový monitor aj so zdrojovým kódom. Mohli by sme ho skúsiť upraviť na zistenie a zobrazenie informácií z logu hráča. - MH sa venoval analýze monitorov. Podrobný súpis je v prílohe A. o Javový monitor by mal byť schopný zobraziť model sveta hráča, no MH sa to neporadilo. (Asi potrebuje špeciálneho hráča, pozn. IK.) o Pôvodným autorom javového monitora je japonský tím, ku ktorému MH nenašiel dokumentáciu.
- GP pokračoval v skúmaní hráča tímu DAInamite. o GP naprogramoval a predviedol nám beh hráča po ihrisku. o Základné funkcie (beh, kop, pohľad a pod.) sú v hráčovi zahrnuté. o V kóde sú aj triedy pre rôzne taktiky hráča. o Tím má dostupnú podrobnú dokumentáciu s opisom tried. o MH nešlo v javovom monitore zobrazenie hlasových správ. (Možno hráči tímu DAInamite nekomunikujú.) o Voľne dostupný hráč tímu DAInamite (aj so zdrojovým kódom) je schopný hrať, čo dodáva nádej na pokračovanie v ňom. o GP spíše, aké stavy/akcie sú v hráčovi dostupné, aby sme vedeli, na čom sme. (Pozn. IK: ,,Pojem ,je tam všetko, čo treba' nehovorí nič.'') - JH odhalil dôvod nefunkčnosti hráča tímu Jahodoví princovia s novšími verziami servra. Zároveň sme zistili zaujímavé veci: o Novšie verzie servra už generujú na začiatku hry osemnásť heterotypov oproti doterajším siedmim. Tím Jahodoví princovia nerátal s takým množstvom, preto nefungoval. Po úprave konštanty maximálneho počtu heterotypov v kóde sa JH podarilo skompilovať funkčného hráča. o Novšie verzie servra automaticky zisťujú daktoré nedovolené situácie a prepnú režim hry do foul. Hráč Jahodových princov tento režim nepozná. o JH zistil, že najnovší server (13.0.1) je dostupný v binárnej forme pod OS Windows. Umiesti ho na stránku tímu. o Nový server ukladá herný log v textovom formáte. Staršie verzie používali formát binárny. Textový formát súčasné monitory nepoznajú, pokúsime sa nájsť spôsob na jeho analýzu, resp. prevod do binárnej podoby. o JH odskúša viac zápasov s rôznymi hráčmi na potvrdenie, že nový server je stabilný. o Mohli by sme sa spojiť s tímom Kukuričné deti a dohodnúť sa na použití nového servra. o JH identifikoval hlavné zmeny v servri od verzie 8. Súhrn je v prílohe B. - MP sa ďalej zaoberal neurónovou sieťou na agresívne správanie. o S tímom Brainstormers sa nespojil, lebo z dodatočnej literatúry (na základe odporučenia prednášajúceho predmetu Neurónové siete) pochopil princíp fungovania siete. o Akcia obratia o loptu môže byť dlhá najviac 35 taktov. o V každom takte ide do siete vstup opísaný v prílohe A zápisnice č. 6 pre každú možnú akciu, ktorú hráč môže vykonať (zoznam akcií je pevne daný). o Sieť vráti pre každú akciu ohodnotenie. Najvyššie ohodnotená sa vykoná. o Pri učení sa po skončení akcie upravia podľa úspechu váhy siete. o MP nevie, či má sieť naprogramovať v C++ či v Jave. Zatiaľ totiž nie sme rozhodnutí o základe nášho hráča. o Do prototypu MP stačí navrhnúť presný spôsob realizácie siete (koľko krokov a akcií bude, aké stavy, opis tried a algoritmu).
|
- MP sa informoval o povahe posudku na tím Kukuričné deti, ktorý má napísať. IK vysvetlil: o Posudok má pomôcť druhému tímu, preto v ňom majú byť vyzdvihnuté správne veci a odôvodnené veci nevhodné, aby tím vedel, kde a ako sa má zlepšiť. o Hodnotí sa formálna i obsahová stránka. o Keďže téma posudzovaného tímu je zhodná s našou, posudok môže zachádzať do technických podrobností. o IK stačí poslať posudok mailom. - Aby sme si boli istí vhodnosťou tímu DAInamite, mali by sme ho odskúšať v podmienkach, v akých bude bežať na fakultnom zápase. - JH a JL sa bližšie zoznámia s algoritmom eliminácie premenných. Tentoraz sa zamerajú na to, čo v kóde skutočne je. - GP opíše hlavný cyklus tímu DAInamite (čo sa vykoná za jeden cyklus), najlepšie v podobe sekvenčného diagramu. - MH sa pokúsi zistiť pomocou logovania, čo v algoritme eliminácie premenných funguje, a navrhne vhodné logovacie výpisy na jeho testovanie. - GP dá na stránku odkaz na dokumentáciu tímu DAInamite. - JL pripomenul alternatívny zámer: zistiť, prečo hráč Jahodových princov často strieľa z diaľky, hoc priestor na pohyb (driblovanie) má otvorený. - IK vysvetľoval fungovanie hráča: o Brankár má možnosť loptu buď odkopnúť, buď chytiť príkazom catch. o Hráč nemá formálne nohu, je schopný kopnúť v každom takte (desaťkrát za sekundu). o Najlepšie hráč kopne do lopty, keď je asi pol metra pred ním. o Výhodné je kopnúť do lopty slabšie - keď je za hráčom - a v ďalšom takte - keď sa dostane pred hráča a naberie rýchlosť - kopnúť do nej z celej sily.
|
Plnenie úloh z predchádzajúcich stretnutí |
||||
Id |
Opis |
Zodpovedný |
Termín |
Stav |
4.5 |
Dokumentácia zdrojového kódu Jahodových princov. |
Ligocký |
12.11.2008 |
Čiastočne splnená |
4.6 |
Pokračovať v príprave neurónovej siete. |
Polák |
10.12.2008 |
7.1 |
6.1 |
Analýza algoritmu eliminácie premenných. |
Ligocký |
19.11.2008 |
7.2 |
6.2 |
Pokračovať v tvorbe dokumentácie. |
Hric |
10.12.2008 |
Prebieha |
6.3 |
Analyzovať hotové a použiteľné časti javového hráča a zistiť, ktoré časti je nutné implementovať. |
Pán |
10.12.2008 |
Prebieha |
6.4 |
Predviesť jednoduchú akciu hráča (nájdenie lopty, kop na bránku atď.). |
Pán |
19.11.2008 |
Splnená |
6.5 |
Opis a špecifikácia javového monitora, jeho porovnanie s inými riešeniami. |
Hrubý |
19.11.2008 |
Splnená |
6.6 |
Kontaktovať tím Brainstormers ohľadom neurónovej siete, písanie posudku konkurenčnému tímu. |
Polák |
19.11.2008 |
7.1, 7.3 |
6.7 |
Prejsť changelogy serverov, identifikovať a opísať chybu v heterotypoch. |
Hric |
19.11.2008 |
Splnená |
Nové úlohy |
|||
Id |
Opis |
Zodpovedný |
Termín |
7.1 |
Podrobný návrh neurónovej siete. |
Polák |
14.12.2008 |
7.2 |
Analýza algoritmu eliminácie premenných v kóde Jahodových princov. |
Ligocký, Hric |
26.11.2008 |
7.3 |
Napísať posudok dokumentácie tímu Kukuričné deti. |
Polák |
21.11.2008 |
7.4 |
Spísať, aké stavy, akcie hráča sú dostupné v tíme DAInamite. |
Pán |
26.11.2008 |
7.5 |
Navrhnúť vhodný spôsob testovania algoritmu eliminácie premenných (cez logovacie výpisy, monitor a pod.). |
Hrubý |
26.11.2008 |
7.6 |
Dať na webovú stránku odkaz na dokumentáciu tímu DAInamite. |
Pán |
26.11.2008 |
7.7 |
Upovedomiť tím Kukuričné deti o existencii servra 13.0.1 a našom zámere jeho využitia. |
Ligocký |
14.12.2008 |
7.8 |
Odskúšať viac zápasov a rôzne tímy na servri 13.0.1. |
Hric |
26.11.2008 |
Použité skratky:
JL Bc. Juraj Ligocký
MH Bc. Michal Hrubý
GP Bc. Gabriel Pán
JH Bc. Ján Hric
MP Bc. Marek Polák
IK Ing. Ivan Kapustík
Tím Dainamite prebral monitor od tímu YowAI, ktorý je napísaný v jazyku Java. Tento monitor poskytoval veľkú škálu možností napr. zobrazenie zorného uhlu hráčov, výdrže, rýchlosti, pohybu, správ, prihrávok, držanie lopty a mnoho ďalších. Tím Dainamite sa rozhodol doimplementovať nové funkcie a hlavne možnosť trénovania rôznych situácií.
Tím Dainamite pridali do monitora nové funkcie:
Monitor nám poskytuje obrovské množstvo užitočných funkcií a vlastností. V tejto kapitole popíšem jednotlivé funkcie a ich význam.
Toto menu obsahuje voľby zobrazenia rôznych pomocných ukazovateľov vlastností jednotlivých hráčov.
Na nasledujúcom obrázku sú zobrazené možnosti ovládania zápasu. Monitor nám poskytuje krokovanie po cykloch, zrýchlenie, spomalenie, zastavenie zápasu ale aj vrátenie sa na začiatok alebo koniec.
Monitor poskytuje aj možnosť trénovania určitých simulácií. Pri spustení monitora si môžeme rozmiestniť pomocou nástroja 1.2 hráčov po ihrisku. Po kliknutí na tľačítko 1.3 sa zobrazí editor, ktorý umožňuje nastaviť jednotlivým hráčom pozíciu, rýchlosť, uhoľ pohľadu a iné. Ak si nastavíme všetkých hráčov, ktorý sa zúčastňujú tréningu tak môžeme spustiť simuláciu tľačítkom 1.4.
Podrobný popis vytvorenia scenárov nájdete v dokumentácií tímu Dainamite.
Tento program poskytuje základnú funkcionalitu. Počas zápasu je možné si zobraziť informácie o aktuálnom hráčovi ako sú:
- súradnice
- uhol
- typ heterotypu hráča
- veľkosť
- výdrž
- sila kopu
- pohľad
- max. rýchlosť
- dash power
- decay
- st_inc_mx
- efft
Ďalej umožňuje zmeniť veľkosť hráčov, zobraziť čísla dresov, zobraziť zóny dosahu videnia sveta hráčom. Taktiež obsahuje ovládacie prvky ako krokovanie, zrýchlenie, spomalenie, zastavenie, pretočiť na začiatok alebo koniec.
Program disponuje aj trénerom pomocou ktorého sa dajú skúšať rôzne štandardné situácie: výkop, voľný kop, roh, aut, jedenástka, kopanie na bránku a ďalšie.
Jeho funkcie sú dosť obmedzené. Okrem zobrazovania zápasu dokáže meniť veľkosť hráčov, zobraziť súradnice jednotlivých hráčov, zoom.
Výhody:
Nevýhody:
Výhody:
Nevýhody:
Výhody:
Nevýhody:
21. 11. 2001
- možnosť posielania komprimovaných správ hráčovi (pomocou Zlib)
08. 01. 2002
- pri inicializácii server akceptuje len správu init
- ak prídu iné správy, pošle chybu (error only_init_allowed_on_init_port)
16. 01. 2002
- ukazovanie rukou (pointto), zatiaľ bez šumu
21. 01. 2002
- šum pri ukazovaní (pointto)
15. 02. 2002
- kĺzačka (tackle)
- sústredené počúvanie (attentionto)
17. 04. 2002
- zistenie a obsluha spätných prihrávok (back pass)
- podpora zvukových správ v úvodzovkách
- zmena formátu zvukových správ
18. 04. 2002
- zmena: dash_power_rate, stamina_inc_max, player_size, player_speed_max
- spätná prihrávka: obsluha aj prípadu odrazu lopty od hráča
19. 04. 2002
- trest po samoprihrávke pri rozohrávke
22. 05. 2002
- možnosť tímu poslať svoje logo na server (team graphics)
05. 06. 2002
- možnosť vypnúť uši (ear on/off)
11. 07. 2002
- možnosť autospustenia tímov
- podpora parametrov v úvodzovkách
- podpora samospúšťania hier
16. 08. 2002
- pred štartom pravého tímu sa čaká na pripojenie ľavého
22. 11. 2002
- nová dynamika chytania, kontrola zón podľa FIFA
03. 01. 2003
- obmedzenie heterohráčov
- už nemožno byť v ofsajde pri režime kick-in, goal-kick alebo corner-kick
10. 01. 2003
- trestné kopy
20. 01. 2003
- protokol verzie 9
22. 01. 2003
- kopy a kĺzačky sú zakázané v režime TimeOver
18. 03. 2003
- zmena parametrov tackle
23. 05. 2003
- oprava pointto
- oprava tackle
09. 04. 2007
- inicializačné správy pre koučov (coach_msg_file, sendExternalMsg)
- setTeamLeftStart a setTeamRightStart
- zistenie, že lopta sa zasekla a automatické vhodenie
(ball_stuck_area, BallStuckRef)
27. 04. 2007
- TACKE | TACKLE_FAULT
30. 04. 2007
- oprava chyby goal kick
19. 10. 2007
- min_tackle_power a max_tackle_power
- zmena algoritmu heterohráčov; nik nebeží nad player_speed_max
21. 10. 2007
- nový model spätných prihrávok (back pass)
22. 10. 2007
- kouč: change_player_types
- nové obmedzenie zmeny hráčov
- samopriradenie typu hráča po jeho pripojení
23. 10. 2007
- prísne pravidlá regenerácie výdrže; v predĺžení sa hráč nezregeneruje
24. 10. 2007
- nové pravidlo šumu kopu
31. 10. 2007
- brankár nemôže chytiť loptu hneď po svojom kope
09. 11. 2007
- počet typov hráčov zmenený na 18 (z pôvodných 7)
- samopriradenie typu hráča
10. 11. 2007
- nový variant change_view
19. 11. 2007
- test protokolu monitora verzie 3
20. 11. 2007
- protokol monitora verzie 3
- herný log verzie 4
05. 02. 2008
- zmena protokolu monitora verzie 3; každá správa obsahuje čas
07. 02. 2008
- nový model kĺzačky (tackle)
28. 10. 2008
- protokol verzie 13
- protokol monitora verzie 4
- herný log verzie 5
- nový model výdrže