Obsah

A55 Kickers

Našim hlavným cieľom bolo naučiť hráča dať gól. Naplniť tento cieľ sme sa rozhodli cestou implementácie taktiky hráča. Preto ako každý projekt, tak aj ten náš začal analýzou toho čo máme a čo treba urobiť. Ako jednu z možností sme analyzovali videnie sveta hráča Jim. Po analýze sme navrhli vylepšenie videnia sveta a rozšírili ho tak o vyhodnotenie prihrávky na základe vzdialenosti súperových hráčov od trajektórie prihrávky. Ďalej sme rozšírili hráčovo videnie sveta o vyhodnotenie šance získania lopty mnou alebo našim hráčom. Táto informácia bola použitá na rozhodovanie v taktike každého hráča. No na to, aby sme sa dopracovali k funkčnej taktike, bolo potrebné prejsť kus cesty a tá začala analýzou pohybov a ďalších častí projektu až po návrh a implementáciu základných, teda nižších pohybov.

Analýza chôdze

Samotná chôdza je vytvorená z cyklických fáz krokov. Pri chôdzi je potrebné, aby zadefinované fázy boli veľmi presné, vďaka čomu sa dosiahne stabilita a spoľahlivosť. Okrem strednej cyklickej fázy chôdze, ktorá zabezpečí pohyb v plnej rýchlosti, je potrebná aj začiatočná a ukončovacia fáza. Tieto fázy majú za úlohu plynulé zrýchlenie agenta na plnú rýchlosť a následné bezpečné zastavenie agenta po dorazení do cieľa. Začiatočné a ukončovacie fázy pohybu sú rovnakého charakteru, ako chôdza v plnej rýchlosti, rozdieľ je iba v rýchlosti vykonania jednotlivých fáz. Vďaka rovnakého charakteru chôdze vo všetkých etapách presunu sa dosahuje prirodzená a stabilná chôdza agenta.

Nižšie pohyby (Low Skills)

Počas práce náš tím postupne vytvoril nový súbor pohybov. Vylepšiť bolo treba takmer všetky skupiny pohybov od chôdze a iných presunov až po kopnutia. Vylepšili sa najmä už exitujúce pohyby, ktoré sa museli stabilizovať a zrýchliť. Doplnili sa ale aj chýbajúce pohyby, ktoré boli potrebné na implementáciu celkového fungovania a taktiky hráčov. Vznikli tak stabilné kopnutia rôznou silou, široká paleta otáčaní, úkroky rôznych veľkostí, dokonca aj efektívnejšie vstávania zo zeme. Aby prepojenie pohybov bolo čo najstabilnejšie, navrhla a implementovala sa aj nová základná poloha agenta. Základná poloha je tá, do ktorej sa agent vracia po vykonaní pohybu. Nová základná poloha je prirodzenejšia a vďaka nižšiemu bodu ťažiska je agent aj stabilnejší. V konečnej fáze sa všetky pohyby premenovali tak, aby ich názvy odzrkadľovali typ pohybu a ostatné dôležité parametre. Takto pripravené pohyby sme mohli plne využívať pri návrhu a úpravách pohybov vyšších.

Vyššie pohyby (High Skills)

Na to, aby bolo možné efektívne riadiť pohyby, tak sa jednotlivé nízkoúrovňové pohyby spájajú do väčších celkov. Tieto zložené pohyby na vyššej úrovni abstrakcie dovoľujú jednoduchšiu prácu s bežne používanými sekvenciami pohybov na nižšej úrovni abstrakcie. Náš tím vytvoril niekoľko nových pohybov a vylepšil niektoré už existujúce. Náš tím upravil existujúci vyšší pohyb Kick, ktorému pridal parameter pozície, na ktorú je potrebné kopnúť. Na základe tohto parametru vie hráč vybrať nižšší pohyb pomocou ktorého sa na danú pozíciu snaží kopnúť. Na výber má z troch možností podľa vzdialenosti lopty od zvoleného cieľa. Keďže do teraz hráč kopal vždy len na branú, tak bol tomu prispôsobený aj vyšší pohyb Turn. Pre implementáciu kopu na zvolenú pozíciu a nie len kop na bránu bolo potrebne upraviť aj výšší pohyb Turn. Na základe starého vyššieho pohybu Turn sme sa rozhodli vytvoriť nový vyšší pohyb TurnToPosition, ktorý natočí hráča na pozíciu, na ktorú chceme kopnúť. Vytvorený bol aj vyšší pohyb Walk2Ball, ktorého úlohou je dostať hráča k lopte a nasmerovať ho na súperovu bránu. Následne sa už vďaka planneru využije kopnutie želaným smerom. Ďalším novým vyšším pohybom je aj goToBall. Vďaka tomuto pohybu je agent schopný prísť k lopte zo správnej strany tak, aby bol agent natočený k určenému miestu. Toto je vhodné napríklad, keď chce hráč prísť k lopte tak, aby ju bol schopný kopnúť na zvolené miesto. Vyššie pohyby, ktoré sú poskladané z pohybov nižších sme využili v návrhu na tímovú taktku. Nie všetky vyššie opísané optimalizované, upravené alebo novo vytvorené pohyby sú v našej taktike implementované. Ale sú plne otestované a pripravené na použitie.

Tímová taktika

Z dôvodu spracovania viacero tímových hráčov na ihrisku sme sa rozhodli navrhnúť a implementovať taktiku. Do teraz nebola vytvorená taktika, ktorá by naozaj fungovala a dokázala pomocou tímovej hry dostať loptu do brány. Do tímovej taktiky sme zakomponovali i formácie, ktoré boli vytvorené jedným z predchádzajúcich tímom, no bolo potrebné ich doplniť o správnu funkcionalitu. Formácie nám umožnili riešiť situáciu podobne ako je tomu v skutočnosti na ihrisku. To znamená, že sa celá formácia pohybuje spolu s loptou a to v prípade keď tím loptu vlastní ako i v prípade, ak loptu vlastní súper.Pri hre nastávajú 3 hlavné situácie, ktoré sme ošetrili navrhnutou taktikou. Taktika je teda rozdelená na 3 situácie:

Taktika bola implementovaná ako plánovač a je plne využiteľná pri hre. Pre jej implementáciu bolo potrebné navrhnutie niektorých vyšších a nižších pohybov, ktoré taktika využíva. Takto vznikol plne využiteľný celok, ktorý pozostával z dielších častí, ktorými sú jednotlivé vyššie a nižšie pohyby. Aj keď je nami vytvorená taktika výborným doplnkom pri hre viacerých hráčov, stále je na nej mnoho dôležitých vecí, ktoré by sa mohli zlepšiť.