Tím 7 - Bougles. BumpyBot

Size: px
Start display at page:

Download "Tím 7 - Bougles. BumpyBot"

Transcription

1 Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, Bratislava 4 Tím 7 - Bougles Vývoj hry pre mobilný telefón BumpyBot Viktor Blesák Ján Laštinec Ondrej Perešíni Študijný program: Počítačové a komunikačné systémy a siete Ročník: 1. ING Predmet: Tímový projekt I Vedúci projektu: Ing. Mária Pohronská Ak. rok: 2011/12

2 Obsah 1 Úvod Poţiadavky zo strany ImagineCUP Game Design: Phone Obsah dokumentu Analýza Úspešné hry Komerčné hry ImagineCup hry Atraktívne prvky súčasných hier Spôsoby pouţívateľskej interakcie Prehľad navrhovaných herných konceptov Biela krvinka Farmár Ekosystém Budovanie infraštruktúry Dostupné softvérové frameworky Silverlight NET XNA Špecifikácia poţiadaviek na tvorbu hry Výber finálneho konceptu Vývojové prostredie Návrh prototypu mobilnej hry Scenár Herný Koncept Pohyb Vylepšenia Nepriatelia Cieľ hry Zvyšovanie obtiaţnosti...20

3 4.2.6 Skóre Technologické vylepšenia Ovládanie Grafické pouţívateľské prostredie a menu Predbeţné grafické návrhy Prototyp Postupnosť vykonávaných operácií Navrhované triedy prototypu Trieda Character Trieda Hero Trieda Enemy Trieda Wall Trieda Technology Orientácia priestoru Detekcie kolízií Kolízie medzi dvomi charaktermi Kolízie s hranicami obrazovky Kolízie so stenami Spracovanie kolízií Kolízia so stenou a hranicou obrazovky Kolízia medzi pohybujúcimi sa objektmi Správa pouţívateľského vstupu Vykresľovanie na displej Ubliţovanie nepriateľom Náhodná zmena pohybu nepriateľov Dosiahnuté výsledky Zhrnutie prvej časti Plán na nasledujúci semester Konečný návrh Revízia prototypu Herný scenár...47

4 7.1.2 Zvyšovanie obtiaţnosti Skóre Technologické vylepšenia Jimmyho Ovládanie Kolízie medzi pohybujúcimi sa objektmi Herné menu a nastavenia Grafické návrhy Model tried Nová funkcionalita Grafické spracovanie Herní nepriatelia Zvukové spracovanie Vibračné efekty Dizajnovanie herných úrovní Rýchlostné a pamäťové optimalizácie Testovanie Inštalačná príručka Pouţívateľská príručka BumpyBot - Windows Phone 7.5 game Game presentation Záver...92

5 1 Úvod V súčasnosti sa mobilné zariadenia tešia obrovskej popularite. Počet inteligentných telefónov a iných zariadení stúpa medziročne aţ neuveriteľným tempom. Spoločne s hardvérom sa rozvíja aj softvér, medzi ktorý patria aj mobilné hry. Náš tím v zloţení Viktor Blesák, Ján Laštinec a Ondrej Perešíni sa preto rozhodol pridať svoje ţeliezko do ohňa a vyvinúť potenciálne populárnu hru. Hlavnou pohnútkou bolo zúčastnenie sa na súťaţi ImagineCUP a absolvovanie predmetu tímový projekt na Fakulte Informatiky a Informačných Technológií na Slovenskej technickej univerzite. Súťaţ ImagineCUP je kaţdoročne organizovaná spoločnosťou Microsoft. Môţu sa v nej zúčastniť tímy z akejkoľvek krajiny, avšak podmienkou je registrácia, maximálny počet štyroch členov v tíme a splnenie podmienky na výber témy príspevku. Súťaţ prebieha vo viacerých kolách. Zatiaľ čo prvé kolá zahŕňajú iba odovzdávanie dokumentácie a prototypov, tak vo finále sú tímy preverené aj na schopnosť prezentácie, jazykovú obratnosť a najmä schopnosť predať svoj produkt. Finále hosťuje kaţdoročne iná krajina. Finále ročníka 2012 sa koná v austrálskom Sydney. 1.1 Požiadavky zo strany ImagineCUP Hlavnou témou všetkých kategórií súťaţe Imagine Cup je Imagine a world where technology helps solve the toughest problems. Cieľom je vytvoriť produkt, ktorý by pomohol vyriešiť niektorý z hlavných celosvetových problémov ako napríklad tzv. Millenium Development Goals definované Organizáciou spojených národov. Medzi tieto problémy patrí napríklad: riešenie celosvetového hladu a chudoby, zlepšovanie zdravotného stavu matiek, dosahovanie všeobecného základného vzdelania pre všetkých, boj s najrozšírenejšími chorobami, presadzovanie rovnosti pohlaví a posilňovanie postavenia ţien, zabezpečenie udrţateľnosti ţivotného prostredia, zníţenie detskej úmrtnosti a vytvorenie globálneho partnerstva pre rozvoj. Obrázok 1 - Súťaž ImagineCUP je organizovaná spoločnosťou Microsoft 1

6 Súťaţ ImagineCUP prebieha vo viacerých kategóriách, medzi ktoré patrí v ročníku 2012 Software Design, Game Design: Xbox/Windows, Game Design: Phone a IT Challenge. Pôvodne sme chceli súťaţiť v kategórií Embedded deveploment, avšak táto kategória sa tento rok neotvorila a tak sme boli nútení vybrať si alternatívnu kategóriu. Keďţe mobilné telefóny a hry na ne sú v súčasnosti veľmi populárne, tak naše rozhodnutie padlo jednoznačne na kategóriu Game Design: Phone Game Design: Phone Obrázok 2 - Kategória Game Design Cieľom kategórie Game Design: Phone je vyvinúť hru pre mobilný telefón s platformou Windows Phone, ktorá bude hrateľná na komerčne dostupnom mobilnom telefóne. Funkčnosť hry na emulátore prostredia nie je postačujúca. Podmienkou je taktieţ, aby hra ilustrovala hlavnú tému súťaţe, pričom nemusí byť striktne náučná. Dôleţitá je zábavnosť a hrateľnosť a aby hra ilustrovala pozitívny vplyv nových technológií na zlepšenie kvality ţivota a riešenie celosvetových problémov. 1.2 Obsah dokumentu Účelom predloţeného dokumentu je informovať o cieľoch, stave prác a výsledkoch snaţenia nášho tímu. Skladá sa z viacerých hlavných kapitol. Prvá kapitola s analýzou bliţšie rozoberá uţ existujúce hry a ich populárne prvky, či spôsoby interakcie. Kapitoly Špecifikácia a Návrh uţ predkladajú navrhnuté riešenie vhodné na softvérovú realizáciu. Kapitola s prototypom stanovuje ciele prototypovania počas jednotlivých kontrolných bodoch prác na hre. Kapitola s konečným návrhom popisuje zmeny oproti prototypu a novou funkcionalitu, ktorú sme do výslednej hry pridali. V dokumentácii nechýba ani kapitola s testovaním a pouţívateľskou príručkou. Na konci sa nachádza záver, ktorý zhrňuje našu ročnú prácu na tímovom projekte. Obrázok 3 - Logo tímu 7 - Bougles. 2

7 2 Analýza Prvá kapitola s analýzou pribliţuje niektoré úspešné komerčné hry a minuloročné hry zo súťaţe ImagineCUP. Bliţšie rozoberá ich jednotlivé silné, ale aj slabé stránky a zaujímavé koncepty, ktorými sú výnimočné. Takáto analýza je veľmi dôleţitá, nakoľko nám pomôţe sa vyvarovať závaţným chybám v neskoršom návrhu, ako aj zlepší šance na úspech v súťaţi. V ďalšej časti analýzy sú podrobne popísané spôsoby pouţívateľskej interakcie s hrami a nami navrhnuté herné koncepty. Tieto koncepty sú podrobne opísané a presne objasňujú celý herný námet. V závere analýzy nechýba ani popis jednotlivých dostupných framework-ov, ktoré môţeme pri vývoji hry pouţiť. 2.1 Úspešné hry Cieľom našej hry je nie len hráča vzdelávať, ale predovšetkým ho aj zabaviť. Pre túto skutočnosť sme analyzovali populárne hry v rámci komerčného, ale aj akademického prostredia. Väčšina z nich mala pouţité podobné prvky ovládania. Našou snahou bolo ich identifikovať a poskytnúť do špecifikácie prvky, ktoré by nemali chýbať v ţiadnom hernom projekte, ktorý má pred sebou budúcnosť Komerčné hry Je istý predpoklad, ţe atraktívnejšie hry budú dostupné komerčným spôsobom. Preto sú prvky z takýchto hier kľúčové pre ďalšiu prácu na projekte. Spomedzi všetkých dostupných mobilných hier sme vybrali také, čo sa pravidelne umiestňujú na popredných priečkach v predaji mobilných aplikácií. Angry Birds Obrázok 4 - Angry Birds 3

8 Jedna z najúspešnejších hier od presadenia inteligentných telefónov v hernom priemysle 1. Atraktívna predovšetkým pre svoje arkádové spracovanie s moţnosťou postupného pridávania úrovni prostredníctvom aktualizácií. Ovládanie pozostáva výlučne z ovládania vtákov prostredníctvom dotykovej obrazovky. V rámci neho je moţné nastaviť uhol a silu vzlietnutia ako aj aktivovať špecifické vlastnosti jednotlivých vtákov. Pre správne ovládanie je preto potrebná intuitívna znalosť niektorých fyzikálnych javov (zrýchlenie, balistická krivka, atď.). Hra so sebou prináša príbeh, vďaka ktorému sa hráč lepšie vcíti do úlohy hlavného hrdinu. Grafické spracovanie je jednoduchšie, tvorené menším počtom farieb v 2D prostredí. Pri týchto vlastnostiach je zachovaná rozdielnosť jednotlivých charakterov, ako aj ich emócie a úmysly (kladný hrdinovia pôsobia motivovane, záporný naivne). Angry Birds ponúka variácie vo všetkých moţných smeroch, počínajúc od rôznych vtákov, cez prasce aţ po fyzické prekáţky a prostredia (pozadia). Hráč je za splnené úlohy odmenený. Body sú mu prisudzované podľa počtu útokov v jednotlivej úrovni a za napáchané škody v nej. Okrem bodov hráč dostáva aj hviezdičkové hodnotenie za kaţdú úroveň (od 1 po 3). Takto nazbierané odmeny slúţia na odomknutie skrytých hier alebo nových sérií úrovní. Plants vs. Zombies Ďalšia hra prináša prvky stratégie a plánovania. Rovnako ako pri Angry Birds je hra rozdelená do sérií úrovní. Úlohou hráča je preţiť zombie inváziu pomocou vyuţitia rastlín. Tie majú rôzne vlastnosti určené pre iné podmienky. Hráč si v priebehu úrovni zakupuje rastliny podľa platného cenníka. Menou tejto hry sú ţlté body / slniečka. Tie je moţné získať plynutím času alebo zakúpením špeciálnych rastlín určených na získavanie bodov. Rastliny moţno rozdeliť podľa sily strely, jeho plošného rozsahu, počtu pouţití, aktivity, doby dobíjania v obchode alebo v akcii, ich aktivity cez deň či noc, atď. Variabilita tohto prvku je vysoká. Obrázok 5 - Plants vs. Zombies 1 4

9 Okrem mnoţstva rastlín je dostupné mnoţstvo prostredí s rôznymi scenármi príchodu Zombie. Medzi základné prostredia patria deň, noc, hmla, bazén, strecha a ich vzájomné kombinácie. Neoddeliteľnou súčasťou hry je humor. Ten je sprostredkovaný predovšetkým rozprávačom príbehu a jeho výrokmi. Mimo jednoúrovňových slniečok je v Plants vs. Zombies moţné zbierať aj mince, ktoré sa neviaţu na úroveň. Slúţia na odomykanie nových rastlín a iných herných bonusov. Hra ponúka aj špeciálne úrovne mimo hlavného deja, tzv. Minihry. Tie umoţňujú v známom prostredí hry vyuţívať iné herné princípy ako v hlavnom deji. Cut the Rope Zatiaľ čo predošlé hry boli riešené súbojom, Cut the Rope sa pokúša preveriť logické myslenie hráča. Cieľom hry je zabezpečiť pravidelný prísun cukru malému zelenému zvieratku (pravdepodobne ţaba) s čo najväčším obsahom hviezdičiek. Nie je to ale aţ také ľahké ako by sa na prvý pohľad mohlo zdať. Ako uţ názov hry napovedá, jedným zo základných úkonov v hre je pretrhnúť lano. Mimo neho je potrebné sa vyhýbať rôznym prekáţkam vyuţitím nástrojov ako fúkadlo, bublina, zachytávajúce lano, transportných klobúkov, zmeny gravitácie a ďalšie iné. Dôleţitým faktorom v hre je časovanie. Herný scenár je rozdelený do niekoľkých sekcií s dostatočným počtom úrovní. Kaţdá úroveň prináša nový nástroj a prostredie (pozadie). Nové úrovne sa odomykajú získaním určitého počtu hviezdičiek. Hra je atraktívna predovšetkým pre stvárnenie hlavného hrdinu, ktorý pôsobí svojim charakterom a animáciou na emócie hráča. Náladu hrdinu je moţné jednoznačne rozoznať. Je šťastný po získaní sladkosti a naopak nešťastný po jej stratení. V hre je výrazným spôsobom prepracovaná fyzika umoţňujúca kývanie sladkosti na lane alebo zmenu gravitácie. Obrázok 6 - Cup the Rope 5

10 DoodleJump Najjednoduchšou hrou z nášho výberu je pravdepodobne DoodleJump. Hra nie graficky prepracovaná, neobsahuje rôzne úrovne a napriek tomu všetkému je veľmi obľúbená 2. Hra je ovládaná pomocou gyroskopu, kde sú rozoznávané dva smery, vpravo a vľavo. Taktieţ je moţné vyuţiť dotykovú obrazovku na vystrelenie. Cieľom hry je doskákať najvyššie ako sa len dá, teoreticky je tak hra bez konca. Postavička vykonáva skoky automaticky, ako doskočí na platformu. Pre túto úlohu ju musí hráč navigovať prostredníctvom gyroskopu. Hrdina je schopný sa v rámci obrazovky posúvať len hore, preto keď dosiahne spodok obrazovky hra končí. Pre rýchlejšie napredovanie môţe hráč zbierať bonusové predmety ako raketu, pruţinu a štít. V DoodleJump je dostupných viacero platforiem, od tých regulárnych cez hýbajúce sa vertikálne, či horizontálne aţ po falošné, jednorazové, časovo obmedzené a nepravidelné. Variabilita je zachovaná aj pri nepriateľoch. Ich odlišnosť je ale len grafickým vyobrazením, funkčne sú totoţní. Hra taktieţ ponúka viacero prostredí, ktoré ale ţiadnym spôsobom nemenia priebeh hry. Obrázok 7 - DoodleJump FlightControl Ďalšou jednoduchou hrou je FlightControl. Jeho úlohou je dostať kaţdé lietadlo, či vrtuľník zo vzduchu na zem a nespôsobiť pritom ich vzájomné kolízie. Ovládanie je moţné prostredníctvom dotykovej obrazovky. Hráč na nej označí lietadlo a ukáţe mu jeho budúcu trajektóriu letu aţ na pristávajúcu dráhu. Pri nízkom počte lietadiel je to jednoduché ale s ich pribúdajúcim časom a plnšej oblohe vzniká poţiadavka na pomerne presnú synchronizáciu. Lietadlá nie sú len jedného typu a jedno 2 6

11 je tak rýchlejšie ako druhé. Taktieţ sú oddelené dráhy pre jednotlivé typy lietadiel. Pre jednoznačnosť sú lietadlá a dráhy farebne oddelené. V rámci hry je moţné si zvoliť rôzne mapy. Tie sú rozdielne usporiadaním pristávajúcich dráh, ich počtom a pouţitými druhmi lietadiel a ich hustotou. Zaujímavou vlastnosťou je chválenie hráča počas hry za úspešné pristátie ImagineCup hry Obrázok 8 - FlightControl Okrem komerčných hier sme sa zaujímali aj o také hry, ktoré boli prítomné na predchádzajúcich ročníkov ImagineCup-u. Do analýzy sme vybrali vzorku hier, ktoré boli vyvíjané pre mobilnú platformu alebo také, ktoré si vieme na takej platforme predstaviť. Vzhľadom na neexistenciu kategórie Game Design: Phone po minulé roky, nemoţno hodnotiť náš výber za vzorový. Vo všeobecnosti tieto hry trpia prílišným vnútením myšlienky boja za lepší svet. Hráč sa tak nemôţe dostatočne uvoľniť pri ich hraní, keď je vkuse bombardovaný osvetou. Ich analýza nám môţe pomôcť vyhnúť sa takémuto problému a nájsť vhodné prvky, či oblasti kde by sa naša hra mohla uberať. Cardio Hra sa venuje veľmi zaujímavej tematike s hlavým hrdinom skupinkou nanobotov. Táto oblasť ponúka kompromisy medzi hrateľnosťou a osvetou. Úlohou hráča je postupovať cez krvný systém človeka a ničiť v ňom vírusy, baktérie a iné chorobotvorné zárodky. Hoci nás tematika oslovila, princípy ovládania nám prišli príliš mätúce a nejasné. Za zaujímavú časť projektu povaţujeme moţnosť zlepšovania si nanobotov, ktoré nie je ale dotiahnuté. Zlepšovať sa dajú iba základné parametre a to zdravie, ničenie a účinnosť. HopeBlocks Úlohou hry je vytvoriť na štvorcovom poli kombinácie blokov a rozosievať tak nádej po celom svete. Hra pôsobí ako jednoduchá variácia hry Bejeweled, takţe sa v ţiadnom prípade nejedná o originálny projekt. Vnútenie riešenia svetového problému pomocou kociek nádeje nám prišlo ako myšlienka hraničiaca s infantilnosťou. Projekt teda hodnotíme ako neoriginálnu hru s primitívnym cieľom. 7

12 Conjunct So zaujímavou myšlienkou prišla hra Conjuct. Tím vývojárov vytvoril variáciu ku hre Tetris, ktorej najvýraznejším znakom je ukladanie blokov do vertikálnej línie. Spôsob ovládania bol taktieţ pozmenený z padajúcich blokov na lištu chodiacich blokov. Cieľom hry je tetrisovým spôsobom odkryť čo najviac stĺpcov bez zbytočného mrhania blokmi. Myšlienka hry (riešenia miléniových problémov) bola vo väčšej časti hry potlačená a hráč sa jej venoval len okrajovo. Okrajové pokrytie problematiky je vhodný prvok aj pre našu hru. The Other Side Táto hra je príkladom toho, čomu sa máme vyvarovať. Najlepšie ju moţno definovať ako nedynamickú, nudnú a dlhú variantu Super Maria. Hra je predovšetkým nesmierne pomalá. Pre prepracovanie na druhú obrazovku je potrebné niekoľko sekúnd drţať šípku. Spôsob prekonania súperov a prekáţok je jednoduchý. V prípade náročnejšej prekáţky je kvôli pomalosti hry veľmi otravné sa pokúšať o jej znovuprekonanie. Ak by naša hra trpela takouto chybou, rozhodne by sme sa mali vyhnúť jej prezentácií v rámci promo videa 3. Brainergy Ústrednou témou Brainergy sú obnoviteľné zdroje energie a transformácia energie. Hra nám pripadala ako variácia ku hre The Incredible Machine. Podstatou je zapájať za sebou dostupné nástroje pre dosiahnutie istého cieľa. Hra pôsobí jednoducho a priamočiaro, čo je pri mobilných aplikáciách výhodou. Najväčšou nevýhodou je zvolený hudobný doprovod. Pôsobí aţ priveľmi upokojujúco, priam aţ uspávajúco. Nebyť tohto prvku, tak by sa jednalo o pomerne atraktívnu hru Atraktívne prvky súčasných hier Zdrojové údaje pre túto kapitolu tvoria jedine výber komerčných hier. Pri hrách z predošlých ročníkov ImagineCUP-u sme nespozorovali dostatočnú kvalitu, ktorá by hráča prinútila hru dlhodobo hrať alebo si ju vôbec kúpiť. Preto sme hry z predošlých ročníkov súťaţe viac vyuţili pri návrhu príbehu a deja, namiesto hracích prvkov. V nasledujúcej tabuľke sme sa zamerali na najviditeľnejšie prvky hier a zosumarizovali si ich pri jednotlivých hrách: Prvok Hra Angry Birds Plants vs. Zombies Cup the Rope DoodleJump FlightControl dimenzia grafiky 2D 2D 2D 2D 2D úrovne Krátke úrovne Krátke úrovne Krátke úrovne Postupné sťaţovanie Postupné sťaţovanie ovládanie Gestá Virtuálne tlač. Gestá Gyroskop Trajektória 3 8

13 časovanie Čiastočne Áno Áno Áno Áno súboj Áno Áno Nie Čiastočne Nie charizmatický hrdina Áno Áno Áno, Áno Nie Nie hudba Hravá Dramatická, klavír Hravá Ţiadna Pomalý Jazz humor Čiastočne Áno Nie Nie Nie zložitejšia fyzika variácia prostredia Áno Nie Áno Čiastočne Nie Áno Áno Áno Čiastočne Čiastočne V rámci tímovej práce na projekte sme analyzovali populárne prvky aj iných hier, ktoré sa nezmestili do nášho výberu. Taktieţ sa tú nachádzajú vlastnosti hier z iných ako mobilných platforiem. Jedným z dôleţitých faktorov na vytvorenie širšieho zoznamu boli aj naše osobné skúsenosti, nadobudnuté v rámci voľného času ešte pred začatím prác na tímovom projekte. Nasledovné prvky zhŕňajú doplnkové vlastnosti mobilných hier, ktoré v ţiadnom prípade nenarušujú jednoduchosť a hrateľnosť takýchto hier. Našim cieľom je vyuţiť ich v čom najväčšom počte v navrhovanej mobilnej hry: Dynamickosť - hra musí byť dynamická, ináč začne hráča rýchlo nudiť (istou výnimkou potvrdzujúcou pravidlo sú strategické hry). Príťažlivý hlavný hrdina - kaţdú hru by mal reprezentovať určitý charizmatický hlavný hrdina, alebo predmet. Hlavný hrdina by mal mať nadprirodzené vlastnosti, alebo byť personifikovaný a vedieť ľudsky uvaţovať a rozprávať (závisí od konceptu, avšak pouţíva sa tu princíp rozkošnosti hrdinu). Úvod - je dôleţitý pre uvedenie hráča do deja a malo by ho aj vizuálne upútať. Humor - je neoddeliteľnou súčasťou úspechu, avšak je nutné s ním zaobchádzať opatrne a neprekročiť kritickú hranicu. Chytľavá hudba by mala jednoznačne reprezentovať prezentovanú hru. Príjemná hudba takisto nabáda hráča na dlhšie hranie a celkovo lepšie prijatie hry. Pekná grafika zaujme na prvý pohľad. V prípade škaredej grafiky sa priemerný hráč uţ s hrou ďalej nezaoberá, čo môţe viezť k úzkemu profilovaniu hráčov, prípadne aj celkovému neúspechu. Intuitívne ovládanie - azda najdôleţitejší prvok, hra ktorá sa nedá intuitívne ovládať nie je zábavná. Postupné sťažovanie hry -- hra sa musí sťaţovať, ináč to nie je pre hráča výzva a hra ho prestane rýchlo baviť. 9

14 So sťaţovaním súvisí aj herný mód, ktorý môţe byť nekonečný, alebo hra je rozdelená na viacero mini úrovní (tento bod záleţí od herného konceptu). Pri viacerých úrovniach by sa mal uplatniť princíp checkpointov, aby hráč mohol hru opustiť a neskôr sa vrátiť na pozíciu, kde skončil. Vylepšovanie hlavného hrdinu - dodáva hre ďalšiu dimenziu hrateľnosti. Hráča takáto hra baví viacej, pretoţe nehrá stále to isté, ale s miernymi variáciami sa obmieňa spôsob hrania. Vylepšovaním hrdinu hra taktieţ odmeňuje hráča za vynaloţenú snahu a zjednodušuje mu ďalší priebeh v hre. Minihry na odľahčenie - závisí od konceptu hry, avšak minihrou sa rozumie aj úroveň s hlavným nepriateľom určitej časti hry. Po jeho zdolaní je hráč odmenený stanoveným spôsobom. Pochvala hráča - za kaţdý úspešný ťah by mal byť hráč aj viditeľne pochválený. V hráčovi je tak vzbudzovaný pocit zadosťučinenia za svoj výkon. Náhodné generovanie pohybu nepriateľov alebo úrovni umoţňuje hrať dookola tie isté úrovne bez toho, aby začali byť nudné, pretoţe kaţdá hra je jedinečná. Scoreboard - v prípade statických úrovní je vhodné zaviesť skóre, ktoré si môţu hráči online porovnávať. Napojenie na sociálne siete umoţňuje rýchlejšiu propagáciu hier, ale aj dosiahnutých výsledkov. Otvorenosť pre nové nápady od hráčov by mala byť vţdy vítaná. 2.2 Spôsoby používateľskej interakcie Pri analyzovaní spôsobov ovládania rôznych mobilných hier sme sa bliţšie zamerali na viacero konceptov opísaných niţšie. Kaţdý koncept má svoje výhody a nevýhody a preto sa hodí na ovládanie iba určitého typu hier. V analýze sa zameriame na negatíva, pozitíva a aj hry pouţívajúce tieto spôsoby interakcie. Nepriame ovládanie Ďalšou moţnosťou je nepriame ovládanie, kde má hráč na pohyb objektov len obmedzený vplyv. Do tejto kategórie patrí aj ovládanie pomocou odráţania, resp. ovládanie smeru odráţania objektov napríklad vytváraním stien. Tento spôsob kladie väčšie nároky na sústredenie hráča, lebo musí predpokladať, kam sa predmety budú pohybovať. Tým pádom je hráč viac angaţovaný do hry, ale potom je dôleţité dbať o to, aby sa pri zloţitejších hrách s mnoţstvom akcií ovládanie nestalo príliš komplikovaným. Medzi hry ovládané odráţaním patrí napríklad Smashing 4. Virtuálny joystick Virtuálny joystick je vhodný hlavne pre typické arkádové hry, ktoré obsahujú veľa úrovní so stupňujúcou sa obtiaţnosťou a hlavný hrdina hry má pohyb obmedzený na 4 smery. Obmedzením tohto spôsobu ovládania je, ţe virtuálny joystick zaberá miesto na relatívne

15 malom displeji mobilného telefónu a odozva či moţnosti pohybu sú značne obmedzené. Pri niektorých hrách je moţných aj viac smerov pohybu, avšak problémom je citlivosť joysticku. Výhodou je, ţe rieši absenciu hardvérových ovládacích prvkov na dotykových zariadeniach. Pouţíva sa najmä pri ţánroch FPS (First Person Shooter), hrách kde je potrebné jedným prstom ovládať pohyb a druhým mieriť a strieľať. Virtuálne tlačidlá Ovládanie pomocou virtuálnych tlačidiel, prípadne jedného tlačidla taktieţ rieši problém chýbajúcich hardvérových tlačidiel. Výhodou tohto spôsoby ovládania je moţnosť ovládania aj komplexnejších akcií, ktoré sa vyvolajú pri stlačení. Virtuálne akčné tlačidlá je vhodné pouţiť pri dynamických hrách, kde hráč musí byť schopný rýchlo reagovať na meniace sa podmienky v hre. Tento koncept by bolo moţné pouţiť na doplnenie moţností ovládania na báze odráţania. Problémová je situácia kedy hráč netrafí tlačidlo, čo spôsobí nevykonanie poţadovanej akcie v čase keď to hráč očakáva a zhoršenie záţitku z hry. Vo forme klikania na displej sa ovládací prvok pouţíva vo veľkom počte hier ako napríklad aj DoodleJump. Vstavané senzory Populárnym spôsobom ovládania hier na dotykových telefónoch je vyuţitie akcelerometra pri pohybe telefónu, prípadne gyroskopu, ktorý sníma naklonenie. Výhodou je, ţe plocha displeja nie je nijak obmedzená ovládacími prvkami. Nevýhodou je nutnosť pohybovania telefónom, čo môţe byť v niektorých prípadoch obmedzujúce (napríklad pri ceste v dopravných prostriedkoch, alebo v iných priestorovo obmedzených prostrediach). Takéto ovládanie je tieţ často pouţívané a vyskytuje sa napríklad pri závodných hrách, kde sa nakláňaním telefónu ovláda smer jazdy. Gestá Ovládanie hier pomocou gest kreslených na displeji je v súčasnosti tieţ populárne. Výhodou tohto spôsobu je intuitívnosť ovládania a jeho vhodnosť na rôzne typy hier, či uţ sa jedná o dynamické alebo statické hry. Hráč interaguje s prostredím hry priamo a to napríklad tým, ţe mení jej prostredie alebo dianie v hre ako v prípade hry Cut the rope, kde sa pomocou gest ovláda strihanie lana drţiaceho cukríky. Ďalším zo spôsobov ovládania pomocou gesta tzv. kreslenie trajektórie pohybu. Hráč nakreslí na dotykovej obrazovke krivku, po ktorej sa potom ovládané objekty pohybujú. Tento spôsob ovládania je vhodný najmä pre aplikácie, v ktorých hráč vykonáva viacero úkonov a nemôţe sa plne sústrediť na ovládanie, prípadne je potrebné ovládať väčšie mnoţstvo objektov. Nevýhodou je relatívna nevhodnosť na vyuţitie v dynamických hrách. Tento spôsob sa vyuţíva napríklad v úspešnej hre FlightControl. 2.3 Prehľad navrhovaných herných konceptov Vhodný herný nápad je pri tvorbe hry takmer to najdôleţitejšie. Takýto nápad musí byť jednoducho a rýchlo pochopiteľný, zábavný a zároveň aj pútavý. Hráč sa musí pri ňom zabávať, ale necítiť únavu či nudu. Toto sa dá dosiahnuť rôznorodosťou herných úrovní a miernou úpravou hernej podstaty, ako je napríklad pridanie silnejšej zbrane, rýchlejšieho auta a pod. 11

16 Týmto spôsobom sa ale nedá úplne zmeniť herný koncept (prípadná zmena sa môţe veľmi negatívne premietnuť na hrateľnosť a vo všeobecnosti nie je veľmi odporúčaná). Počas analýzy úspešných hier a následného brainstormingu herných konceptov sme dospeli k viacerým herným konceptom. Snaţili sme sa pritom drţať hlavnej témy súťaţe, ktorá si ukladá za povinnosť myšlienku: Imagine a world where technology helps solve the toughest problems. Teda vytvoriť hru, ktorá by pomohla vyriešiť niektorý z hlavných celosvetových problémov Biela krvinka Herný koncept bielej krvinky je zdravotnícka téma podporujúca miléniové ciele Reducing child mortality a Combating widespread disease. Zakomponovanie scenára opisujúceho jeden zo spomínaných cieľov by nemal vplyv na hru samotnú, preto nemá zmysel ho konkretizovať pred výberom konkrétnej témy. Predpokladáme, ţe v danej problematike by nebol problém nasmerovať príbeh ţiadaným smerom. Herný koncept by vyuţíval prvky súboja, konkrétne medzi bielou krvinkou a nepriateľskými baktériami či vírusmi. Spôsob prístupu k hlavnému hrdinu sme rozdelili na dva základné: Pohľad z prvej osoby: na obrazovke by sa biela krvinka nenachádzala, hráč by bol v jej pozícií a plnil cieľ ničenia neţiaducich elementov v tele. Pohľad z tretej osoby: hlavný hrdina hry by aktívne vystupoval na obrazovke a svoju polohu na nej by s časom menil Hra by bola jednoznačne štylizovaná ako viac úrovňová. Jednotlivé úrovne by mali byť dostatočne krátke, aby bol hráč motivovaný hru dokončiť. S osvojením si vlastností ovládania by úrovne mali svoju náročnosť zvyšovať a nenudiť. Vzhľadom na prítomnosť súboja by mohla byť veľmi jednoducho pričlenená myšlienka ako zlepšujú technológie ţivot. Technológiu by predstavovali rôzne zbrane alebo lieky, ktorými by biela krvinka disponovala Farmár Problematika Hunger nás viedla k vytvoreniu konceptu Farmár. Cieľom hry by bolo oboznámiť hráča s poľnohospodárskou problematikou a efektívnosti vyuţívania zdrojov ako pôda, voda, slnečné ţiarenie, hnojivá, rastlinné semená, poľnohospodárske zvieratá a iné. Motivácia hráča by nebola len osvojenie si nových vedomostí z farmy ale najmä moţnosť z takto dopestovaných, či dochovaných produktov nakŕmiť hladných a upozorniť tak obyčajného človeka, ţe aj v dnešnej dobe nie je pre mnohých ľudí samozrejmosťou plný ţalúdok. Herné prostredie by sa skladalo z poľa zo surovín a nástrojov vhodných na jeho obrábanie. Okrem toho by sa objavovali hladujúci ľudia, čakajúci na jedlo. Úlohou hráča by bolo obrábať pole takou rýchlosťou ako ľudia prichádzajú. Po nenakŕmení človeka v danom časovom úseku by nezomrel, keďţe tento element nepokladáme za vhodný. Namiesto toho by sa postupne zobrazovali animácie ako ho bolí brucho, točí sa mu hlava a nakoniec odpadne a 12

17 príde po neho sanitka s infúziou. Farmár by mal takto povolený len istý počet výjazdov sanitiek za úroveň a po jeho prekročení by sa hra skončila. Ako vhodnejšie charaktery by sme zvolili zvieracie postavy, ako farmára aj hladujúcich. Takýto koncept by potom pôsobil menej uráţlivo voči ľudskej dôstojnosti. Pre technológie v takomto koncepte vidíme široké pole pôsobnosti od hnojív, cez umelé zavlaţovanie aţ po geneticky modifikované rastliny Ekosystém Pre oblasť Environment sme dospeli ku hernému konceptu, ktorý by pojednával a simuloval podmienky potravinového reťazca. Hráč by si tak osvojoval aké sú vzájomné vzťahy medzi jednotlivými ţivočíšnymi druhmi a nutnosť udrţiavať ich vzájomnú rovnováhu. Hra by mohla byť realizovaná v dvoch princípoch členenia: Krátke úrovne: pri tomto princípe by bolo cieľom úrovne vytvoriť rovnováhu na dané časové obdobie pri vyuţití vopred stanovených druhov. Tie by sa s meniacou úrovňou menili, rovnako ako ich počet. Kam aţ zájdeš: Cieľom hry by bolo vydrţať čo najdlhšie. Hra by musela byť navrhnutá tak, aby s pribúdajúcim časom hrania sa úroveň sťaţila aţ na takú úroveň, ţe všetky druhy vymrú. Hru by teda nebolo moţné hrať do nekonečna. Výsledkom pre hráča by bol časový údaj o dobre udrţania rovnováhy. V takejto hre by mohli byť zakomponované idei evolúcie druhov a zmeny väzieb. Do hry musí hráč istým spôsobom zasahovať. Mohol by loviť premnoţené druhy, vytláčať ich na územie s hladujúcimi predátormi, ničenia a prispôsobovania ţivotného prostredia v danej lokácii a iné. Tieto akcie by mohli byť časované nasledovne: V reálnom čase: Hra sa počas procesu nezastavuje. Hráč tak musí reagovať na aktuálnu situáciu a vykonávať len jednu operáciu v čase. Po časových úsekoch: po pevne nastavených časových intervaloch by sa hra prerušila a čakala na hráčove príkazy. Ich počet a intenzita by mohli (ale aj nemuseli) byť limitované. Technológia by mohla byť predstavená ako prostriedok na riadenie správania sa druhov. Ich úroveň by mohla vzrastať, napr. sekera a motorová píla. Technológia by mohla byť vyuţitá aj pri ţivelných alebo iných pohromách (havária ropného tankeru) Budovanie infraštruktúry Veľmi populárnou témou za posledné ročníky súťaţe ImagineCup bolo budovanie infraštruktúry. V tomto smere nie je moţné vytvoriť originál, jednalo by sa iba o rozšírenú verziu SimCity o jeden z miléniových cieľov. Myslíme si, ţe hra podobného štýlu, hoci by bola vysoko prepracovaná, je odsúdená na neúspech. Ak by sa nejednalo o mnohonásobne vyuţitý koncept, tak priestor pre tvorbu a ďalšie rozšírenia by bol dostatočný, aby hra zaujala. Keďţe tomu tak nie je, rozhodli sme sa po pomerne krátkej dobe sa tomuto konceptu nevenovať a nerozvíjať ho. 13

18 2.4 Dostupné softvérové frameworky Pri vývoji hry nám môţu značne uľahčiť prácu uţ existujúce frameworky, z ktorých by sme mohli pouţiť určité komponenty. V analýze sa preto zameriame na trojicu frameworkov, ktoré sú najviac vyhovujúce na tvorbu našej hry. Všetky pochádzajú od spoločnosti Microsoft, keďţe sú priamo podporované na telefónoch s operačným systémom Windows Phone 7 a aj oficiálne podporované zo strany súťaţe ImagineCUP Silverlight 5 Microsoft Silverlight je aplikačný protokol vhodný na programovanie a spúšťanie internetových aplikácií, pričom sa vo svojej podstate veľmi podobá na konkurenčný Adobe Flash. Spustiteľné prostredie Silverlight aplikácií sa realizuje pomocou doplnkov do internetových prehliadačov. Obrázok 9 - Logo Microsoft Silverlight Zatiaľ čo prvotné verzie Silverlight boli určené najmä na streamovanie videa, tak súčasná verzia sa sústreďuje na multimédiá, grafiku a animácie. Toto umoţňuje programátorom jednoduchšie realizovať základné grafické rozhranie aj na zariadeniach s operačným systémom Windows Phone 7. Silverlight predstavuje jednu z dvoch aplikačných platforiem pre tento operačný systém. Prvá verzia Silverlight bola vypustená v roku 2007, zatiaľ čo posledná štvrtá v apríli Samotný Silverlight je kompatibilný s viacerými internetovými prehliadačmi na operačných systémoch od Microsoft Windows, cez Mac OS X aţ po Symbian či Phone 7. Bezplatná softvérová implementácia Moonlight umoţňuje spúšťať Silverlight verzií 1 a 2 aj na platforme Linux, FreeBSD, či iných open-source platformách. Keďţe je platforma Microsoft Silverlight vhodná najmä pre webové aplikácie a hry, tak pri tvorbe našej hry sa skôr zameriame na ďalšie frameworky, ktoré poskytujú priamo kniţnice na vykresľovanie grafiky, prehrávanie zvuku a pod

19 2.4.2.NET 6.NET Framework je integrálnou súčasťou systému Windows, ktorá podporuje vytváranie a beh novej generácie aplikácií a webových sluţieb na báze XML. Obsahuje dva hlavné komponenty: Common Language Runtime(CLR).NET Framework class library(fcl) CLR zabezpečuje funkciu code management počas behu programu, konkrétne riadenie pamäte (memory management), riadenie vláken (thread management) a ďalšie funkcie zabezpečujúce robustnosť. Kniţnica FCL slúţi ako vyčerpávajúca kolekcia tried rôznych druhov, ktoré môţu byť pouţité pri vývoji. Obrázok 10 - Logo Microsoft.NET 4.0 Obrázok 11 - Rozloženie komponentov v.net

20 Cieľom je poskytnúť konzistentné objektovo orientované prostredie a tieţ bezpečné prostredie na spúšťanie a beh kódu (code execution environment)..net Compact Framework prináša tieto výhody aj na zariadenia s obmedzenými zdrojmi, ako napríklad aj mobilné telefóny. Rozloţenie jednotlivých komponentov v.net 4 je znázornené na obrázku niţšie XNA Microsoft XNA je súbor nástrojov a prostredia, ktoré umoţňuje zjednodušene vytvárať, ladiť a spravovať hry. Pomenovanie XNA pôvodne pochádza zo skratky Xbox New Architecture. XNA si kladie za cieľ odbremeniť vývojárov jednoduchých hier od nízkoúrovňových problémov a ponúka im moţnosti pouţiť uţ existujúce kniţnice. Tento koncept prudko redukuje čas potrebný na vytvorenie hry a vývojári sa tak môţu lepšie sústrediť na ďalšie aspekty hry. Obrázok 12 - Logo Microsoft XNA Súbor nástrojov XNA bol vydaný v roku V súčasnosti je aktuálna verzia 4, ktorá bola vydaná v roku 2010 spoločne s ďalšími vývojárskymi nástrojmi pre platformu Windows Phone 7. XNA nepokrýva len mobilnú platformu, ale umoţňuje tvorbu hier aj na platformu Xbox. Súbor nástrojov XNA je pre naše potreby mimoriadne vyhovujúci. Veľa prvkov, ktoré chceme pouţiť v našej hre (2D grafika, animácie, hudba, zvukové efekty a iné) je obsiahnutých priamo v kniţniciach XNA. Framework XNA sa zakladá na platforme.net, pričom ako hlavný programovací jazyk je vyuţitý C#. Pre vývoj našej hry sú mimoriadne dôleţité dostupné ukáţkové príklady a web ktorý nielenţe obsahuje názorné príklady pouţitia jednotlivých kniţníc, ale poskytuje aj moţnosti riešenia problémových situácií. Po rozsiahlejšej analýze sme sa rozhodli pouţiť ako nosnú platformu pre našu hru práve XNA framework v spolupráci s.net frameworkom, ktorý umoţňuje jednoduchý implementáciu všetkých našich nápadov a taktieţ aj poţiadaviek. 16

21 3 Špecifikácia požiadaviek na tvorbu hry Kapitola špecifikácie poţiadaviek sa sústreďuje na skrátený opis navrhnutého finálneho herného konceptu, ktorý vzišiel z predchádzajúcej podrobnej analýzy. K špecifikácií patrí aj pouţité vývojové prostredie, ktoré budeme pouţívať pri tvorbe tejto hry. 3.1 Výber finálneho konceptu Aj napriek tomu, ţe v analýze sme pojednávali o štvorici vhodných herných konceptoch, do špecifikácie a následného návrhu sme ich nezahrnuli, keďţe kaţdý z konceptov mal nedostatky v oblasti stanovených prvkov úspešnosti alebo nedostatočne rešpektoval zadanú tému súťaţe. Po hlbšej analýze herných konceptov úspešných hier a moţností ako jednoduchým spôsobom vykresliť spôsob ako moderné technológie pomáhajú zlepšiť ţivot ľuďom, sme sa rozhodli pre stvárnenie ich pozitívneho vplyvu pri riešení problému najrozšírenejších ochorení (Combating widespread disease). V konečnej fáze analýzy rôznych celosvetových problémov (najmä tých definovaných OSN) sme dospeli k záveru, ţe zvolená téma boja proti najrozšírenejším chorobám poskytuje najväčšie moţnosti zakomponovania technológií do herného konceptu, kde sa bude stvárňovať vývoj nových medicínskych technológií. (Môţe sa jednať napríklad o liečivá alebo aj zatiaľ neexistujúce sci-fi technológie.) Cieľom hry je zničenie choroboplodných organizmov do určitého časového limitu. Podrobnejší opis scenára, herného konceptu, spôsobu ovládania ako aj ilustračné obrázky sa nachádzajú v nasledujúcej kapitole (Návrh mobilnej hry). 3.2 Vývojové prostredie Vzhľadom na podmienky súťaţe a platformy Windows Phone 7 na ktorej bude realizovaná naša hra sme v rámci kompatibility obmedzení na vývojové prostredie Visual Studio od spoločnosti Microsoft. Budeme pouţívať verziu Visual Studio 2010 Express for Windows Phone, ktorá obsahuje Windows Phone SDK 7.1 so softvérovým emulátorom mobilného telefónu, na ktorom môţeme rýchlo testovať vykonané zmeny v zdrojovom kóde. Samotné Windows Phone SDK 7.1 zahŕňa aj všetky poţadované pracovné frameworky Microsoft Silverlight,.NET a aj XNA. Výhodou tohto prostredia je jeho rozšírenosť, vďaka čomu sa na internete a rôznych publikáciách nachádza mnoţstvo vzorových príkladov, ktoré nám umoţnia rýchlejšie začatie prác na projekte. Bezplatná 30-dňová verzia je prístupná na webe 7 Microsoftu. Po uplynutí tejto časovej lehoty je nutné toto vývojové prostredie zaregistrovať, čo ale pre nás nepredstavuje problém, keďţe ako súťaţiaci v ImagineCUP máme túto registráciu zdarma

22 4 Návrh prototypu mobilnej hry Kapitola s návrhom mobilnej hry sa venuje hlbšiemu rozpracovaniu témy, ktorú sme si zvolili na základe podrobnej analýzy hier opísanej v kapitole Analýza. Návrh je rozdelený do podkapitol Scenár, Herný koncept, Ovládanie, Grafické používateľské rozhranie a Predbežný grafický návrh. Scenár popisuje celkový dej hry a všetky súvislosti, ktoré budú naznačené v úvodnom videu pri spustení hry. Herný koncept sa zas zameriava na všetky herné a technologické aspekty hry. V podkapitole Ovládanie je bliţšie opísaný spôsob pouţívateľskej interakcie s navrhovanou hrou. Podkapitola Grafické používateľské rozhranie definuje jednotlivé ovládacie obrazovky, ich spojitosť a rozdelenie hernej plochy. Posledná podkapitola Predbežný grafický návrh obsahuje jednoduché náčrty hlavného hrdinu a iných prvkov. 4.1 Scenár Na začiatku hry sa bude nachádzať krátky úvod s predstavením hlavného hrdinu, ktorým je malý nanobot Jimmy. Je to výsledok najnovšej medicínskej technológie, ktorý má byť riešením všetkých problémov s najrozšírenejšími zákernými ochoreniami na svete. Pri predstavovaní však ochorie zvieratko a Jimmy má prvú príleţitosť preukázať svoje schopnosti pri boji s choroboplodnými organizmami. (Zvieratká sme zvolili najmä na základe analýzy hier, kde sa vyskytujú charizmatickí a milí hrdinovia a tieţ, ţe v prípade neúspechu v úrovni môţeme šetrnejšie vykresliť zlyhanie ako pri ľudskom hrdinovi.) Zobrazí sa krátke video znázorňujúce choré zvieratko v posteli s teplomerom v ústach a Jimmyho, ktorý prichádza na pomoc. V tomto momente sa začína samotná hra, ktorej cieľom je v čo najkratšom čase vyhubiť všetky baktérie a vírusy, aby sme zachránili ţivot chorému zvieratku. Podrobný popis herného konceptu sa nachádza v nasledujúcej kapitole. Po úspešnom zničení choroboplodných zárodkov uţ zostáva len poraziť hlavný zdroj ochorenia zvieratka - najsilnejšiu baktériu. Potom nám zvieratko vyzdravie a je predstavená nová technológia, ktorá pomáha Jimmymu ešte efektívnejšie bojovať s vírusmi a baktériami. Nanešťastie vzápätí ochorie iné zvieratko, ktoré je potrebné zachrániť no s novými vylepšeniami dokáţe nanobot Jimmy úspešne bojovať aj proti hrozivejším baktériám v sérii ďalších úrovní. V prípade, ţe sa nepodarí v stanovenom čase odstrániť baktérie a ostatné škodlivé organizmy, zvieratko sa uţ nepodarí zachrániť a je ponúknutá moţnosť opakovať danú úroveň. Celú dejovú líniu prehľadnejšie opisuje diagram na obrázku

23 4.2 Herný Koncept Obrázok 13 - Vývojový diagram scenára hry Hlavnou témou navrhovanej hry je boj proti najrozšírenejším ochoreniam stvárnený bojom nanobota Jimmyho proti baktériám a vírusom. Tento koncept vychádza z konceptu bielej krvinky, ktorý je rozobratý v časti analýza. Je ale upravený a výrazne konkretizovaný Pohyb Jimmy sa pohybuje odráţaním od stien, pričom jeho pohyb je moţné kontrolovať iba nepriamo - kreslením stien na displej, od ktorých sa bude odráţať. Kreslenie je realizované gestom potiahnutia prstu po displeji, kde výsledná stena sa bude generovať ako spojnica prvého a posledného bodu dotyku. Týmto spôsobom zabezpečíme intuitívne a jednoduché ovládanie, aj keď reálne nakreslená stena nie je priamka. Podrobnejší popis ovládania sa nachádza v podkapitole Ovládanie Vylepšenia Samotné ničenie choroboplodných zárodkov je zabezpečené jednoduchým narazením prípadne preletením nanobota cez baktériu/vírus a rozhodovať o tom bude druh baktérie/vírusu. Aby hra nebola monotónna, je potrebné zakomponovať viac moţností na boj, čo bude 19

24 realizované rôznymi novými technológiami vylepšujúcimi schopnosti Jimmyho. Tento prvok je dôleţitý aj z hľadiska splnenia podmienok špecifikovaných súťaţou Imagine Cup. Rôzne moţnosti vylepšovania sme popísali v podkapitole Technologické vylepšenia. Dôleţité je poznamenať, ţe postupom v hre bude môcť hráč vyuţívať stále pokročilejšie technológie Nepriatelia V hre bude samozrejme aj niekoľko rôznych druhov baktérií a vírusov odlišujúcich sa výzorom i vlastnosťami ako napríklad vyššia odolnosť, rýchlosť pohybu a podobne. Po prejdení určitého počtu úrovní sa na konci sekcie objaví hlavný nepriateľ, predstavujúci zdroj ochorenia zvieratka. Jeho zničenie bude náročnejšie, ale po úspešnom zvládnutí tejto mini-úrovne bude hráč odmenený novou technológiou, ktorá mu v ďalších úrovniach zjednoduší postup Cieľ hry Cieľom hry bude v určitom časovom limite závislom na konkrétnej úrovni vyničiť všetky baktérie a vírusy. Tento čas predstavuje ţivot chorého zvieratka, ktoré treba zachrániť a čím viac baktérií je na obrazovke, tým rýchlejšie z neho ubúda Zvyšovanie obtiažnosti Ďalším dôleţitým prvkom bude stúpajúca obtiaţnosť úrovní. Táto vlastnosť je aj jedným zo základných prvkov hier všeobecne, čo potvrdzujú aj výsledky našej analýzy hier. V našom návrhu je viacero spôsobov zvyšovania obtiaţnosti vo vyšších úrovniach: Celkové zrýchlenie hry - predstavuje pre hráča výzvu najmä v oblasti ovládania a sústredenia. Zrýchli sa pohyb Jimmyho a taktieţ nepriateľov, čo spôsobí vyššiu náročnosť pri "triafaní" nepriateľov. Nové druhy odolnejších choroboplodných zárodkov - budú rýchlejšie uberať zo ţivota zvieratka a odolnejšie proti Jimmyho útokom. Na ich zničenie bude potrebné niekoľkokrát ich zasiahnuť, čo kladie dôraz na lepšie plánovanie odrazov, aby hráč nestrácal čas. Množenie choroboplodných zárodkov - zvýšenie počtu nepriateľov predstavuje taktieţ výzvu, pričom sa budú rozmnoţovať vo vyšších úrovniach rýchlejšie ako v niţších. Vyšší počet nepriateľov znamená, ţe bude rýchlejšie ubúdať zo ţivota zvieratka a teda kladie dôraz na sústredenie. V prípade, ţe v neskorších fázach zistíme potreby spestrenia prostredia hry, rozpracujeme moţnosť vloţenia objektov ako napríklad pohybujúce sa veľké červené krvinky, prípadne iné objekty, s ktorými by mohli baktérie a hlavný hrdina interagovať Skóre Aby sme zabezpečili pre hráčov moţnosť porovnávať si medzi sebou výsledky, budeme jednotlivé úrovne hodnotiť podobne ako v hre Angry Birds popisovanej v analýze. Hodnotenie sa bude zakladať na čase, ktorý bol potrebný na prejdenie úrovne. Čím rýchlejšie zvládnutá úroveň, tým lepšie hodnotenie, reprezentované počtom kríţikov. Herné štatistiky a moţnosť zdielať svoje skóre online zváţime v neskorších fázach projektu. 20

25 4.2.7 Technologické vylepšenia Dôleţitým faktorom z hľadiska splnenia podmienok v súťaţi ImagineCUP je zakomponovanie pozitívneho vplyvu technológií na zlepšenie ţivota. V tejto kapitole rozoberáme navrhované spôsoby ako pomocou technológií moţno vylepšiť hlavného hrdinu. Tento prvok je taktieţ dôleţitý z hľadiska hrateľnosti, lebo pri väčšom počte úrovní bez zmeny by sa hra stala neatraktívnou. V súlade so zvolenou témou v súťaţi budeme technologické vylepšenia chápať ako pokroky v medicíne, ktoré zlepšujú úroveň ţivota a zachraňujú ţivoty ľudí i zvierat. Rozhodli sme sa pouţiť výlučne pasívne technológie, ktoré budú mať po aktivácii tlačidlom automatický efekt bez potreby ďalšieho ovládania. Je to z toho dôvodu, ţe hráč bude dostatočne zaťaţený ovládaním smeru pohybu a bolo by príliš náročné venovať pozornosť zloţitému pouţívaniu technologických vylepšení. Jednotlivé vylepšenia sme rozdelili do niekoľkých tried podľa ich vplyvu na hru. Primárne vylepšenia Priamo ovplyvňujú a zlepšujú schopnosti Jimmyho v boji s baktériami a vírusmi 8 : Zvýšenie účinnosti proti rôznym typom baktérií - toto vylepšenie bude mať vplyv aj na to, či sa Jimmy odrazí resp. preletí cez zničené baktérie a účinnosť na konkrétny druh bude indikovať rovnaká farba baktérie aj technológie (rôzne druhy liekov) Zrýchlenie zrýchli pohyb Jimmyho aby bolo jednoduchšie dobehnúť zamýšľanú baktériu a tieţ jednorazovo zvýši účinnosť (vitamín) Zväčšenie akčného rádiusu - pomocou tohto vylepšenia bude moţné zasiahnuť aj baktérie, ktoré nie sú presne v dráhe pohybu nanobota, ale aj tie, čo sa nachádzajú v jeho blízkosti (ostne, prípadne chápadielka) Rozdvojenie dočasne vytvorí klon nanobota, ktorý je tieţ moţné ovládať kreslením odrazových stien (replikácia) Sekundárne vylepšenia Pomáhajú negatívnym ovplyvňovaním baktérií a umoţňujú kombinovanie s ostatnými druhmi technológií na zlepšenie efektivity: Spomalenie baktérií spomalí baktérie aby ich bolo moţné jednoduchšie trafiť (sirup, zmrazenie) Zväčšenie baktérií Zväčší baktérie taktieţ na zjednodušenie ich zasiahnutia (kontrastná látka) Odhalenie baktérií - niektoré baktérie budú neviditeľné alebo ťaţko rozoznateľné a na určitý čas sa zobrazia po pouţití tejto technológie (ultrazvuk) Priťahovanie baktérií privolá všetky baktérie v určitom polomere okolo Jimmyho a pouţitím primárnych vylepšení ich je moţné zničiť bez nutnosti ich triafať (magnet) 8 Pre jednoduchosť budeme v tejto kapitole všetky choroboplodné zárodky (vírusy, baktérie...) označovať pojmom baktérie 21

26 Akceleračné vylepšenia Pomáhajú pri navigácii a ovládaní pohybu nanobota, čím je moţné rýchlejšie zničiť všetky baktérie: Zameriavanie lúč, ktorý ukazuje kam sa Jimmy po odraze bude pohybovať (laser) Transport premiestnenie Jimmyho na miesto určené dotykom na displej (teleport) Autonómne (pokročilé) vylepšenia Pasca na baktérie pri pohybe bude za sebou Jimmy zanechávať horiacu stopu (zloţenú z úsekov podľa odráţania), ktorá zničí prvú baktériu, ktorá sa jej dotkne a potom úsek zmizne. Rovnako ako nasledujúca schopnosť ovplyvňuje iba baktérie a nie nanoboty (lieky s pomalým uvoľňovaním) Bomby - podobné ako predchádzajúca schopnosť, ale účinnejšia, kde Jimmy zanechá za sebou bombu, ktorá zničí prichádzajúcu baktériu (antibiotiká) Nanoboti vypustí malé autonómne nanobotíky na jedno pouţitie, automaticky ovládané, ktoré zničia najbliţšie baktérie (nanoboti) Vzdušná podpora pouţitie tejto technológie zavolá posily, ktoré zbombardujú veľkú časť obrazovky určenú dotykom, prípadne náhodne (penicilín) Globálny žolík (trasenie telefónom) technológia efektívna na všetky druhy baktérií s oblasťou pôsobenia na celú obrazovku (gama ţiarenie) 4.3 Ovládanie Na základe analýzy moţností pouţívateľskej interakcie sme sa rozhodli riešiť ovládanie kombináciou nepriameho ovládania s virtuálnymi tlačidlami. Dôvodom je, ţe chceme vytvoriť netradičný spôsob ovládania, ktorý však bude intuitívny a zároveň bude poskytovať dostatočné moţnosti pri zloţitejších akciách. Ovládanie bude zaloţené na kreslení stien pomocou gest, od ktorých sa bude náš nanobot odráţať. Virtuálne tlačidlá budú slúţiť na aktiváciu technológií. Tento spôsob nezaberá miesto na hracej ploche a implementovaním rôznych gest je moţné ovládať veľký počet akcií. Jedinou nevýhodou sa javí problém interpretácie pri zloţitejších gestách, čo však nie je náš prípad, keďţe budeme pouţívať iba jednoduché gestá. Ako bolo spomenuté vyššie, nanobot Jimmy sa bude pohybovať neustálym odráţaním od okrajov obrazovky. Hráč môţe smer pohybu ovládať len nepriamo a to gestami, ktorými bude na displej kresliť steny. Hráč môţe smer pohybu ovládať len nepriamo a to gestami, ktorými bude na displej kresliť steny. Počet stien, ktoré bude moţné nakresliť bude obmedzený na 3 (ak hráč nakreslí 4. stenu, prvá zmizne). Je to z dôvodu, aby sa hracia plocha nestala neprehľadnou. Obrázok 14 ilustruje navrhovaný koncept ovládania. 22

27 Obrázok 14 - Skica spôsobu ovládania Časti označené I a II predstavujú spolu celú hraciu plochu, ale na displeji bude zobrazená v jednom okamihu vţdy len jedna časť. Podrobnejšie je navrhovaný koncept posúvania zobrazenia opísaný v kapitole Grafické používateľské prostredie a menu. Prerušovaná čiara znázorňuje pohyb nanobota. To, či sa od zasiahnutej baktérie odrazí alebo cez ňu preletí je dané pouţívanými technologickými vylepšeniami a druhom baktérie. Virtuálne tlačidlá budú umiestnené po okrajoch displeja a budú slúţiť na výber a pouţívanie dostupných technológií. Týmto spôsobom zabezpečíme jednoduchú a rýchlu voľbu technológií, ktorú je moţné kombinovať s gestami na ovládanie pohybu. Pri pouţití niektorých pokročilých technológií ako napríklad transport bude moţné priamo dotykom na miesto na obrazovke definovať oblasť účinku. Jedno tlačidlo je rezervované aj na vyvolanie menu z hry. Na začiatku hry bude pohyb baktérií veľmi obmedzený a budú zoskupené do skupiniek, aby ich bolo moţné jednoducho zasiahnuť. Pri postupe do vyšších úrovní bude rásť obtiaţnosť, čo sa prejaví rôznymi spôsobmi, ako to bolo popísané v kapitole Herný koncept. Z hľadiska ovládania pôjde o zrýchlenie pohybu nanobota Jimmyho a taktieţ baktérií, ktoré budú aj viac distribuované po hracej ploche. Na zvládnutie tejto situácie budú dostupné aj akceleračné technológie, ktoré majú napomôcť pri ovládaní. Transportom si hráč bude môcť premiestniť Jimmyho na ľubovoľné miesto na displeji. Tieţ bude môcť pouţiť laserové zameriavanie, ktoré zobrazí presnú dráhu pohybu vrátane odrazov od nakreslených stien. 23

28 4.4 Grafické používateľské prostredie a menu Po spustení hry sa prehrá krátke animované video, ktoré uvedie hráča do deja. Toto video sa dá preskočiť kliknutím na displej a zbytočne tak nezdrţiavať uţ informovaného hráča. Následne sa zobrazí hlavné menu, ktoré bude obsahovať poloţky: New Game (nová hra) Continue Game (pokračovanie v hre) Scoreboard (tabuľka úspešných hráčov) Settings (nastavenia) Exit (koniec) Kaţdá z týchto poloţiek odkazuje buď na ďalšiu obrazovku, alebo priamo vykoná zvolenú funkciu. Diagram celého ovládacieho menu a aj jeho stručný opis je znázornený na obrázku 15. Za grafickým textom sa bude na pozadí nachádzať obrázok znázorňujúci hlavnú myšlienku hry, ktorý taktieţ dotvára hernú atmosféru. Obrázok bude buď statický alebo animovaný, čo sa určí v neskoršom prototypovaní. Obrázok 15 - Diagram herných obrazoviek Z Hlavného menu sa dá spustiť nová hra, zobraziť tabuľku úspešných hráčov (Scoreboard), zmeniť nastavenia (Settings), alebo celkovo ukončiť hru. Po spustení novej hry si môţe hráč vybrať jednu z úrovní, ktoré uţ prešiel, alebo môţe pokračovať v úrovni, na ktorej skončil. Počas hrania sa dá virtuálnym tlačidlom hra kedykoľvek pozastaviť a vyvolať herné menu v ktorom môţe vykonávať zmeny nastavení, alebo ukončiť hru. Bliţšie špecifikovanie jednotlivých obrazoviek bude nasledovať v ďalšom prototypovaní. 24

29 Herná obrazovka v menu a aj počas hrania je v reţime landscape, teda naleţato. Tento reţim je výhodný najmä z pohľadu hrateľnosti, keďţe pouţívateľ má k dispozícií širokouhlú obrazovku umoţňujúcu obojručnú manipuláciu. Herné pole je horizontálne predelené na 3 oblasti. Dvojica bočných polí obsahuje virtuálne akčné tlačidlá, ktoré aktivujú dostupné technológie. Tieto tlačidlá majú dynamickú funkciu, keďţe v kaţdej úrovni sú dostupné iné technológie. Funkcie tlačidiel sú pre lepšiu orientácia vizuálne odlíšené podľa ikoniek zobrazujúcich ich činnosti. Na pravej strane je zobrazený aj indikátor ţivota a na ľavej strane je virtuálne tlačidlo pozastavenia hry. Obrázok 16 - Herná obrazovka s virtuálnymi tlačidlami Obrázok 17 - Princíp rozšírenej hernej plochy 25

30 Keďţe mobilné telefóny disponujú relatívne malou obrazovkou, ktorá môţe obmedzovať herný priestor, tak v prípade pozitívnych výsledkov z testovania prototypu sa rozhodneme, či celkové hracie pole rozšírime na trojnásobok a to tak, ţe obrazovku rozšírime na výšku. Posúvanie bude plne automatické na základe polohy Jimmyho, tak aby sa obrazovka zbytočne stále neposúvala, ale začala sa hýbať len vtedy, keď sa Jimmy dostane do hornej alebo spodnej štvrtiny obrazovky. Algoritmus posúvania taktieţ počíta s moţnosťou odrazenia Jimmyho a zabraňuje tak chaotickému a zbytočnému rolovaniu obrazovky. Princíp rolovania je znázornený na obrázku Predbežné grafické návrhy Počas návrhu hry sme vytvorili aj predbeţné grafické návrhy niektorých objektov. Vybrané skice sú znázornené na nasledujúcich obrázkoch. Obrázok 18 - Skice - biela krvinka Obrázok 19 - Skice Jimmy - nanobot 26

31 Obrázok 20 - Skice - baktérie a vírusy 27

32 5 Prototyp Cieľom tímového projektu za zimný semester je vytvoriť funkčný prototyp, ktorý bude demonštrovať základnú funkcionalitu a poţiadavky navrhnutého riešenia. Nielenţe takýto prototyp poskytne jednoduchý náhľad na ucelený a funkčný koncept navrhovaného riešenia, ale taktieţ umoţní zistiť oblasti, ktoré môţu byť pri ďalšom programovaní problematické. Prototyp musí byť plne funkčný minimálne v emulátore zariadení. Prototyp bude obsahovať základný herný koncept v plne funkčnej podobe. Namiesto grafických a zvukových prvkov budú pouţité len jednoduché multimediálne súbory, na ktorých si overíme funkčnosť ako animácií, tak aj rôznych audiovizuálnych efektov. Základný herný koncept zahŕňa kreslenie stien, odráţanie hlavného hrdinu, pohyb nepriateľských elementov ako aj ubúdanie ich ţivota. Neskôr sa do hry pridá ešte Menu, Nastavenia, technológie, rôzne druhy nepriateľov a iných elementov. Tento prototyp by nám mal odhaliť všetky problematické oblasti, ktoré nie sme schopní vyriešiť jednoducho pomocou frameworkov, ale vyţadujú si rozsiahlejšie programovanie a teda aj dlhší čas. Pomocou prototypu budeme taktieţ vedieť spresniť časové limity, ktoré si pri vývoji postupne stanovujeme. Nasledujúce kapitoly popisujú jednotlivé dôleţité komponenty, na ktoré sme sa sústredili pri tvorbe prototypu. Tieto komponenty sú základným stavebným kameňom finálnej hry. 5.1 Postupnosť vykonávaných operácií Na úvod je potrebné osvetliť princíp fungovania herného mechanizmu. Ten je v súčasnej verzii hry vykonávaný v nekonečnej slučke bez moţnosti nenásilného ukončenia hry. Mechanizmus obsahuje päť hlavných krokov, ktoré sú ďalej rozvité (Obrázok 21). Po spustení hry dochádza k inicializácií všetkých objektov, teda Jimmyho, zoznam stien a zoznam nepriateľov. Pri inicializácii sa napĺňa jedine zoznam nepriateľov. Zoznam stien je prázdny nakoľko stenu vytvára hráč a nie hra. Všetky zoznamy sú uchovávané v štruktúre list, ktorá je súčasťou prostredia C#. Po úspešnom načítaní a vytvorení všetkých potrebných objektov prichádza na rad sledovanie hráčovej interakcie. Tá predstavuje kontrolu dotykovej obrazovky. Na jej základe je vytvorená nová stena alebo sú menené jej atribúty. Podrobný opis je v kapitole 5.6 Správa používateľského vstupu. Nasleduje aktualizácia všetkých objektov, ktorých atribúty sú periodicky menené. Súčasná verzia prototypu aktualizuje jedine polohy. Objekty, ktoré podliehajú týmto zmenám sú Jimmy a všetci nepriatelia. Pri zmene polohy môţe dochádzať ku kolíziám objektov. Práve tento proces je zachytávaný v ďalšom hlavnom bloku. Okrem detekcie kolízie je potrebné kolíziu aj vyriešiť. To je moţné vyuţitím jedného zo štyroch modelov, pričom kaţdý model sa venuje osobitnému typu kolízie: kolízia Jimmyho/nepriateľa s okrajom obrazovky, kolízia Jimmyho a nepriateľa, kolízia Jimmyho a steny, vzájomná kolízia nepriateľov. 28

33 Po vykonaní vstupných a logických operácií sú všetky aktívne prvky hry premietnuté do grafickej podoby. Po ukončení cyklu je proces uspaný na dobu zotrvania jedného obrázku na hracej ploche. Cyklus následne začína od sledovania vstupov na dotykovej obrazovke. Obrázok 21 Postupnosť operácií 5.2 Navrhované triedy prototypu Na obrázku 22 je znázornený UML diagram tried pouţitých pri implementácii prototypu. V nasledujúcich podkapitolách sa nachádza podrobnejší popis týchto tried. Definované triedy ešte nie sú finálne a pri postupnom pridávaní ďalších funkcií do hry ich budeme podľa potreby dopĺňať. Na ozrejmenie a otestovanie hierarchie základných objektov v hre ale postačujú. 29

34 5.2.1 Trieda Character Obrázok 22 - UML diagram tried prototyp Trieda Character je rodičovskou triedou pre triedu Hero, predstavujúcu nanobota Jimmyho a pre triedu Enemy, ktorá predstavuje nepriateľov. Rozhodli sme sa takto z dôvodu, ţe Jimmy a nepriatelia majú veľké mnoţstvo podobných vlastností a tieţ činností, ktoré sa s nimi dajú vykonávať. Obe triedy potrebujú zaznamenať atribúty o svojej polohe, rýchlosti a odkaz na textúru pomocou ktorej sú vykresľované. Spoločné metódy sa týkajú najmä zisťovania vzdialeností medzi objektmi, ktoré sú dôleţité pri riešení kolízií. Metódy SetDeltaPos(), SetAngle a SetSpeed() sú dôleţité pri zmenách smeru pohybu po odrazení od prekáţok. Metódy Draw() a Update() slúţia na obnovovanie pozície a vykresľovanie objektov. 30

35 5.2.2 Trieda Hero Obrázok 23 trieda Character Trieda Hero je určená na vytvorenie inštancie nanobota Jimmyho v hre bude práve jeden objekt tejto triedy. Rozširuje vlastnosti rodičovskej triedy o atribút technologies, ktorý slúţi na uloţenie konkrétnej pouţívanej technológie. Aby sme mohli určovať ako efektívne dokáţe Jimmy bojovať proti nepriateľom, je potrebné udrţiavať informácie o veľkosti poškodenia, ktoré udeľuje nepriateľom v prípade kolízie. Na to slúţi atribút damage. V ďalších fázach vývoja budeme túto triedu dopĺňať, ale pre potreby prototypu nám táto reprezentácia postačuje Trieda Enemy Obrázok 24 Trieda Hero Trieda Enemy reprezentuje nepriateľov. Táto trieda nám na reprezentáciu baktérií aj vírusov v prototype postačuje, keďţe môţeme jednotlivým objektom nastaviť rôzne hodnoty definujúcich atribútov. Atribút durability predstavuje odolnosť nepriateľa a tým pádom aj počet zásahov potrebných na jeho zničenie. Po kaţdom zásahu sa z neho odráta príslušná hodnota podľa atribútu damage v triede Hero. Pri poklesnutí na 0 je nepriateľ zničený. Ostatné atribúty sú pouţité na definovanie spôsobu pohybu objektu spolu s metódou UpdatePosition(). Nepriatelia sa pohybujú náhodne, pričom anglerange je uhol zmeny smeru a periodicity udáva ako často sa zmena udeje. 31

36 5.2.4 Trieda Wall Obrázok 25 Trieda Enemy Táto trieda predstavuje steny, ktoré hráč nakreslil za účelom ovládania pohybu Jimmyho. Je tvorená 2D textúrou, začiatočným a koncovým bodom. Atribút active slúţi na odlíšenie aktívnych a neaktívnych stien pri algoritme zisťovania kolízií. Neaktívne steny sú indikované hráčovi graficky - vyplnením rozdielnou textúrou, ktorá je uloţená v atribúte walltextureinactive. Metóda GetDistance() slúţi na zistenie vzdialenosti medzi koncovým a začiatočným bodom steny. GetUprightDistance() je ťaţiskovou metódou pri výpočte vzdialenosti Jimmyho od steny pomocou rekurzívnej triangulácie, ktorej vysvetleniu sa bliţšie venujeme v kapitole 5.4 Detekcie kolízií. Ďalšie metódy sú pouţívané pri vykresľovaní steny a zaisťovaní konzistencie grafickej a matematickej reprezentácie steny. (Pre podrobnejší popis viď kapitolu 5.7 Vykresľovanie na displej) Trieda Technology Obrázok 26 Trieda Wall Trieda Technology nebola v prototype pouţitá. Vytvorili sme ju zatiaľ bez atribútov a metód, ktoré neskôr doplníme. Objekty tejto triedy budú predstavovať technologické vylepšenia 32

37 pomáhajúce Jimmymu bojovať proti nepriateľom podľa princípu popísaného v návrhu. Na rozlíšenie, ktorú technológiu hráč aktivoval slúţi atribút technologies v triede Hero, kde je uloţená referencia na konkrétnu pouţívanú technológiu. 5.3 Orientácia priestoru Pri určovaní smeru pohybu charakterov alebo orientácie steny vyuţívame spomínané premenné angle a deltaposition. Na správnu orientáciu v priestore musíme uvaţovať vzájomnú polohu osí X a Y obrátene. Teda tak, ţe os X smeruje doprava s os Y dole (obrázok 27). Takéto orientovanie je vhodné si osvojiť hlavne pre správnu interpretáciu všetkých atribútov typu Vector2. Takéto usporiadanie osí platí iba v landscape otočení obrazovky, čo predstavuje pre vyvíjanú hru natívne natočenie. Iné otočenie obrazovky v rámci hry nepredpokladáme. Obrázok 27 Orientácia základných osí v landscape Z orientácií osí vyplýva aj hodnota uhlov, ktorá je rovnako (zrkadlovo) otočená voči horizontálnej osi (obrázok 28). Pre jednoduchšiu implementáciu sme sa rozhodli označovať uhly kladnými hodnotami v radiánoch v rozpätí <0, 2π). Preto je potrebné, aby kaţdá metóda na svojom výstupe dávala takúto hodnotu. Nevyhnutnou podmienkou pre nastavovanie uhlov je prepočet všetkých hodnôt opisujúcich tento jav. Nemôţe sa teda stať, ţe zmena atribútu angle v charaktere nezmení atribút deltaposition, alebo naopak. Obrázok 28 Orientácia uhlov 33

38 5.4 Detekcie kolízií Detekcie kolízií patria v našej hre k najdôleţitejším prvkom, bez ktorých by bol celý herný koncept nefunkčný. Detekcie kolízií zabezpečujú nielen udrţanie herných charakterov v rámci hracej obrazovky, ale zabezpečujú aj určovanie kolízií Jimmyho so stenami a nepriateľmi. Dokonca aj samotní nepriatelia môţu navzájom kolidovať, čo sa prejaví ako ich vzájomný odraz. Neoddeliteľnou súčasťou detekcií kolízií sú aj metódy spracovania kolízií, ktoré sú volané len v prípade nastania nejakej kolízie a zabezpečujú korektné odrazenie alebo správanie jednotlivých charakterov v hre. Spracovania kolízií sú bliţšie opísané v kapitole 5.5 Spracovanie kolízií. V hre detegujeme 3 typy kolízií: kolízie medzi dvomi charaktermi, kolízie s hranicami obrazovky a kolízie s nakreslenými stenami. Všetky typy kolízií pouţívajú vlastné algoritmy, ktoré sú bliţšie opísané v nasledujúcich podkapitolách Kolízie medzi dvomi charaktermi Kolízia medzi dvomi charaktermi nastane v situácií, keď Jimmy narazí na jedného z nepriateľov (baktéria alebo vírus), prípadne sa zrazí dvojica nepriateľov. Kaţdý charakter v hre je reprezentovaný objektom, ktorý ma svoj vlastný polomer. Vzájomná vzdialenosť dvojice charakterov a teda vzdialenosť ich stredov je znázornená na obrázku 29. Obrázok 29 Vzdialenosť dvojice charakterov Charaktery ale nebývajú väčšinou v jednej rovine a tak sa ich vzdialenosť musí dopočítať pomocou rozdielov súradníc na súradnicovej osi na ktoré aplikujeme Pytagorovu vetu. Prepona v takomto pravouhlom trojuholníku reprezentuje vzájomnú vzdialenosť charakterov. Ak je táto vzdialenosť menšia ako súčet polomerov obidvoch charakterov, tak nastala kolízia a je zavolaná metóda spracovania danej kolízií. Detekcia kolízií charakterov musí byť volaná pre kaţdú dvojicu objektov v reálnom čase, teda pri snímkovej frekvencii 30 obrázkov za sekundu Kolízie s hranicami obrazovky Keďţe hra sa odohráva ma obmedzenej obrazovke mobilného telefónu, tak sme nútení riešiť aj kolízie charakterov s hranicami obrazovky. Hranice obrazovky sú v podstate virtuálne steny, ktoré sú rovnobeţné so súradnicovým systémom a kolíziami s nimi sú ovplyvnení nepriatelia a aj Jimmy. Pri kolízií zo stenou sa aplikuje fyzikálny princíp uhlov dopadu a odrazu, ktoré musia byť zhodné. Na to aby sme aplikovali tieto uhly správne, tak potrebujeme zistiť presné miesto kolízie. Keďţe ale kaţdá hranica obrazovky má minimálne jednu zo súradníc nulovú, tak kolmú vzdialenosť charakteru od hranice zistíme jednoduchým odpočítaním nuly od pozície charakteru. Nulu odpočítame pretoţe v neskoršej fáze hry, keď budú po bokoch obrazovky 34

39 ikonky technológií, tak tieto virtuálne steny len posunieme a namiesto nuly sa bude odpočítavať stanovená konštanta. Zdrojový kód je vďaka tomu uţ na toto predpripravený. Kolízia nastáva v prípade, ţe vypočítaná vzdialenosť je rovná alebo menšia ako polomer sledovaného objektu. V tomto prípade sa zavolá správna metóda spracovania kolízie, ktorá upraví smer pohybu charakteru. Metóda detekcie kolízie s hranicami obrazovky tak musí byť volaná pre kaţdý charakter v hre Kolízie so stenami Obrázok 30 Vzdialenosť charakteru od hranice obrazovky Najproblematickejšou časťou detekcií kolízií bola kolízia s nakreslenými stenami najmä preto, ţe nemusia byť rovnobeţné so súradnicovým systémom, čo nám narúša jednoduchý algoritmus zisťovania vzdialeností. Namiesto toho potrebujeme zisťovať kolmú vzdialenosť na stenu, s ktorou zvierame ľubovoľný uhol. Existuje viacero metód zistenia kolmej vzdialenosti, avšak po rozsiahlej diskusii sme sa rozhodli zvoliť metódu rekurzívnej triangulácie. Triangulácia funguje na princípe, ţe stenu si rozdelíme na polovice, pričom s vyuţitím Pytagorovej vety vypočítame vzdialenosti objektu od jednej hranice, následne od stredu a na koniec od druhej hranice steny. Z matematického princípu musí byť vzdialenosť od stredného bodu najkratšia. Následne zvolíme druhú najkratšiu vzdialenosť, teda začiatočný alebo konečný bod. Zvolená dvojica bodov nám určuje časť úsečky steny, ku ktorej je vedená kolmica z charakteru. Tento postup rekurzívne opakujeme s novou úsečkou, aţ pokiaľ nie je rozdiel dvojice najkratších vzdialeností menší ako stanovená chyba merania. Tento postup nám so zvolenou chybou merania dokáţe určiť poţadovaný bod kolmice, z ktorého následne priamou vzdialenosťou zistíme vzdialenosť objektu od steny. Chyba merania musí byť zvolená vhodne, pretoţe algoritmus by sa mohol vykonávať zbytočne dlho a jeho skoršie ukončenie značne zniţuje výpočtovú náročnosť, ktorá exponenciálne narastá, keďţe rekurzívnu trianguláciu musíme volať pre kaţdú aktívnu stenu na obrazovke. Jednotlivé fázy činnosti rekurzívnej triangulácie sú znázornené na obrázkoch

40 Obrázok 31 Prvá fáza rekurzívnej triangulácie V prvotnej fáze triangulácie sa vyberie dvojica kratších vzdialeností, ktoré určia hranicu novej úsečky na ktorú rekurzívne zavoláme trianguláciu. Obrázok 32 Druhá fáza rekurzívnej triangulácie Rekurzívna triangulácia pokračuje v druhej fáze rovnako ako v prvom kroku. 36

41 Obrázok 33 Tretia fáza rekurzívnej triangulácie V tretej fáze sa pokračuje podobne ako v predošlých fázach, avšak overuje sa aj rozdiel medzi vzdialenosťami D2 a D3. V tomto prípade je rozdiel ešte dostatočne veľký a tak sa opäť rekurzívne zavolá triangulácia. Obrázok 34 Posledná fáza rekurzívnej triangulácie určuje kolmú vzdialenosť so zvolenou nepresnosťou V poslednej fáze sa zistí, ţe rozdiel vzdialeností D1 a D2 je menší neţ stanovená chyba merania. V tomto prípade sa zvolí kratšia vzdialenosť medzi stredom zisťovaného objektu a bodom D2 alebo D3, ktorá reprezentuje kolmú vzdialenosť. Takáto reprezentácia síce nie je úplne presná, avšak pre potreby našej hry je plne dostačujúca, keďţe body v súradnicovom systéme sú chápané ako celočíselné hodnoty. 37

42 Po zistení kolmej vzdialenosti ju uţ stačí len porovnať s polomerom objektu a ak je vzdialenosť kratšia, tak opäť zavolať správnu metódu spracovania kolízií. V priebehu testovania sme narazili na závaţný problém so spracovaniami kolízií na hraniciach steny, ktoré sa správalo ako beţný odraz, avšak v skutočnosti by došlo k spätnému odrazeniu objektu od tejto hrany. Pred volaním metódy spracovania kolízie tak overujeme, či rekurzívna triangulácia nevrátila kolmú vzdialenosť k jednému z hraničných bodov. Táto situácia nastane len v prípade, ţe Jimmy smeruje pod ostrým uhlom na jeden z hraničných bodov steny (najčastejšie letí rovnobeţným smerom so stenou na rovnakej úrovni). 5.5 Spracovanie kolízií Po správnej detekcii kolíznej situácie je potrebné ošetriť správanie sa objektov. Je pri tom nutné vychádzať z prirodzeného správania sa objektov v reálnom svete. Hráč bude môcť intuitívne ovládať hru. Riešenie kolízií moţno rozdeliť na rovnaké typy prípadov, ako tomu bolo u ich detekcií. Výsledok takýchto operácií môţe byť predovšetkým zmena smerovania (angle) objektu. Smer ale nie je uchovávaný jedine v spomínanom atribúte, ale aj v atribúte deltaposition, ktorého hodnota je rovnako menená v zapuzdrenej metóde setangle(). V niektorých prípadoch sa menia aj ďalšie atribúty opisujúce stav objektu Kolízia so stenou a hranicou obrazovky Pri riešení kolízie medzi Jimmym a stenou vyuţívame všeobecný model odrazu (Obrázok 35). Ten v zjednodušení hovorí o tom, ţe uhol odrazu sa rovná uhlu dopadu. V našej orientácií priestoru je nutné takýto model výrazne prepracovať, keďţe nemáme dostupné veľkosti uhlov vzhľadom na kolmý priemet steny. Na výpočet ţiadaných veličín máme dostupné atribúty a metódy vyjadrujúce uhol smerovania (Character), či naklonenia objektov (Wall) vzhľadom na nulový bod sústavy. Postupnými hľadaním cez podobnosti trojuholníkov sme dospeli k výsledku: ( ) kde označuje smer odrazu, smer dopadu, naklonenie steny a výsledok funkcie mod() je zvyšok po delení. Všetky uhly sú vyjadrované podľa obrázka 28. Výsledný odraz s naznačením uhlov a výpočtom je na obrázku 36. Obrázok 35 Všeobecný zákon odrazu 38

43 Obrázok 36 Zákon odrazu v implementovanom prostredí Rovnaký model je moţné aplikovať aj pri kolízii objektu s hranicou obrazovky. Hranice ale nie sú špeciálne reprezentované v triede, preto je nutné uhol určiť ručne. Keďţe pri hraniciach neuvaţujeme o orientácií, ale len o otočení hranice, tak jej uhol môţe nadobúdať hodnoty 0, alebo. Konkrétne pri odraze o hranicu zodpovedajúcej osi X je uhol veľký 0, pri Y je to. Správanie niektorých odrazov je znázornené na obrázku 37. Obrázok 37 Odrazy od hraníc obrazovky 39

44 Kolízia s hranicou steny Steny v našom ponímaní nie sú len jednorozmerné čiary, ale majú aj svoju hrúbku. S touto moţnosťou však vzniká problém, keď sa objekty môţu odráţať od hlavných hrán, ako aj od bočných (menších) hrán steny. Preto je potrebné identifikovať situáciu, keď Jimmy letí na hraničný bod steny. Tento proces bol vysvetlený v kapitole 5.4 Detekcie kolízií. V takejto situácii musíme o orientácií steny uvaţovať v rozsahu <0, 2π). Je to dôleţité pre korektné označenie bodu kolízie za startpoint, alebo endpoint. Pri rozdielnych bodoch sa totiţto môţe a nemusí jednať o odraz z bočnej strany. Uvaţujme, ţe máme Jimmyho na konštantnej pozícií s konštantným smerovaním podľa obrázka 38. Zatiaľ čo v prípade B1 a A2 sa jedná o odraz od bočnej steny, zvyšné dva prípady sú riešené obyčajným odrazom. Na vyriešenie problému identifikácie odrazu od bočnej strany je potrebné formulovanie niekoľkých, do seba vnorených podmienok (obrázok 39). Tie formulujú vzťahy medzi uhlami a umiestnením hraničného bodu steny. V prípade, ţe sa naozaj jedná o odraz od vedľajšej hrany, postupuje sa rovnako, ako v prípade odrazu od hlavnej hrany s tým rozdielom, ţe je zmenená o uhol Obrázok 38 - Kolízie na koncoch stien 40

45 Obrázok 39 Určenie uhlu odrazu pri hraničných bodoch steny Kolízia medzi pohybujúcimi sa objektmi Posledným typom je kolízia dvoch pohybujúcich sa objektov, teda inštancií triedy Character. Rovnako ako pri kolíziách so stenou sme sa snaţili navrhnúť čo najvernejší model k realite. Implementácia reálneho modelu by nebola len príliš náročná, ale aj nezlučiteľná s našim návrhom atribútov tried. Triedy by museli obsahovať atribút označujúci hmotnosť objektov. Pri jeho pouţití spoločne s atribútom speed by sme dospeli k hybnosti objektu. Tento model ale následne upravuje rýchlosti objektov v kolízii, čo nie je ţiadané (v budúcnosti predpokladáme vytvorenie priestorovo väčších objektov typu Enemy, čo by malo za následok odpinkávnie menších objektov väčšími). Najmä preto sme sa rozhodli navrhnúť jednoduchší princíp, kde si dva objekty iba vymenia svoje smery (Obrázok 40). Takýto model sme označili za najvhodnejší a najintuitívnejší pre hráča. Počas úvodného testovania sme našli niekoľko chýb, ktoré môţu narúšať komfort hrania. Preto plánujeme v najbliţšej verzii tento model výrazne upraviť. 41

46 Obrázok 40 - Kolízie medzi inštanciami triedy Character 5.6 Správa používateľského vstupu Na vyhodnocovanie pouţívateľského vstupu je určená metóda HandleTouchscreenInput(), ktorá je periodicky volaná v metóde Update(). Princíp tejto metódy je znázornený v diagrame na obrázku 41. Obrázok 41 - Vývojový diagram vyhodnocovania dotykov na displej 42

47 Je potrebné rozlišovať 3 rôzne dotykové akcie pouţívateľa - 1. dotyk, posledný dotyk a body medzi nimi. Ako ukazuje vývojový diagram vyššie, pomocou týchto akcií dokáţeme určiť v akom štádiu kreslenia steny sa hráč práve nachádza. V prípade, ţe sa hráč práve dotkol displeja, vytvoríme objekt typu Wall (o veľkosti jedného bodu) a prenecháme kontrolu hlavnému toku programu. Ak v ďalších volaniach metódy zistíme, ţe hráč kreslí stenu, aktualizujeme posledný bod steny podľa aktuálnej pozície prsta. Takto je zabezpečené, ţe metóda Draw() stenu vykreslí správne. Keď zistíme ukončenie gesta, zaznamenáme posledný bod a aktivujeme novonakreslenú stenu. Počas kreslenia je stena neaktívna, aby nedochádzalo k nečakaným odrazom a nesprávnym stavom pri kontrolovaní kolízií. Neaktívna stena je vykreslená mierne transparentnou textúrou kvôli odlíšeniu. V tejto metóde sa tieţ kontroluje minimálna dĺţka steny a v prípade, ţe je dostatočne dlhá, tak sa upravuje jej dĺţka na násobok šírky textúry steny. Je to z dôvodu, aby grafická reprezentácia steny korešpondovala sa vnútornou matematickou reprezentáciou. Inak by mohlo prísť k nečakaným odrazom Jimmyho, čo by viedlo ku zlému dojmu z hry. Tieţ sme ošetrili situáciu, kedy hráč kreslí stenu priamo cez Jimmyho. Takáto situácia je zakázaná a takto nakreslená stena zmizne po ukončení gesta. Ako bolo popisované v kapitole 4 Návrh mobilnej hry, pohyb nanobota sa ovplyvňuje kreslením stien. Avšak pohyb nepriateľov nie je moţné ovplyvňovať, preto sme sa rozhodli, ţe baktérie a vírusy s nakreslenými stenami nebudú interagovať. Malo by to aj ďalšie negatívne účinky, pretoţe v prípade nakreslenia steny cez nepriateľa by sa tento okamţite od nej odrazil a stena by zmizla. To by znemoţnilo ovládanie pohybu Jimmyho a preto sme sa rozhodli, ţe sa nepriatelia budú pohybovať "pod stenami" (budú vykreslení neskôr). 5.7 Vykresľovanie na displej Vykresľovanie na displej je zabezpečené metódou Draw(), ktorá je volaná mnohokrát za sekundu, aby sa docielilo vykresľovanie 30 obrázkov za sekundu. Toto volanie je zabezpečené priamo frameworkom XNA na základe nastavenia periódy metódy Update() pomocou príkazu TargetElapsedTime = TimeSpan.FromTicks(333333); Na vykresľovanie je potrebné vytvoriť objekt SpriteBatch, ktorý riadi vykresľovanie objektov, pričom je mu moţné definovať parametre ako napríklad duplikácia textúr, podpora transparentnosti textúr a podobne. Keďţe naše triedy obsahujú vlastné metódy Draw() starajúce sa o ich vykreslenie, vytvorili sme jednoduchý spôsob vykresľovania rôznych objektov volaním ich vlastných metód v hlavnej línii programu v centrálnej metóde Draw(). Na tomto mieste "čiastkovým" metódam odovzdáme aj parametre ako napríklad pozíciu alebo uhol udávajúci o koľko má byť vykresľovaný objekt pootočený. Ako uţ bolo spomínané, museli sme dbať aj na fakt, aby boli grafická a logická (resp. matematická) reprezentácia objektov vzájomne zosynchronizované. Týka sa to hlavne akčných polomerov (radiusov) charakterov a dĺţky stien. Nekonzistencia týchto údajov viedla ku chybám vo vykresľovaní objektov a nesprávnej vzájomnej interakcii, čo sa konkrétne prejavilo v nesprávnych vzdialenostiach pri odráţaní. 43

48 5.8 Ubližovanie nepriateľom V súčasnej verzii máme navrhnutú a implementovanú len zjednodušenú formu súboja medzi Jimmym a jeho nepriateľmi. K nej dochádza pri ich vzájomných kolíziách. Nepriatelia majú atribút durability, ktorý sa s kaţdou kolíziou zniţuje. Keď sa zníţi aţ na nulu, objekt je odstránený z listu nepriateľov a uţ viac nie je zobrazovaný. Inak povedané, je vymazaný. V budúcnosti plánujeme vytvoriť prepracovanejší spôsob súboja s pouţívaním technológií. Pre túto víziu sme navrhli metódu Hurt() triedy Enemy s parametrom Hero, ktorý bude niesť referenciu na aktuálne vyuţívanú technológiu. Podľa jej vlastností bude metóda rôzne pracovať. Týmto krokom plánujeme vyuţiť princíp polymorfizmu. Let Jimmyho je riešený rovnakým odrazom, ako je to v prípade dvoch nepriateľov. V prípade, ţe kolízia zničí nepriateľa, Jimmy ostáva na svojej dráhe a smer nemení. 5.9 Náhodná zmena pohybu nepriateľov Pre autentický pocit z pohybu nepriateľov sme sa rozhodli pravidelne meniť ich smerovanie. Dosiahneme tak riadený chaos. Smer nepriateľov nebude konštantný a bude sa s časom meniť. Aby sme nevytvorili absolútny chaos, je potrebné určiť intervaly zmeny smerovania a jej časovú periodicitu. Obidva tieto prvku sú zahrnuté v atribútoch triedy Enemy, konkrétne anglerange a periodicity. Atribút anglerange vyjadruje zmeny uhla smerovania. Jeho veľkosť sa pohybuje v hraniciach <0, π >. Následne je vynásobený náhodným číslom v rozmedzí <-1,1> a pričítaný k atribútu angle. Tento proces je vykonávaný raz za periodicity milisekúnd cez metódu UpdatePossition(). Logické nastavenie tohto atribútu je násobok čísla 33, keďţe je to pribliţný čas v milisekundách, počas ktorého je vykreslený jeden obrázok. Správnym nastavením spomínaných atribútov vieme docieliť ţiadaný chaos Dosiahnuté výsledky Počas semestra sa nám na desiatich tímových stretnutiach a pri domácej tvorbe podarilo navrhnúť a vytvoriť funkčný prototyp našej hry. Prvotnej fáze výberu vhodného námetu na hry sme venovali väčšinu nášho času, keďţe bez dobrého nápadu nemáme veľkú šancu uspieť v súťaţi Microsoft ImagineCUP. Našťastie sa nám podarilo vymyslieť konkurencieschopný námet, ktorý sme v druhej polovici semestra usilovne pretavovali do reálnej podoby prototypu. Počas tvorby tohto prototypu sme natrafili na viacero problémov, ktoré bolo nutné riešiť. Medzi najzávaţnejšie problémy patrila najmä tvorba metód detekcie a spravovania kolízií, kde sme pomocou matematického modelu a goniometrických funkcií museli zistiť korektnú fyzikálnu reprezentáciu modelovaných dejov. Túto časť zdrojového kódu sme museli naprogramovať od základov, avšak na správu pouţívateľského vstupu a vykresľovanie na displej sme mohli pouţiť dostupné kniţnice z frameworku XNA, čo nám značne zjednodušilo prácu. Aj napriek tomu sa pri vykresľovaní objavili problémy s transparenciou, rotáciami, či korektnou reprezentáciou vykresľovaného objektu. Vyriešenie týchto problémov nám ale dalo cenné skúsenosti do budúcnosti, ktoré budeme môcť najbliţšie zuţitkovať pri dokončovaní našej hry. 44

49 Po naimplementovaní všetkých zvolených častí prototypu sme mohli reálne vyskúšať funkčnosť a správanie hry, z ktorej sme boli nadšení. Nielen ţe uspokojila naše poţiadavky, ale uţ aj vo fáze prototypu sa zdá byť celkom zábavná. Neskoršie dokončenie nedorobených častí, zlepšenie animácií, pridanie zvuku, úrovní a deja vtiahne určite kaţdého hráča do hry. Dosiahnuté výsledky sme prezentovali na prototype, ktorý fungoval len na emulátore Windows Phone systému, keďţe miestne zastupiteľstvo spoločnosti Microsoft nám do dnešného dňa nebolo schopné poskytnúť licenciu na vývojárske odblokovanie nášho telefónu. Ihneď po získaní odblokovacieho kódu sme pripravení hru naportovať aj na reálny hardvér a vyskúšať tak jej reálne správanie a ovládanie. 45

50 6 Zhrnutie prvej časti Tento dokument spolu s priloţeným prototypom hry a dokumentom riadenia je výsledkom práce tímu Bougles (tím 7 PKSS) v zimnom semestri 2011/2012 na predmete Tímový projekt I. Vytvorili sme funkčný prototyp hry, ktorý je moţné spustiť vo Windows Phone emulátore integrovanom v prostredí MS Visual Studio 2010 Express for Windows Phone. V prototype sme otestovali vybrané časti hry s dôrazom na základné princípy hry ako je pohyb, odráţanie a ošetrovanie kolízií. Podrobný návrh sa nachádza v kapitole 4 Návrh mobilnej hry. Týmto povaţujeme cieľ prototypu za úspešne ukončený. Podrobný opis práce na projekte sa nachádza v priloţenom dokumente riadenia a popis analýzy, špecifikácie poţiadaviek a hrubého návrhu sa nachádza v tomto dokumente. Všetky náleţitosti na splnenie podmienok pre dokument inţinierskeho diela aj dokument riadenia ako sú uvedené na webovej stránke predmetu sme zahrnuli do odovzdaného výsledku a teda pokladáme celkovú prácu na projekte v tomto semestri za dokončenú. 6.1 Plán na nasledujúci semester V nasledujúcom semestri budeme v práci pokračovať na predmete Tímový projekt II. Rozpracujeme grafické návrhy vrátane animácií a tieţ pridáme zvukové efekty a hudbu. Vytvoríme funkčné menu na ovládanie hry a odstránime prípadné odhalené chyby v implementácii. Tieţ implementujeme niekoľko technologických vylepšení, aby sme splnili tému súťaţe ImagineCUP, ktorá znie: Imagine a world where technology helps solve the toughest problems. Súčasťou plánu v budúcom semestri je aj registrácia tímu do kategórie Game Design: Phone súťaţe Imagine CUP Hlavné termíny na odovzdanie dokumentov potrebných na účasť v tejto súťaţi sú odovzdanie dokumentu Summary, resp. Storyboard do 14. Februára Ide o krátky popis myšlienky hry, ktorý je potrebné vhodne sformulovať v anglickom jazyku. Ďalší dôleţitý termín v pláne v budúcom semestri je odovzdanie funkčnej hry spolu s prezentačným videom a inštrukciami do 13. Marca

51 7 Konečný návrh Na konci prvého semestra tímového projektu sme odovzdali funkčný prototyp. Tento prototyp ukazoval základné moţnosti navrhovanej hry, avšak ani zďaleka nesplňoval stanovené poţiadavky. Počas ďalšieho semestra sme sa sústredili na zlepšovanie nielen funkcionality, ale aj grafickej stránky. Pribliţne v polke semestra sme odovzdali aktuálnu verziu do druhého kola súťaţe ImagineCUP, v ktorej sa nám podarilo postúpiť aj do tretieho kola. Semifinálové tretie kolo končí začiatkom mája, keď odovzdávame aj tímový projekt. Z tohto dôvodu je výsledná verzia odovzdanej hry na ImagineCUP a v rámci tímového projektu zhodná. Kapitola s konečným návrhom popisuje zmeny vykonané na prototype, doplnenú funkcionalitu, grafiku, hudbu a ďalšie efekty, ktoré sme doplnili do výslednej hry. Značná časť kapitoly sa venuje revízií prototypu, keďţe oproti odovzdanému prototypu sa výrazne zmenili niektoré herné koncepty, ktoré sa nám podarilo odladiť pre lepšiu hrateľnosť a pôţitok z hry. 7.1 Revízia prototypu Kapitola s revíziou prototypu popisuje zmenu herných konceptov v konečnom návrhu hry. Prvá časť kapitoly bliţšie opisuje zmeny herného modelu, zatiaľ čo druhá časť popisuje zmeny herných princípov, grafického modelu a iných častí Herný scenár Oproti pôvodnému hernému scenáru sme vykonali niektoré zmeny, ktoré umoţňujú lepšiu hrateľnosť a modularitu hry pre budúci vývoj. V novom scenári počítame s ďalšími verziami hry, kde v kaţdej verzii bude zachraňované nové zvieratko. Tak, ako to bolo uvedené na obrázku 13 v kapitole 4.1 Scenár, je cieľom hry záchrana chorého zvieratka, ktorého napadli nebezpečné choroboplodné zárodky. V súčasnej verzii scenára sme sa rozhodli pouţiť iba jedno choré zvieratko sloníka Otta, avšak rozšírili sme počet herných úrovní, ktoré je potrebné prejsť pre jeho záchranu. Hra sa skladá z 5 stupňov (stages), z ktorých kaţdý sa skladá zo 6 úrovní. Diagram revidovaného scenára sa nachádza na obrázku 42. V kaţdom stupni sú predstavené 2 nové technológie (viac informácii v kapitole Technologické vylepšenia Jimmyho) a 2 nové druhy nepriateľa (pre bliţšie informácie pozri kapitolu Herní nepriatelia). Do hry sa tak dostávajú nové prvky, čo udrţuje hráčov záujem o ďalšie úrovne. Ďalšou zmenou oproti pôvodnému plánu scenára je odstránenie hlavného nepriateľa, ktorý mal byť zdrojom nákazy. Dôvodom je, ţe by tým bol porušený koncept vytvárania úrovní a tieţ sme nestihli vytvoriť jeho grafický návrh. Dospeli sme k názoru, ţe súčasný počet herných úrovní je postačujúci a z hľadiska hrateľnosti tieţ nie je potrebné pridávať úplne odlišného nepriateľa. V budúcnosti však nad touto moţnosťou budeme uvaţovať v prípade ďalších vydaní hry. 47

52 7.1.2 Zvyšovanie obtiažnosti Obrázok 42 - Revízia scenára vývojový diagram Uţ v návrhu sme počítali s dizajnovaním úrovní spôsobom, aby mali stúpajúcu obtiaţnosť. Pri implementácii sme z dôvodu nedostatku času upravili spôsob, akým dosiahneme zvýšenie obtiaţnosti. Zamerali sme sa na nové druhy odolnejších a silnejších nepriateľov a spôsob zvyšovania obtiaţnosti pomocou mnoţenia nepriateľov a zrýchlenia hry sme zamietli. Navrhli a implementovali sme však aj ďalšie spôsoby ako napríklad zvyšovanie počtu nepriateľov. Tieţ sme korigovali obtiaţnosť obmedzovaním celkového Ottovho ţivota v danej úrovni, čo núti hráča rýchlejšie eliminovať nepriateľov. Vďaka modulárnemu spôsobu dizajnovania úrovní je moţné meniť obtiaţnosť jednotlivých úrovní bez potreby veľkých zásahov do zdrojového kódu. Obtiaţnosť úrovní vo finálnej verzii hry sme určili na základe podrobného testovania všetkých úrovní viacerými osobami. Nasleduje zhrnutie spôsobov, ktorými sme zvyšovanie obtiaţnosti docielili: 48

53 Silnejší a odolnejší nepriatelia - rýchlejšie uberajú z Ottovho ţivota a sú odolnejšie proti Jimmyho útokom. Na ich zničenie je potrebné ich niekoľkokrát zasiahnuť, čo kladie dôraz na lepšie plánovanie odrazov, aby hráč nestrácal čas a pouţíval technológie. Zvyšovanie počtu nepriateľov kaţdý nepriateľ uberá ţivot konštantne na základe jeho damage a tým pádom vzniká priamo úmerná závislosť medzi počtom nepriateľov a rýchlosťou uberania ţivota. Obmedzenie života zníţením celkového ţivota dosiahneme, ţe čas potrebný na prejdenie danej úrovni sa skráti a je potrebné rýchlejšie zničenie nepriateľov, lebo vyšší počet nepriateľov znamená, ţe bude rýchlejšie ubúdať zo ţivota zvieratka a teda kladie to dôraz na sústredenie. Scrolling obrazovky vo vyšších úrovniach je herná plocha väčšia ako displej telefónu čo spôsobí, ţe v danej úrovni je moţné umiestniť väčšie mnoţstvo nepriateľov. Malé mnoţstvo nepriateľov na veľkej ploche je taktieţ vyuţívané pri zvyšovaní obtiaţnosti, keďţe je na triafanie baktérií je potrebná istá zručnosť a skúsenosti Skóre Hráči si môţu medzi sebou porovnávať herné skóre, ktoré sa zobrazuje pre kaţdú hernú úroveň. Skóre je ukladané lokálne 9, avšak v budúcnosti plánujeme rozšírenie o sociálne siete a o cloud-ové hromadné úloţisko (Windows Azure) s Leaderboard tabuľkou. Nahrané herné skóre reflektuje skúsenosti a šikovnosť pouţívateľa, pričom výpočet prebieha nasledovne: Skóre = * (zostávajúci život / celkový život) * (1 (herný čas / štandardný čas)); Väčšiu časť skóre (60%) tvorí zostávajúci ţivot a menšiu časť (40%) herný čas. Hodnoty počiatočného ţivota a štandardného herného času boli určené vo fáze Level dizajnu, kde sme stanovovali náročnosti jednotlivých herných úrovní. V prípade, ţe ţivot klesne na 0, tak sa hra skončí a zobrazená je cut-scéna GAME OVER. V prípade dlhšieho hracieho času ako je štandardný herný čas nedostane hráč ţiadnu časť skóre za herný čas. Tento mechanizmus môţeme popísať aj ako odmeňovanie hráča sa rýchlosť. Maximálne skóre je , avšak takéto skóre je prakticky nedosiahnuteľné, pretoţe hráč by musel zničiť všetkých nepriateľov okamţite po spustení hry. Herné úrovne sú navrhnuté tak, aby sa priemerné skóre dobrého hráča pohybovalo na úrovni aţ bodov. Podľa dosiahnutého skóre, ktoré sme pre kaţdú hraciu úroveň určili vo fáze Level dizajnu, získava hráč rôzne medaile. Základná je bronzová medaila, pri vyššom úspechu je hráč ohodnotený striebornou medailou a pri excelentnom výsledku dosiahne zlatú medailu. V prípade veľmi nízkeho skóre nie je hráč odmenený ţiadnou medailou. Takýto spôsob ohodnocovania povzbudzuje hráča nielen k prejdeniu všetkých herných úrovní, ale aj k neskoršiemu opätovnému prechádzaniu úrovní a zlepšovaní si svojho dosiahnutého skóre

54 Obrázok 43 Pri každej úrovni je zobrazené maximálne dosiahnuté skóre a medaila Technologické vylepšenia Jimmyho Po analyzovaní moţností implementácie technologických vylepšení sme sa rozhodli upraviť zoznam technológií uvedený v kapitole Technologické vylepšenia. Vo finálnej verzii rozdeľujeme technológie na 3 hlavné skupiny technológie pôsobiace na Jimmyho (pôvodne Primárne), technológie pôsobiace na nepriateľov (pôvodne Sekundárne) a technológie pôsobiace na zvieratko. Nepouţívame iba pasívne technológie (napríklad zrýchlenie Jimmyho, spomalenie nepriateľov...), ale tieţ aj aktívne technológie, ktoré môţeme ovládať. Ide najmä o technológie, ktoré sme mali pôvodne zaradené do skupiny akceleračné vylepšenia Laser, Teleport a pod. V nasledujúcom zozname sa nachádza prehľad všetkých technologických vylepšení dostupných v hre s krátkymi popismi. Pri kaţdej technológií je uvedená doba počas ktorej je technológia aktívna a doba potrebná na nabitie technológie pred ďalším pouţitím. 1. Technológie pôsobiace na nepriateľov a. Contrast medium Doba aktivity: 20 s Doba nabíjania: 15 s Po aktivovaním tejto technológie sa zobrazia neviditeľní nepriatelia ak na hracej ploche existujú. Bliţšie informácie o neviditeľných nepriateľoch sa nachádza v kapitole Herní nepriatelia. Táto technológia nemá ţiadne ďalšie účinky a druhy nepriateľov, ktorí sú viditeľní neovplyvňuje ţiadnym spôsobom. Prezentačná obrazovka sa nachádza na obrázku

55 Obrázok 44 Technológia Contrast Medium b. Stun syrup Doba aktivity: 15 s Doba nabíjania: 25 s Táto technológia spomalí všetkých nepriateľov okrem neviditeľných o určitý koeficient. Neviditeľní nepriatelia nie sú touto technológiou ovplyvnení, aby nedošlo k prezradeniu ich pozície. Prezentačná obrazovka sa nachádza na obrázku 45. Obrázok 45 Technológia Stun Sirup c. Antibiotic pills Doba aktivity: 15 s Doba nabíjania: 30 s Toto je jedna z najsilnejších technológií. Po aktivovaní ostanú na mieste, kde sa Jimmy v čase aktivácie nachádzal antibiotické tabletky, slúţiace ako bomba. Prvý nepriateľ, ktorý narazí do tabletiek je zlikvidovaný, pričom nezáleţí na jeho odolnosti ani iných parametroch. Po náraze tabletky zmiznú. Prezentačná obrazovka sa nachádza na obrázku

56 Obrázok 46 Technológia Antibiotic Pills 2. Technológie pôsobiace na Jimmyho a. Atomic power cell Doba aktivity: 5 s Doba nabíjania: 25 s Technológia Atomic Power Cell na určitý čas trojnásobne zvýši zranenia, ktoré Jimmyho útoky spôsobujú nepriateľom. Slabšie baktérie (do 3 ţivotov) je teda moţné zničiť jedným nárazom. Aktivita technológie je znázornená animáciou bleskov. Prezentačná obrazovka sa nachádza na obrázku 47. Obrázok 47 Technológia Atomic Power Cell b. Battery overboost Doba aktivity: 10 s Doba nabíjania: 20 s Táto technológia dočasne zvýši rýchlosť pohybu Jimmyho. Jeho rýchlosť je po aktivácii výrazne zvýšená a najvhodnejšie pouţitie je pri veľkom počte nepriateľov, ktorým tak v krátkom čase môţe Jimmy spôsobiť veľké zranenia aj keď útok Jimmyho ostáva nezmenený. Prezentačná obrazovka sa nachádza na obrázku

57 Obrázok 48 Technológia Battery Overboost c. Force field generator Doba aktivity: 10 s Doba nabíjania: 20 s Zväčší akčný rádius Jimmyho, v ktorom dochádza ku kolízii s nepriateľom a stenami. Touto technológiou sa zjednoduší triafanie do nepriateľov a tieţ sa zvyšuje počet nárazov v mieste s vysokou koncentráciou nepriateľov. Spôsobované zranenia nie sú ovplyvnené. Prezentačná obrazovka sa nachádza na obrázku 49. Obrázok 49 Technológia Force Field Generator d. Teleport Doba aktivity: 8 s Doba nabíjania: 15 s Premiestni Jimmyho na miesto označené dotykom. Teleport ostáva aktívny po dobu 8 sekúnd a v prípade, ţe hráč neoznačí do tohto limitu ţiadne miesto, je technológia povaţovaná za pouţitú a pred ďalším pouţitím treba čakať na nabitie. V prípade, ţe hráč označí miesto, kam nie je moţné Jimmyho premiestniť (napr. priamo na nepriateľa) 53

58 je upozornený zvukovou a vibračnou signalizáciou a ak nevypršal čas aktívnosti, môţe označiť novú cieľovú pozíciu. Prezentačná obrazovka sa nachádza na obrázku 50. Obrázok 50 Technológia Teleport e. Laser beam Doba aktivity: 8 s Doba nabíjania: 30 s Laser je ďalšia technológia, ktorú hráč aktívne ovláda. Po aktivácii je potrebné označiť dotykom poţadovaný cieľ a Jimmy vystrelí na dané miesto laserový lúč. Laser spôsobuje trojnásobne väčšie zranenia ako jednoduchý náraz Jimmyho do nepriateľa, pričom zranený je kaţdý nepriateľ, pretínajúci dráhu laseru. Podobne ako v prípade teleportu je po 8 sekundách automaticky deaktivovaný. Prezentačná obrazovka sa nachádza na obrázku 51. Obrázok 51 Technológia Laser Beam 54

59 f. Nanobot squad Doba aktivity: 12 s Doba nabíjania: 40 s Aktivovaním tejto technológie Jimmy vypustí do priestoru 4 malých nanobotov. Títo sa odráţajú rovnako ako Jimmy (nie je moţné ich ovládať kreslením stien), avšak pohybujú sa rýchlejšie a spôsobujú nepriateľom polovičné zranenia. Je to najsilnejšia technológia, ktorá je predstavená ako posledná. Prezentačná obrazovka sa nachádza na obrázku 52. Obrázok 52 Technológia Nanobot Squad 3. Technológie pôsobiace na choré zvieratko a. Vitamin shield Doba aktivity: 10 s Doba nabíjania: 20 s Touto technológiou je dočasne zníţený útok všetkých nepriateľov, čím sa docieli pomalšieho úbytku Ottovho ţivota. Najvyšší efekt má pri veľkom počte nepriateľov a je vhodné ju pouţiť na začiatku hry. Prezentačná obrazovka sa nachádza na obrázku 53. Obrázok 53 Technológia Vitamin Shield 55

60 Technologické vylepšenia sú prezentované postupne ako hráč prechádza jednotlivé úrovne a stupne, pričom na začiatku sú predstavené jednoduchšie vylepšenia s menším účinkom a neskôr sa pridávajú silnejšie. Predstavovanie berie tieţ ohľad na nových nepriateľov, na ktorých má daná technológia dobrú účinnosť (príklad: Predstavenie Stun Sirup spomalenie súčasne alebo následne po rýchlych baktériách). Postup prezentovania technologických vylepšení je nasledovný: 1. Contrast Medium 2. Stun Sirup 3. Atomic Power Cell 4. Vitamin Shield 5. Battery Overboost 6. Force Field Generator 7. Teleport 8. Antibiotic Pills 9. Laser 10. Nanobot Squad Ovládanie Ovládanie zaloţené na nepriamom odráţaní Jimmyho pomocou nakreslených stien zostalo nezmenené, avšak okrem Freedrag gesta sme doplnili aj gestá Tap a Flick. Gesto Tap je vyuţívané pomocou technológie Teleport, kde sa určuje, kam sa má Jimmy teleportovať. Toto gesto taktieţ pouţívame v celom menu, kde slúţi na výber jednotlivých poloţiek. V menu sme okrem toho doplnili aj gesto Flick, pomocou ktorého môţe pouţívateľ rýchlim pohybom po obrazovke preskakovať medzi vyberanými hernými úrovňami. Základná schéma ovládania odrazov a pohybu Jimmyho je znázornená na obrázku 54. Obrázok 54 Nepriame ovládanie pohybu Jimmyho pomocou nakreslených stien V budúcnosti plánujeme doplniť aj ovládanie zaloţené na gyroskope, ktoré bude pouţité buď v novej technológii alebo bude globálne implementované v celej hre. Gyroskop umoţní jemnú zmenu smeru Jimmyho, vďaka čomu hráč získa väčšiu kontrolu nad jeho pohybom. 56

61 Herná obrazovka vo finálnej verzii obsahuje len jeden panel s technológiami, pretoţe pouţitie dvojice panelov zaberalo príliš veľkú časť z hracej plochy, ktorá je obmedzená neveľkými rozmermi mobilného displeja. Pozíciu panela je moţné zmeniť v nastaveniach hry. Panel môţe byť prichytený k pravému alebo ľavému okraju obrazovky. Panel obsahuje 5 pozícií pre dostupné technológie a vo vrchnej časti je zobrazený indikátor ţivota. Ubúdanie ţivota je znázornené progress barom, ktorý postupne prekrýva ţivotnú ikonku kontrastnou farbou. Hráč má takto neustále kontrolu nad zostávajúcim ţivotom. Technologický panel je znázornený na obrázku z herného tutoriálu (obrázok 55). Na podobnom princípe s progress barom sú zaloţené aj technológie, ktoré môţu byť v 3 stavoch: 1. Plne nabitá, čaká na aktiváciu 2. Aktivovaná, vybíja sa 3. Deaktivovaná, nabíja sa Aktivovanú technológiu je moţné manuálne deaktivovať opätovným kliknutím na ikonku danej technológie. Aby sa zabránilo nechcenému deaktivovaniu technológie, tak k deaktivovaniu dôjde len v prípade kliknutia minimálne po 1 sekunde od aktivácie. Kaţdá technológia má svoje vlastné časovače nabíjania a vybíjaniu, ktoré majú rôzne dĺţky. Dĺţky časovačov sú bliţšie opísané v kapitole Obrázok 55 Tutorial screen technologického panela Keďţe herná plocha obmedzená na malú obrazovku mobilu je nedostačujúca, tak hra obsahuje aj rozšírenú hernú plochu, po ktorej sa obrazovka automaticky pohybuje v prípade, ţe sa Jimmy priblíţi k okraju zobrazovanej časti plochy. Herná plocha je rozšírená len na výšku, čo v prípade Landscape otočenia displeja zaručuje štvorcovú hraciu plochu. Pre lepšiu orientáciu sú jednotliví nepriatelia, ktorí sa nachádzajú mimo zobrazovanej časti označení šípkami, ktoré určujú ich pozíciu v rámci X-ovej osi. Na zobrazenie aktuálneho umiestnenia zobrazovanej časti voči celej hernej ploche slúţi malý scrool bar, ktorý sa nachádza na opačnej strane ako Technologický panel. Scrool bar je znázornený na obrázku z herného tutoriálu (obrázok 56). 57

62 Obrázok 56 - Tutorial screen scrool baru pri zväčšenej hracej ploche Kolízie medzi pohybujúcimi sa objektmi Po implementácií model odráţania, ktorého opis bol uvedený v návrhu prototypu, sme testami zistili problémy, ktoré sú s nim spojené. Vznikal pri kolízií medzi charaktermi s nízkym rozdielom vzájomných uhlov. Charaktery tak skončili v odráţajúcej sa slučke (obrázok 57). Problém nebolo moţné odstrániť jednoduchým zásahom do zdrojového kódu a navrhovaný model musel byť kompletne zmenený. V úvodnej fáze návrhu nového modelu sme uvaţovali o biliardovom modeli. Ten by zamedzoval podobným problémom, avšak spôsoboval by zmeny rýchlostí jednotlivých charakterov. Taktieţ by bolo náročné určiť hybnosť, keďţe k jeho výpočtu by sme museli poznať hmotnosť charakterov. Ten by sme mohli odvodiť od veľkosti (polomeru) charakteru. Tento spôsob sme ale povaţovali za neintuitívny, zbytočne mätúci a náročný na implementáciu. Obrázok 57 Starý model odrážania medzi objektmi 58

63 Situáciu sme nakoniec vyriešili modelom virtuálna stena (obrázok 58). Ten odstraňoval zistený problém, umoţňoval intuitívne ovládanie a vzhľadom na podobnosť správania sa s reálnou stenou bol model jednoduchý aj na implementáciu. Model pozostáva z nasledujúcich krokov: Detekcia kolízie (bod č. 2). Vytvorenie virtuálnej steny medzi charaktermi v kolízií (bod č. 3). Individuálny výpočet odrazu charakterov od steny (body č. 4a a 4b). Odrazenie (bod č. 5). Obrázok 58 Nový model odrazov - model virtuálna stena Ako moţno pozorovať z obrázku, model umoţňoval, aby sa smerovanie charakteru nezmenilo po kolízií. Takýto prípad mohol nastať jedine, ak pôvodné smerovania charakterov zvierali medzi sebou uhol menší ako deväťdesiat stupňov. V opačnom prípade vţdy dochádzalo k zmene smerovania Herné menu a nastavenia Kaţdá hra musí mať herné menu, ktoré umoţňuje prepínanie medzi rôznymi obrazovkami s nastaveniami, výberom herných úrovní, zobrazovaním nahraného skóre a podobne. Pre našu hru sme sa rozhodli upraviť existujúci projekt Game State Management 10, ktorý pokrýva všetky základné poţiadavky na zobrazovanie a prechod medzi jednotlivými obrazovkami. Projekt je dostupný pod licenciou Microsoft Permissive License. Táto licencia nám umoţňuje pouţívať tento projekt bez obmedzení, pokiaľ si ho nechceme patentovať a taktieţ musíme dodrţiavať

64 všetky patentové značky. Do existujúceho projektu sme doprogramovali pokročilé efekty prepínania medzi obrazovkami, ktoré zahŕňajú efekt plynulej Fade-in a Fade-out zmeny pozadia, plynulé posúvanie akčných prvkov pri posúvaní obrazovky, ako aj dynamické prelínanie a ďalšie vizuálne prvky. Celé menu je tak dynamické a audiovizuálne reaguje na pouţívateľské poţiadavky. Okrem toho sa pri spustení hry a zobrazení Menu zakáţu úsporné reţimy mobilného telefónu, ktoré spôsobujú zatmavovanie obrazovky. Hráč si tak môţe plnohodnotne vychutnať hru, bez toho aby bol vyrušovaný úsporným reţimom. Oproti prototypu sme taktieţ zmenili štruktúru celého Menu, ktoré je znázornené na obrázku 59. Obrázok 59 Revízia štruktúry herného menu Po spustení hry sa hráč ocitne v Main Menu obrazovke, ktorá obsahuje niekoľko tlačidiel. V Menu sa pohybuje pomocou klikania na tieto tlačidlá, pričom navrátiť k predošlej obrazovke sa realizuje pomocou stlačenia hardvérového gombíku Back. Obrazovka Main Menu je znázornená na obrázku 60. Obrázok 60 Obrazovka Main Menu Tlačidlo Start Game spustí Level Select obrazovku, ktorá obsahuje zoznam všetkých herných úrovní. Tlačidlo Options vyvolá obrazovku s nastaveniami, kde môţe hráč ovplyvniť hlasitosť zvukového doprovodu, zvukových efektov, zapnúť alebo vypnúť vibrácie a nastaviť umiestnenie technologického panelu v hre. Po aktivácií tlačidla Credits sa pouţívateľovi zobrazí 60

65 obrazovka s menami všetkých vývojárov a ľudí čo boli zapojení do projektu. Tlačidlo Exit Game ukončí hru. Na ukončenie hry sa dá vyuţiť aj hardvérový gombík Back. Obrazovka Options a Credits je znázornená na obrázkoch 61 a 62. Obrázok 61 Obrazovka Options Obrázok 62 Obrazovka Credits Obrazovka Level Select poskytuje viacero moţností. Okrem toho, ţe zobrazuje herné úrovne z jedného stupňa, tak pri kaţdej úrovni je zobrazené aj maximálne dosiahnuté skóre a zodpovedajúca medaila. Medzi stupňami s úrovňami sa dá prepínať pomocou kliknutia na šípky, alebo rýchlym horizontálnym pohybom prstu po obrazovke. Obrazovka Level Select je znázornená na obrázku 63. Z tejto obrazovky je prístupný aj Tutorial, ktorý sa automatický prehrá po kliknutí na ikonku otáznika. Tutorial screen je znázornený na obrázku 64. Po kliknutí na ikonku mikroskopu sa zobrazí Help obrazovka so zoznamom všetkých nepriateľov a technológií. Po kliknutí na vybranú technológiu alebo nepriateľa sa prehrá jeho cut-scéna. Obrazovka Help screen je znázornená na obrázku

66 Obrázok 63 Obrazovka Level Select Obrázok 64 Cut-scéna Tutorial screen Obrázok 65 Obrazovka Help screen 62

67 Spustenú hru môţe hráč kedykoľvek pozastaviť pomocou hardvérového Back gombíka, ktorý vyvolá Pause obrazovku. Pause obrazovka pozastaví hru, ale ponúka aj ďalšie moţnosti. Hráč môţe pokračovať v hre, reštartovať aktuálnu úroveň, zmeniť nastavenia alebo sa vrátiť do Main Menu. Okrem toho je na obrazovke zobrazené aj číslo aktuálnej úrovne spoločne s herným stupňom. Pause obrazovka je vyvolaná automaticky pri prijímaní hovoru, alebo pri prepnutí na inú aplikáciu. Obrazovka Pause screen je znázornená na obrázku 66. Obrázok 66 Obrazovka Pause screen Po úspešnom alebo neúspešnom ukončení úrovne je zobrazený Success alebo Fail screen, ktorý dáva moţnosť pokračovať ďalšou úrovňou, alebo opätovne spustiť neprejdenú úroveň. Obrazovka s príkladom Success screenu sa nachádza na obrázku Grafické návrhy Obrázok 67 Obrazovka Success screen Pri tvorbe grafiky sme zistili, ţe ani jeden člen nášho tímu nemá dostatočné grafické vlohy a preto sme sa inšpirovali novými grafickými skicami, ktoré pre nás vytvorila Katka Tarabová. Okrem toho Katka navrhla aj pozadia, jednoduché modely a všetky cut-scény. Tvorba grafickej stránky hry je popísaná v kapitole Na nasledujúcich obrázkoch sa nachádzajú skice Jimmiho, nepriateľov a návrh herného pozadia, ktoré reprezentuje krvné riečište. 63

68 Obrázok 68 Skica nanobota Jimmyho Obrázok 69 Skice nepriateľov 64

69 7.2 Model tried Obrázok 70 Podklad herného pozadia Pôvodný model tried bol rozšírený o ďalšie entity (triedy), metódy a atribúty. Vychádzali sme predovšetkým z aktuálnej potreby daného prvku počas procesu implementácie. Zoznam atribútov a metód bol rozšírený v entitách Character, Enemy, Hero a Wall. Výrazne boli prepracované a rozšírené triedy opisujúce technológie: Technology, CharTech, BasicTech, TechInvisible, TechTransport, TechLaser, TechJimmys a TechPill. Návrh bol vedený tak, aby bolo potrebné vytvárať čo najmenší počet nových metód a v čo najväčšej moţnej miere vyuţívať princípy objektovo orientovaného programovania (najmä preťaţovanie). Na správne riadenie technológií slúţi trieda TechnologyManager, ktorá taktieţ umoţňuje jednoduchšie vytváranie ich inštancií. Pre vizuálne zobrazovanie slúţi trieda Animation. Referenciu na objekt tohto typu obsahuje kaţdý dynamický objekt, ktorý je vykresľovaný. Pre uchovanie konfigurácií jednotlivých herných úrovní je v projekte zahrnutá trieda Level. Grafické znázornenie modelu tried pomocou UML diagramu je zobrazené na obrázku 71. Okrem spomínaných tried sú v projekte obsiahnuté aj ďalšie triedy, ktoré vykresľujú Menu obrazovky alebo slúţia na ukladanie dosiahnutého skóre a nastavení. Tieto triedy sme do modelu nezahrnuli, keďţe sa jedná o upravené triedy z voľne dostupných príkladov zdrojových kódov. Pouţité zdrojové kódy, ako aj doplnená funkcionalita je opísaná v samostatných kapitolách. 65

70 Obrázok 71 UML diagram tried 66

71 7.3 Nová funkcionalita Kapitola s novou funkcionalitou popisuje všetky doplnené funkcie a časti, ktoré neboli obsiahnuté v prototype alebo jeho návrhu. Kaţdej časti je venovaná samostatná kapitola, ktorá stručne popisuje pridanú funkcionalitu Grafické spracovanie Pri vytváraní grafickej časti sme sa rozhodli pouţiť vývojové nástroje Gimp 2.6 a Adobe Illustrator CS4. Adobe Illustrator v trial verzii sme pouţívali najmä pri konverzii skíc (grafických návrhov) do digitálnej podoby z dôvodu, ţe podporuje vektorizáciu rastrových obrázkov a prácu s vektorovou grafikou. Pre potrebu zachovania adekvátnej kvality pri veľkej zmene rozlíšenia (potreba veľmi malých textúr) je vektorový spôsob práce s obrázkami potrebný. V prípade pouţitia rastrového grafického editora by sa kvôli aliasing efektu strácali detaily vo výslednom zmenšenom obrázku a ten by pôsobil rozmazaným dojmom. Gimp 2.6 sme pouţili pri vytváraní ostatných grafických prvkov ako sú napríklad pozadia menu, prvky grafického rozhrania GUI (tlačidlá a pod.), grafika technológií, Tutorial a Help, animovanie nepriateľov a technológií. S výhodou sme pouţili moţnosť pracovať s viacvrstvovými (multilayer) súbormi vďaka čomu bolo moţné v prípade potreby relatívne jednoducho meniť grafický dizajn. Príklad viacvrstvového modelu je znázornený na obrázku 72. Obrázok 72 Viacvrstvové pozadie v Main Menu Digitalizácia Keďţe grafické návrhy sme mali iba v papierovej forme, bolo potrebné z nich vytvoriť obrazové súbory. Rozhodli sme sa pouţiť formát PNG (Portable Network Graphics), ktorý poskytuje moţnosť uloţenia priehľadného alfa kanála a je moţné ho vo Visual Studiu pouţiť ako zdroj animácie. Pri vytváraní grafiky nepriateľov sme postupovali podľa nasledovných krokov: 1. Skenovanie skice 2. Vektorizácia 3. Kolorizovanie 4. Úprava rozlíšenia 67

72 Prvým krokom bolo naskenovanie obrázka. Dbali sme na správne nastavenie úrovní farieb (najmä kontrast a vyváţenie bielej), aby bolo moţné čo najvernejšie previesť naskenovaný obrázok do vektorovej reprezentácie. Na vektorizáciu sme pouţili Adobe Illustrator, ktorý dokáţe previesť jednoduché čierno-biele skice do vektorovej reprezentácie pomocou nástroja Live Trace. S vektorovým obrázkom sme mohli ďalej pracovať a kolorizovať ho podľa potreby. Pri vyfarbovaní sme sa zamerali na poţiadavku, aby nepriatelia boli kontrastní voči tmavočervenému pozadiu. Tieţ bolo potrebné farby zvoliť tak, aby sa nepriatelia farebne odlišovali. Po získaní farebného obrázka je posledným krokom upravenie veľkosti obrázka na poţadované rozlíšenie. Pri tomto kroku sme s výhodou vyuţili vektorovú reprezentáciu, ktorá dávala subjektívne aj objektívne lepšie výsledky ako rastrová zmena veľkosti v GIMPe. Postup vytvárania textúry ilustruje obrázok 73. Obrázok 73 Postup vytvárania textúr nepriateľa Animácie Podľa poţadovanej animácie pre danú baktériu bolo potrebné ďalej manipulovať s farebnou textúrou. Pri vytváraní animácií sme museli individuálne pristupovať ku kaţdému rámcu (frame), teda v prípade potreby aj vykonať niektoré, prípadne aj všetky kroky uvedené v časti Digitalizácia. Animácie sme vytvárali úpravou pôvodnej textúry, rotáciou a podobne. Výsledkom grafickej práce na animácii je PNG súbor, ktorý obsahuje všetky framy animácie v jednom páse a ktorý je ďalej softvérovo spracovávaný. Obrázok 74 Postup vytvárania animácie nepriateľa 68

73 Zmenou animácie/textúry je indikovaný aj zostávajúci ţivot pri odolnejších nepriateľoch. Bolo teda potrebné pre kaţdého nepriateľa vytvoriť 2 3 animácie, ktoré názorným spôsobom reprezentujú ţivot, resp. zranenia. Na obrázku 74 je znázornený postup pri vytváraní animácie konkrétneho nepriateľa. Časť 1 reprezentuje animáciu pri nezranenom nepriateľovi (5 4 ţivoty), časť 2 znázorňuje animáciu zraneného nepriateľa (3 2 ţivoty) a časť 3 je animácia zobrazovaná v prípade zostávajúceho posledného ţivota. Spôsob zobrazenia ţivotov je kľúčový z hľadiska hrateľnosti i taktiky hry. Hráč si môţe vyberať, ktorého nepriateľa zneškodní skôr prípadne akú technológiu vyuţije. Prostredie XNA umoţňuje vykresľovanie textúr na pozíciu určenú jej ľavým horným bodom. Keďţe väčšina vykresľovaných objektov je okrúhleho tvaru, tak sme na opis ich pozície vyuţívali ich stredný bod a polomer. Pred vykreslením sme ale museli transformovať takéto atribúty na tie ţiadané (ľavý horný bod objektu). Tento proces bolo jednoduchý na odvodenie aj na následne implementovanie: vykreslenie.x = stred.x polomer vykreslenie.y = stred.y polomer Obrázok 75 Centrovanie vykresľovania objektov Rotácie textúr podľa pohybu Pre čo najintuitívnejšiu detekciu smerovania nepriateľov hráčom sme sa rozhodli otáčať ich animované textúry podľa ich uhla. Pri implementácií tejto vlastnosti sme natrafili na podobný problém ako pri centrovaní, teda ţe rotácia prebieha okolo ľavého horného bodu (obrázok 76). Pre centrálne vykresľovanie sme uţ nemohli vychádzať z predchádzajúceho modelu, keď boli do výpočtu brané jedine dva parametre, z toho jeden nemenný (polomer). Namiesto toho sme museli vyuţiť aj goniometrické funkcie vychádzajúce z uhľa smerovania nepriateľa. Pre korekciu tak boli pripočítavané hodnoty podľa obrázka 77. Pre hráča pôsobí umelo, keď sa nepriateľ vykresľuje hore nohami, preto sme zabezpečili zrkadlové otočenie textúry pre takýto prípad. Keďţe v projekte bola zahrnutá moţnosť samovoľnej zmeny smerovania nepriateľov, bolo potrebné navrhnúť, aby nedochádzalo rýchlemu zrkadlovému otáčaniu textúr. Rozhodli sme sa zaviesť zrkadlovú hysteréziu, ktorá zamedzuje tomuto javu tým, ţe zrkadlové otočenie prebieha aţ za posunutou hranicou extrému. Táto hranica je individuálna pre kaţdú zmenu rotácie a je počítaná pripočítaním, resp. odpočítaním hodnoty 20 stupňov od extrému. 69

74 Obrázok 76 Rotácia textúr okolo ľavého horného bodu Draw position according angle Delta Y Delta X Obrázok 77 Korekcia pre centrovanie rotovaných objektov Ekvivalentné spôsoby rotácií sme vyuţili aj pri kreslení steny a vykresľovaní lasera. Tie sa od nepriateľov odlišovali tvarom (obdĺţniky namiesto kruhov) a centrálnym miestom rotácie (ľavý-stredný bod namiesto stredo-stredného bodu). 70

75 Zomieranie nepriateľov Dôleţitým prvkom hry je likvidácia nepriateľov. Konečnej fáza tohto procesu však ponúka viacero vizuálnych a logických výsledkov, ktoré môţu nadobudnúť nasledovné podoby: Zmiznutie nepriateľa a pokračovanie Jimmyho v ceste. Zmiznutie nepriateľa a odrazenie Jimmyho. Postupné zmiznutie nepriateľa do stratena a odrazenie Jimmyho. Rozhodli sme sa, ţe pouţívateľsky najprívetivejší je posledný menovaný spôsob. Pre takto špecifikované správanie sme vyuţili softvérové zmenšovanie textúry. Jej postupným zmenšovaným vytvárame ilúziu plynulého pohybu. Nevýhodou je, ţe prostredie nám takúto zmenu neumoţnilo vykonať z ohľadom na stred textúry a opakovanie sme museli riešiť správne centrovanie (obrázok 78). Obrázok 78 Štandardné a chcené zmenšovanie textúr Pre prehľadnosť situácie sme proces zomierania nepriateľov obohatili o zvukový prejav. Ten môţe byť uţitočný najmä pri vyuţití niektorej z technológií, keď hráč nemá vizuálnu kontrolu nad celou hracou plochou. Podobný proces bol pouţitý aj pri vizuálnych prejavoch niektorých technológií pre plynulý prechod z aktívneho do neaktívneho stavu (pill, laser, nanobot squad). Cut-scény Na vysvetlenie príbehu a predstavovanie nepriateľov a technológií slúţia cut-scény. Sú to statické obrázky ktoré opisujú danú technológiu, nepriateľa alebo príbeh. Počas prehrávania cut-scén je na pozadí pustená vlastná hudobná téma. Cut-scény sa medzi sebou prelínajú pomocou Fade-in a Fade-out efektov. Rôzne cut-scény sú zobrazené na rôzne dlhý čas. Medzi cut-scénami sa dá rýchlo presúvať pomocou klikania na displej. Cut-scény s predstavovanými nepriateľmi a technológiami sa dajú opätovne zobraziť z Help menu. Cut-scény popisujúce herný príbeh sa nachádzajú na nasledujúcich obrázkoch. 71

76 Obrázok 79 Cut-scény s príbehom Ukončenie hry Hra má dvojicu rôznych ukončení. V prípade ţe sa hráčovi nepodarí prejsť danú úroveň a ţivot Otta klesne na nulu, tak hra je ukončená a hráčovi je zobrazená smutná Cut-scéna so smutným hudobným doprovodom (obrázok 80). Hráč má moţnosť opätovne skúsiť prejsť danú úroveň alebo ukončiť hru. Obrázok 80 Cut-scény s negatívnym ukončením 72

77 Po úspešnom ukončení poslednej úrovne je Otto vyliečený a hráčovi je zobrazená ukončovacia Cut-scéna so šťastným Ottom a jeho priateľmi (obrázok 81) Herní nepriatelia Obrázok 81 Cut-scéna s pozitívnym ukončením V hre sa nachádza 10 druhov nepriateľov, ktorí reprezentujú skutočné baktérie a vírusy spôsobujúce najrozšírenejšie a váţne ochorenia. Na účel predstavenia nepriateľa hráčovi sme vytvorili pre kaţdého prezentačnú obrazovku. Tá obsahuje názov baktérie/vírusu a krátky popis choroby, ktorú spôsobuje a tieţ rady, ako sa vyhnúť nákaze danou chorobou. Hra týmto poskytuje aj edukatívny účinok pre detského hráča a preventívne rady. Okrem vyobrazenia pozitívneho vplyvu nových technológií na ţivot človeka (podľa témy súťaţe ImagineCUP) naša hra teda aj rozširuje povedomie o najrozšírenejších svetových ochoreniach a spôsoboch, ako sa im vyhnúť. Dôleţitou súčasťou prezentačných obrazoviek nepriateľov sú herné charakteristiky. Tie sú reprezentované vlastnosťami Damage, Life, Speed a Effective Technology. Damage : zranenie, ktoré daný nepriateľ spôsobí Ottovi za jednotku času. Life: počet ţivotov nepriateľa, môţe nadobúdať hodnoty 1 5. Speed: rýchlosť pohybu nepriateľa. Effective Technology: technológia, prípadne viac technológií, ktoré sú vhodné na boj s daným nepriateľom. Nepriatelia sa medzi sebou líšia nielen vlastnosťami ale aj grafickým výzorom a sú predstavovaní postupne ako hráč prechádza úrovne a stupne hry. Prezentačné obrazovky nepriateľov v hre sa nachádzajú na obrázkoch niţšie a sú usporiadané od najslabšieho po najsilnejšieho. 73

78 Obrázok 82 Cut-scéna - Salmonella Enterica Obrázok 83 Cut-scéna - Mycobacterium Tuberculosis Obrázok 84 Cut-scéna - Toxoplasma Gondii 74

79 Obrázok 85 Cut-scéna - Plasmodium Falciparum Obrázok 86 Cut-scéna - Legionella Pneumophila Obrázok 87 Cut-scéna - Lyssavirus 75

80 Obrázok 88 Cut-scéna - Staphilococcus Aureus Obrázok 89 Cut-scéna - Clostridum Tetani Obrázok 90 Cut-scéna - Borrelia Burgdorferi 76

81 7.3.3 Zvukové spracovanie Obrázok 91 Cut-scéna - Rotavirus Zvukovému spracovaniu hry sme venovali nadštandardné úsilie, pretoţe zvukové vnemy sú hneď po grafickom spracovaní najlepšie herné stimulátory. Vytvorili sme preto mnoţstvo zvukových tém, ktoré sa viaţu na aktuálnu hernú scénu. Napriek tomu mnoţstvo hráčov preferuje hranie bez zvukového doprovodu. Takýto pouţívatelia môţu v nastaveniach hry ovplyvňovať hlasitosť prehrávanej hudby, ale aj zvukových efektov samostatne v piatich stupňoch hlasitosti spoločne s ich vypnutím. V celej hre sú pouţité 4 rôzne hudobné doprovody, ktoré sú vytvorené spôsobom, ktorý umoţňuje ich prehrávanie v slučke. Tieto hudobné témy sú dostatočne dlhé, takţe nehrozí okamţité znudenie hráča. Okrem samotných zvukových doprovodov obsahuje hra aj mnoţstvo zvukových efektov, ktoré sa prehrávajú pri rôznych príleţitostiach. Hudobný doprovod Na všetky hudobné témy, ktoré sme pouţili v hre máme plné licencie, pretoţe okrem jednej témy sme si všetky ostatné vytvorili svojpomocne v rámci tímu. Jediný hudobný podklad, ktorý je pouţitý pri samotnom hraní hry nám na mieru vytvoril skladateľ a kamarát Richard Bešták. Túto tému sme ešte následne upravili aby mohla byť prehrávaná v slučke a mohli ju priamo pouţiť v hre. Ďalšie hudobné doprovody sú uţ jednoduchšie a skladajú sa zo štyroch akordov. Jedna hudobná téma je pouţitá pri pohybe v hernom menu, zatiaľ čo ďalšia sa prehráva pri zobrazovaní cut-scén. Samostatná hudobná téma je prehrávaná pri zobrazení cut-scény s umierajúcim Ottom, čo inšpiruje hráča na väčšie úsilie pri hraní. Pri všetkých hudobných podkladoch v hre je doprogramovaný softvérový Fade-out efekt, ktorý umoţňuje plynulý prechod medzi jednotlivými hudobnými témami. V prípade ţe by sme v hre nepouţili tento efekt, tak témy by sa prepínali skokovo, čo by pôsobilo veľmi neprirodzene a rušivo. Zvukové efekty Okrem hudobného doprovodu sú v hre pouţité najrôznejšie zvukové efekty od kliknutia gombíkov aţ po zomieranie nepriateľov. Na tento účel bolo treba pouţiť reprezentatívne zvukové efekty, ktoré vyjadrujú svojou podstatou jav, pri ktorom sú prehrávané. Najskôr sme skúšali vytvárať vlastné efekty, ale keďţe nemáme profesionálnu zvukovú výbavu, tak výsledok 77

82 bol rozporuplný. Rozhodli sme sa preto pouţiť zvukové efekty z kniţnice Microsoft SoundLab 11, ktoré sú pod licenciou Microsoft Permissive License. Táto licencia nám umoţňuje pouţívať zvukové efekty bez obmedzení, pokiaľ si ich nechceme patentovať, pozmeňovať a musíme dodrţiavať všetky patentové značky. V našom prípade to nepredstavuje problém, keďţe všetky náleţitosti licencie splňujeme. Zvukové efekty pouţívame pri klikaní na gombíky v Menu, pri presúvaní sa medzi stupňami s úrovňami, pri odráţaní Jimmyho od stien, hraníc obrazovky a nepriateľov, pri aktivácií, deaktivácii a chybe technológií, pri zabíjaní nepriateľov a iných javoch. Všetky zvukové efekty boli vyberané s citom pre simulovaný jav, ktorý musia čo najpresnejšie reprezentovať. Vďaka pouţitiu takéhoto bohatého zoznamu efektov je hra omnoho ţivšia a lepšie hrateľná, pretoţe pouţívateľ dostáva aj zvukovú odozvu na svoje akcie Vibračné efekty Pre zlepšenie interakcie s pouţívateľom sme do hry pridali aj vibračné efekty. Celkovo sú v hre implementované 4 typy vibračných efektov, ktoré sa rozlišujú dĺţkou pôsobenia. Vibračné časy sme nastavili na čo najkratšiu dobu, pretoţe pri dlhodobom hraní by tieto efekty mohli byť aţ otravné. Napriek tomu sa všetky vibračné efekty dajú vypnúť v nastaveniach hry. Ako najvhodnejšie vibračné časy sme stanovili dĺţky 25, 50, 100 a 400 ms. Vibrácie sú pouţité pri kolízií Jimmyho s hranicami obrazovky (25 ms), so stenami (25ms), s nepriateľmi (50 ms), pri nedovolenej aktivácií technológií (100 ms) a ukončení hry (400 ms) Dizajnovanie herných úrovní Dizajnovanie jednotlivých úrovní patrí k najdôleţitejším činnostiam pri tvorbe celej hry. Príliš nízka náročnosť úrovní môţe pôsobiť nudiacim pocitom na hráčov, ktorí danú úroveň prejdú bez akejkoľvek snahy. Naopak príliš náročné úrovne neumoţnia hráčom vychutnať si hernú atmosféru a poriadne sa zabaviť. Je preto nevyhnutné navrhnúť optimálne úrovne ktoré by reflektovali reálnych hráčov. Z tohto dôvodu sme sa rozhodli zrealizovať rozsiahly betatesting, ktorý mal za účel nielen odhaliť prípadne implementačné chyby, ale vytvoriť aj tabuľku so všetkými hernými časmi a spotrebovaným ţivotom. Pomocou tejto tabuľky sme mohli následne zvoliť optimálne parametre jednotlivých úrovní. Generovanie úrovní Keďţe naša hra má pomerne jednoduché úrovne a nevyţaduje prvky nadštandardne inteligentného generovania hracích úrovní, tak sme sa rozhodli vytvoriť algoritmus ich automatického generovania. Kaţdá úroveň je tak špecifická len dostupnými technológiami, maximálnym ţivotom Otta, počtom a druhom nepriateľov. Pre lepšiu orientáciu sa Jimmy na začiatku kaţdej úrovne nachádza v strede obrazovky, avšak jeho uhol pohybu sa plne dynamicky mení s kaţdým načítaním úrovne. Podobne sú na tom aj nepriatelia, ktorých pozícia a uhol pohybu sa plne dynamicky a náhodne mení pri kaţdom načítaní úrovne. Týmto je do hry doplnený prvok náhodnosti, ktorý spoločne s náhodným pohybom nepriateľov zaručuje, ţe kaţdá úroveň je aj pri opätovnom hraní zakaţdým iná, avšak nahrané skóre je porovnateľné. Generovanie pozícií nepriateľov ale nie je triviálne, keďţe je nutné zabezpečiť, aby ich

83 štartovacia pozícia bola v rámci hernej plochy a aby pri štarte nekolidovali s Jimmym ale ani s ostatnými nepriateľmi. Na vhodné generovanie štartovacích pozícií nepriateľov pouţívame algoritmus s hysterézami, ktoré určujú, v akej minimálnej vzdialenosti musia byť všetci nepriatelia od seba a od Jimmyho. Nemôţe tak nastať situácia, ţe hneď po spustení hry sú viacerí nepriatelia ihneď zabití, keďţe sa nachádzajú hneď vedľa Jimmyho. Herné parametre úrovní Pomocou rozsiahleho beta-testingu sme vytvorili štatistický súbor s hernými časmi a potrebným ţivotom pre kaţdú úroveň. Beta-testing prebiehal so štyrmi reprezentatívnymi hráčmi, ktorí prešli kaţdú úroveň 5-krát. Týmto sme pre kaţdú úroveň získali štatistickú vzorku s 20-timi poloţkami. Z tejto vzorky sme mohli následne zvoliť vhodnú veľkosť ţivota, štandardného hracieho času a medailového ohodnotenia. Pri kaţdej úrovni sme nezávisle zoradili herný čas a potrebný ţivot. Z dvadsiatich vzoriek sme posledných päť hodnôt ignorovali a zapísali posledný najhorší čas a potrebný ţivot. Tieto hodnoty sme stanovili ako referenčné pre danú úroveň a následne sme pomocou týchto hodnôt vypočítali skóre kaţdého herného pokusu. Všetky tieto výsledky sme opätovne zoradili a prvým trom sme udelili zlatú medailu, ďalším štyrom striebornú a piatim bronzovú. Zvyšné tri výsledky boli bez medailového hodnotenia. Tento postup sme zopakovali pre kaţdú úroveň, aţ kým sme dosiahli všetky relevantné parametre. Niektoré úrovne sme ešte manuálne upravovali tak, ţe sme skracovali štandardný čas a ţivot, aby sme umelo zvyšovali náročnosť najmä v poslednej časti hry Rýchlostné a pamäťové optimalizácie Pre umoţnenie čo najrýchlejšieho chodu hry na mobilnom zariadení sme sa rozhodli zahrnúť do implementácie niekoľko optimalizačných prvkov. Tie umoţňujú efektívnejšie vyuţívanie procesora a pamäte telefónu. Najväčšiu časť v operačnej pamäti nepochybne tvoria textúry. Tie sú vzhľadom na platformu ukladané v bezstratovom, nekomprimovanom formáte. Keďţe mnohé objekty v aplikácií sú charakterizované tou istou textúrou, rozhodli sme sa, ţe takáto textúra bude umiestnená v pamäti maximálne jedenkrát (obrázok 92). V konečnej fáze, keď sme uţ nepotrebovali vývojársku podporu k projektu, sme skompilovali kód v móde Release namiesto Debug. Pri testovaní hry sme miestami pozorovali sekanie obrazu, ktoré ale bolo spôsobené aktivitami iných aplikácií, ktoré boli spustené na pozadí. Takisto sme sa venovali meraniu výkonnostných parametrov telefónu počas chodu hry. Zistili sme, ţe počas neho je alokovaných pribliţne 30 MB operačnej pamäte a 20 aţ 40 percent výkonu procesora telefónu HTC Titian. Najväčšia časť tohto výkonu bola ale spotrebovaná na vykresľovanie objektov a nie na výpočty spojené s gameplay-om. Vzhľadom na hardvérové poţiadavky, ktoré kladie spoločnosti Microsoft na telefóny vyuţívajúce platformu Windows Mobile 7.5 predpokladáme plynulý chod na akomkoľvek zariadení. 79

84 Obrázok 92 Pamäťová optimalizácia textúr 80

85 8 Testovanie Testovanie výslednej verzii hry prebiehalo vo viacerých úrovniach. Najskôr sme sa sústredili na postupné odstraňovanie všetkých chybičiek, následne na vhodný dizajn úrovní a aţ následne sme hru pripravili na finálne odovzdanie. Testovanie prebiehalo nielen na emulátore, ale aj na reálnych telefónoch. Na fakulte sme mali dostupné telefóny HTC Titan a HTC Radar. Zatiaľ čo Titan obsahuje výkonný 1,5 GHz procesor, tak Radar disponuje len 1 GHz modelom. Vďaka tomu sme mohli otestovať hru na jednom z najvýkonnejších ale aj najslabšom telefóne s operačným systémom Windows Phone 7.5. Testovanie preukázalo, ţe hra je pomerne nenáročná na dostupnú pamäť a procesor, keďţe pri najhoršej situácií hra spotrebuvávala len niečo cez 30 MB pamäte. Vyťaţenie procesora na slabšom Radar-e sa taktieţ pohybovala okolo 40 %, čo predstavuje dostatočnú rezervu pre budúce rozširovanie hry. Napriek tomu sme zaznamenali drobné problémy s plynulosťou na Radar-e, ktoré vznikali pri súčasnom spustení viacerých aplikácií na pozadí. Tento problém je spôsobený pravdepodobne slabším výkonom grafického čipu. Na rozsiahle otestovanie by sme potrebovali ďalšie telefóny, ktoré by vedeli presnejšie lokalizovať zdroj problémov. Obrázok 93 Prvá testovacia skupina Po úspešných rýchlostných optimalizáciách sme sa sústredili na odstraňovanie drobných chýb v zdrojovom kóde, ktoré spôsobovali nekorektné centralizovanie animácií a vykresľovanie niektorých textúr. Chyby sme úspešne lokalizovali a opravili aj vďaka testovacieho tímu hráčov, ktorí nepochádzali z nášho tímu. Vďaka tomu sme dosiahli 81

86 nestrannosť a významné kvalitatívne ohodnotenie ešte pred samotným odovzdaním finálnej verzie hry. Pred finálnym odovzdávaním bolo nutné ešte vytvoriť vhodné herné úrovne. Popis vytvárania úrovní sa nachádza v kapitole Dizajnovanie herných úrovní. Testovanie herných úrovní spočívalo vo viacnásobnom hraní jednotlivých úrovní viacerými hráčmi, čím sme získali dostatočnú štatistickú vzorku. Pomocou tejto vzorky sme následne stanovili vhodné parametre úrovní, ktoré určujú nielen náročnosť, ale aj bodové ohodnotenie jednotlivých úrovní. Finálnu verziu hry sme ešte podrobili rozsiahlym testom, ktoré preukázali, ţe stanovená obtiaţnosť je stredne ťaţká, čo umoţňuje prejdenie hry aj menej skúseným hráčom. Testovanie sme realizovali aj v Ruţinovskej základnej škole, kde sme získavali od ţiakov cenné skúsenosti a poznatky z hrania. Hra sa im veľmi páčila a chceli by si ju zahrať aj na vlastných osobných telefónoch. Tento poznatok nás potešil a preto dúfame, ţe sa nám podarí postúpiť do finále súťaţe ImagineCUP, kde by sme obhajovali všetky kvality našej hry. Na obrázkoch 93 a 94 sa nachádzajú fotografie z testovania hry na Ruţinovskej základnej škole. Obrázok 94 Druhá testovacia skupina 82

87 9 Inštalačná príručka Kapitola s inštalačnou príručkou popisuje spôsob inštalácie a spustenia hry BumpyBot. Hru je moţné nainštalovať a spustiť na ľubovoľnom mobilnom telefóne s operačným systémom Windows Phone 7.5 alebo na softvérovom emulátore. Inštalačný súbor s hrou má názov BumpyBot.xap a nachádza sa v ZIP archíve na webovej stránke projektu. Tento archív obsahuje okrem spustiteľného (inštalačného) súboru aj všetky zdrojové súbory a potrebné kniţnice. Na rozbalenie archívu je nutné pouţiť heslo team07pkss. Výslednú verziu hry bude moţné nainštalovať cez beţný Marketplace tak ako to platí aj pri iných beţných aplikáciách. Súčasnú verziu hry je taktieţ moţné nainštalovať aj cez utilitu Application Deployment, ktorá vyţaduje vývojársky odblokovaný telefón alebo nainštalovaný emulátor. Screenshot tejto utility sa nachádza na obrázku 95. Pomocou utility Application Deployment je moţné nainštalovať hru nielen na telefón, ale aj na jeho softvérový emulátor. Po zvolení inštalačného zariadenia a súboru s hrou stačí spustiť Deploy a hra bude do niekoľkých minút nainštalovaná. Hra je v mobilnom telefóne alebo emulátore umiestnená v kategórií Programs, pretoţe kategória XBOX Live s hrami je nedostupná na emulátore a preto by nebolo moţné naň hru nainštalovať. Screenshot umiestnenia hry sa nachádza na obrázku 96. Hra sa spustí po kliknutí na ikonku BumpyBot. Funkčná hra v emulátore je znázornená na obrázku 97. Obrázok 95 Application Deployment Tool 83

88 Obrázok 96 Umiestnenie nainštalovanej hry Obrázok 97 Emulátor so spustenou hrou 84

89 10 Používateľská príručka Kapitola s pouţívateľskou príručkou opisuje všetky herné aspekty finálnej hry, ako aj návod ako ju hrať. Keďţe hra bola primárne vyvíjaná ako príspevok do súťaţe ImagineCUP, tak tomu zodpovedajú aj všetky vlastnosti, ktoré podliehajú stanoveným pravidlám tejto súťaţe. Keďţe táto súťaţ je medzinárodná s oficiálnym jazykom angličtinou, tak sme boli nútení všetky príspevky formulovať práve v tomto jazyku. Tento fakt nepovaţujeme za negatívum, keďţe vďaka tomu je výsledná hra pripravená na medzinárodné publikum, ale aj na neskoršie komerčné zámery. Z tohto dôvodu sme sa rozhodli neprekladať pouţívateľskú príručku, ale ponechať ju v pôvodnom znení tak, ako sme ju odovzdávali v našom príspevku. Pouţívateľskú príručku je tak moţné pouţiť pri akejkoľvek hernej prezentácií BumpyBot - Windows Phone 7.5 game Our game is called BumpyBot and it shows how technologies can help in fight against widespread diseases. The game helps to emphasize diseases awareness among players, mainly children. Our goal is to teach players in a funny way that without advancement in technology the medicine is short-handed. The final game release will be located in XBOX LIVE GAMES collection, however for the purpose of judging it is currently placed directly in Programs to enable playing in the emulator. After activation the Main Menu screen is displayed. Figure 1: The Main Menu screen 85

90 In the Options screen you can adjust volume of the music and sound effects, vibrations and technology panel position. Figure 2: The Options screen Available levels are displayed through Level Select screen accessible via Start Game button. Each stage contains six levels. You can move between the stages by clicking the arrow buttons or flicking gestures. Our game contains 30 levels of different difficulty. For the purpose of Submission 3 judging, all levels have been unlocked in the submission. To play the game, click on the icon of any available level. The highest achieved score and corresponding medal ranking of each level is displayed beside level buttons. Figure 3: Level Select screen 86

91 It is possible to access the Tutorial and Help screens from the Level Select screen. The tutorial screen is accessible via Question Mark button (in upper left corner). After activation it shows brief gameplay instructions. Figure 4: Tutorial screen The Help screen is accessible via Microscope button. The Help screen contains lists of all enemies and available technologies. Description of each object can be viewed after clicking on its icon. Figure 5: Help screen 87

92 The Description screens that introduce each new enemy or technology are shown before their first appearance in the game. Figure 6: Enemy description screen Figure 7: Technology description screen 88

93 The Gameplay screen is displayed on the Figure 8. It consists of several objects which are highlighted by arrows: 1. Jimmy the main character. By controlling him, you can destroy enemies. 2. Enemy Gameplay area contains several enemies. Each enemy decreases life and has its unique attributes. 3. Life indicator shows remaining life. When the indicator drops to zero current level is failed. 4. Technology accessible technologies are located in the technology bar. Each technology has some type of effect. It lasts limited amount of time and before next use it has to be fully recharged. It is not possible to activate more than one technology at a time but you can always deactivate it when you do not need it anymore. 5. Nano-wall Jimmy s bouncing movement is indirectly controlled by drawn walls which are created by user gestures. 6. Off-screen enemy indicator Some levels take advantage of automatic screen scrolling. In these levels Off-screen indicators inform the player about enemies behind the screen boundaries Figure 8: Gameplay screen 89

94 The Pause screen provides possibilities of game restart, exit to Main Menu and options adjusting. It is activated in following situations: Incoming phone call Application switch User pressing back button Figure 9: Pause screen Successful level completion is indicated by the Results screen. The player s skill is ranked with achieved score and player may be awarded with medals. From this screen player can continue to next level or retry the last level to gain better rating. Pressing the phone s back button navigates the player to the game Main Menu screen. Figure 10: Results screen 90

95 Game presentation For the purposes of game presentations we have prepared small game poster shown in the Figure 11. Also we would like to introduce you our Game Video and Game Trailer available in Youtube channel: The Game Video and Trailer display real commented gameplay, game features and much more. So sit back and enjoy our game! Figure 11: BumpyBot poster 91

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

POKROČILÉ C++ Marian Vittek

POKROČILÉ C++ Marian Vittek POKROČILÉ C++ Marian Vittek vittek@fmph.uniba.sk O predmete Pôvodne seminár Teraz normálna prednáška so skúškou/testom Predmetom kurzu je detailnejší pohľad na jazyk C++ a občasné porovnanie s inými programovacími

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Závereč ný workshop projektu INEDU-GOV Inovatívne vzdelávanie pracovníkov

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

Xerox PARC the office of the future. Michal Winczer

Xerox PARC the office of the future. Michal Winczer Xerox PARC 1970-80 the office of the future Michal Winczer Čo to je? Kde to je? PARC = Palo Alto Research Center Čo bolo pred tým Vojna vo Vietname Hnutie hippies Úspechy XEROXu s kopírkami Neexistencia

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH. V NEMOCNICI A MIMO NEJ Alexandra Bražinová, Veronika Rehorčíková, Mark Taylor VIII. STREDOEURÓPSKY KONGRES URGENTNEJ MEDICÍNY A MEDICÍNY KATASTROF.3-1..17

More information

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit. Fiber 5 Mbit ** 5 Mbit / Mbit 5,90 Fiber 50 Mbit * 50 Mbit / 8 Mbit 9,90 Fiber 80 Mbit * 80 Mbit / Mbit 5,90 Mini Mbit* Mbit / Mbit 9,90 Klasik 2 Mbit* 2 Mbit / 2 Mbit Standard 8 Mbit* 8 Mbit / 3Mbit Expert

More information

MERANIE SOFTVÉRU. Jakub Šimko MSI

MERANIE SOFTVÉRU. Jakub Šimko MSI Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Jakub Šimko jsimko@fiit.stuba.sk MERANIE SOFTVÉRU 9.10.2012 MSI Meranie a metriky Kto by mal dávať pozor? Predsa

More information

VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE VPLYV A VÝHODY POUŢITIA INFORMAČNÝCH SYSTÉMOV V ORGANIZÁCIÁCH Tomáš Zubo

VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE VPLYV A VÝHODY POUŢITIA INFORMAČNÝCH SYSTÉMOV V ORGANIZÁCIÁCH Tomáš Zubo VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE VPLYV A VÝHODY POUŢITIA INFORMAČNÝCH SYSTÉMOV V ORGANIZÁCIÁCH 2010 Tomáš Zubo VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE VPLYV A VÝHODY POUŢITIA INFORMAČNÝCH SYSTÉMOV V ORGANIZÁCIÁCH

More information

INTERNET. História internetu

INTERNET. História internetu INTERNET 1 Úvod Internet je celosvetová počítačová sieť. Je všade okolo, ale nepatrí nikomu, nikto ho neriadi. Internet predstavuje najväčšie množstvo informácií dostupných z jedného miesta. Internet tvoria

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? Budúcnosť je jasná, budúcnosť sú distribuované verziovacie systémy... alebo centralizované??? Balázs Nagy Slovenská technická univerzita

More information

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals... Desatinné čísla #1a Mravec išiel 5,5 cm presne na sever, potom 3,4 cm na východ, 1,8 cm na juh, 14,3 cm na západ, 1,3 cm na sever a 10,9 cm na východ. Najmenej koľko cm musí teraz prejsť, aby sa dostal

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ FACULTY OF INFORMATION TECHNOLOGY ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ DEPARTMENT OF COMPUTER GRAPHICS AND

More information

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV NIKY a NIKY S JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ ŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV Ideálna ochrana pre malé kancelárie a domáce kancelárske aplikácie. Tento rad ponúka

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky BGP - duálne prepojenie AS (primary + backup spoj), s IBGP, cez virtuální L2 linky Peter Jašica Abstrakt: Cieľom tohto projektu je zhotoviť a otestovať funkčnosť BGP s dvojitým prepojením Autonómnych systémov.

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia

VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK. Karol Schütz, S&T Slovakia VIRTUALIZÁCIA DÁTOVÝCH ÚLOŽÍSK Karol Schütz, S&T Slovakia Agenda Časť Časť Časť Časť Časť Časť Časť 1 Aký je súčasný stav v oblasti ukladania dát 2 Aké sú požiadavky na súčasný storage 3 Aké sú technologické

More information

VZDÁLENÝ PŘÍSTUP K MOBILNÍM ZAŘÍZENÍM REMOTE ACCESS TO MOBILE DEVICES

VZDÁLENÝ PŘÍSTUP K MOBILNÍM ZAŘÍZENÍM REMOTE ACCESS TO MOBILE DEVICES VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS VZDÁLENÝ PŘÍSTUP

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE POROVNANIE NAJPOUŢÍVANEJŠÍCH INFORMAČNÝCH SYSTÉMOV BAKALÁRSKA PRÁCA

VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE POROVNANIE NAJPOUŢÍVANEJŠÍCH INFORMAČNÝCH SYSTÉMOV BAKALÁRSKA PRÁCA VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE POROVNANIE NAJPOUŢÍVANEJŠÍCH INFORMAČNÝCH SYSTÉMOV BAKALÁRSKA PRÁCA Študijný program: Pracovisko: Vedúci práce: Znalostný manaţment VŠM, Bratislava Martina Česalová,

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX 45 826 45 Bratislava Úrad verejného zdravotníctva Slovenskej republiky upozorňuje na výskyt nebezpečných výrobkov farby na tetovanie

More information

SIP v malých telekomunikačných systémoch. Convergence. A matter of lifestyle.

SIP v malých telekomunikačných systémoch. Convergence. A matter of lifestyle. SIP v malých telekomunikačných systémoch Convergence. A matter of lifestyle. Obsah Prehľad portfólia malých komunikačných systémov Aastra BusinessPhone - Úvod - Prehľad koncových telefónnych aparátov -

More information

Informačný systém pre športový klub

Informačný systém pre športový klub UNIVERZITA KOMENSKÉHO V BRATISLAVE Fakulta matematiky, fyziky a informatiky Informačný systém pre športový klub Bakalárska práca Bratislava, 2013 Martin Kuchyňár UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL LED svietidlá na osvetlenie športovísk MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám. LL SPORT LL SPORT je sofistikované vysoko výkonné LED svietidlo špeciálne

More information

VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE. Získavanie a výber zamestnancov Roland Vászondy

VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE. Získavanie a výber zamestnancov Roland Vászondy VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE Získavanie a výber zamestnancov 2010 Roland Vászondy Bakalárska práca 2 VYSOKÁ ŠKOLA MANAŢMENTU V TRENČÍNE Získavanie a výber zamestnancov Bakalárska práca Študijný program:

More information

Xamarin písanie Android a ios aplikácií v C#

Xamarin písanie Android a ios aplikácií v C# www.dotnetcollege.cz Xamarin písanie Android a ios aplikácií v C# Roman Jašek Software Architect, Riganti s.r.o. MSP, MCP roman.jasek@riganti.cz Xamarin vs. Xamarin Forms ios C# UI Android C# UI Windows

More information

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia

Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia Algoritmy deterministickej a stochastickej optimalizácie a ich počítačová realizácia ESF 2007 D. Ševčovič Katedra aplikovanej matematiky a štatistiky, Univerzita Komenského, 842 48 Bratislava http://www.iam.fmph.uniba.sk/institute/sevcovic

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

Základné a všeobecné ustanovenia

Základné a všeobecné ustanovenia Základné a všeobecné ustanovenia 1. Účasť na hazardných hrách je zakázaná osobám mladším ako 18 rokov, t.z. ţe hráčom môţe byť len fyzická osoba, ktorá dovŕšila 18 rokov veku, a ktorá v súlade s Herným

More information

Hodnotenie kvality produktu

Hodnotenie kvality produktu Hodnotenie kvality produktu (2012/2013) Obsah 1. Úvod... 3 2. ISO 9126: Meranie kvality softvérového produktu... 3 2.1 ISO 9126-1: Model kvality... 4 2.2 ISO TR 9126-2: Externé metriky... 6 2.3 ISO TR

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No Marek BABIUCH *, Martin HNIK **

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No Marek BABIUCH *, Martin HNIK ** Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1680 Marek BABIUCH *, Martin HNIK ** USING TECHNOLOGY OF.NET WEB SERVICES IN THE AREA OF AUTOMATION

More information

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR

BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR BODY PRÍPADOV POUŽITIA ALEBO AKO MERAŤ SOFTVÉR Pre efektívne riadenie celého projektu je potrebné merať jeho veľkosť Ondrej Jurčák Slovenská technická univerzita Fakulta informatiky a informačných technológií

More information

AR6181-MX, AR6182-MX Čítačky MIFARE kariet

AR6181-MX, AR6182-MX Čítačky MIFARE kariet AR6181-MX, AR6182-MX Čítačky MIFARE kariet ISO14443-A, ISO14443-B a ISO15693 Systém kontroly vstupu 13,56 MHz proximity technológia Jednoduchá konfigurácia čítačky použitím konfiguračnej karty Možnosť

More information

WEBOVÁ PLATFORMA PRE TVORBU HIER WEB PLATFORM FOR GAME DEVELOPMENT

WEBOVÁ PLATFORMA PRE TVORBU HIER WEB PLATFORM FOR GAME DEVELOPMENT VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS WEBOVÁ PLATFORMA

More information

Tréner mentálnych schopností

Tréner mentálnych schopností Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava 4 Tréner mentálnych schopností Projektová dokumentácia Študijný odbor: Softvérové inžinierstvo

More information

Prvky inovácie nových jazykov HTML5 a CSS3

Prvky inovácie nových jazykov HTML5 a CSS3 Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Prvky inovácie nových jazykov HTML5 a CSS3 The HTML5 and CSS3 innovations concepts

More information

Manažérsky sen dokonalej tímovej práce

Manažérsky sen dokonalej tímovej práce Manažérsky sen dokonalej tímovej práce PAVOL JANIŠ Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava pj[zavináč]a-st[.]sk Abstrakt. Dekompozícia

More information

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Bakalárska práca 2016 Zuzana Majeríková Univerzita

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULITMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS ANALÝZA REGISTRŮ

More information

Nové prvky vo webových technológiách a ich vplyv na informačné systémy

Nové prvky vo webových technológiách a ich vplyv na informačné systémy Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Nové prvky vo webových technológiách a ich vplyv na informačné systémy Bakalárska práca Martin Hajduček 2013 Bankovní institut

More information

Vnímanie neviditeľného [Holographic Eyes]

Vnímanie neviditeľného [Holographic Eyes] Fakulta informatiky a informačných technológií Slovenská technická univerzita Vnímanie neviditeľného [Holographic Eyes] Metodika pre manažment verzií kódu (angl.) Číslo tímu: 8 Názov tímu: caneless Vedúci

More information

Aplikácia k určovaniu rastlín pre platformu ios

Aplikácia k určovaniu rastlín pre platformu ios Mendelova univerzita v Brně Provozně ekonomická fakulta Aplikácia k určovaniu rastlín pre platformu ios Bakalárska práca Vedúci práce: Ing. Dita Dlabolová Jakub Kozák Brno 2014 Na tomto mieste by som

More information

Responzívny dizajn a jeho realizácia v podmienkach konkrétnej spoločnosti

Responzívny dizajn a jeho realizácia v podmienkach konkrétnej spoločnosti Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Responzívny dizajn a jeho realizácia v podmienkach konkrétnej spoločnosti Responsive

More information

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2.

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2. 1. ELASTIX inštalácia 2 2. Elastix konfigurácia 8 2.1 Nastavenie užívateľských kont 9 2.2 Pridanie nových užívateľských kont 10 2.3 InstantMessaging and presence 12 2.4 TLS 12 2.5 Conference 12 3. Záver

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

Úvod do hospodárskej informatiky (prednáška 7) František Babič

Úvod do hospodárskej informatiky (prednáška 7) František Babič Úvod do hospodárskej informatiky (prednáška 7) František Babič 2 Osnova Proces a podnikové procesy Procesná analýza BPMN Procesné riadenie Optimalizácia procesov Reinžiniering 3 Proces (1) Súhrn činností,

More information

Riadenie a využitie databázy s využitím tabuľkového procesora a skriptovacieho jazyka

Riadenie a využitie databázy s využitím tabuľkového procesora a skriptovacieho jazyka Bankovní institut vysoká škola Praha Riadenie a využitie databázy s využitím tabuľkového procesora a skriptovacieho jazyka Diplomová práca Bc. Vladimír Murin Apríl 2011 1 Bankovní institut vysoká škola

More information

Tvorba webových stránok pre mobilné platformy

Tvorba webových stránok pre mobilné platformy Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Tvorba webových stránok pre mobilné platformy Diplomová práca Bc. Andrej Ševčík Apríl 2014 Bankovní institut vysoká škola Praha

More information

Vnorený počítač a jeho využitie v realizácii informačných systémov

Vnorený počítač a jeho využitie v realizácii informačných systémov Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Vnorený počítač a jeho využitie v realizácii informačných systémov The information

More information

Mobilný počítač Dolphin TM Príručka pre rýchle spustenie

Mobilný počítač Dolphin TM Príručka pre rýchle spustenie Mobilný počítač Dolphin TM 6100 Príručka pre rýchle spustenie Mobilný počítač Dolphin 6100 Obsah balenia Skontrolujte, či sa v balení nachádzajú nasledujúce položky: Mobilný počítač Dolphin 6100 (terminál)

More information

}w!"#$%&'()+,-./012345<ya

}w!#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY }w!"#$%&'()+,-./012345

More information

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach

Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach EKONOMICKÁ FAKULTA TU V KOŠICIACH MATERIÁL NA ROKOVANIE: Vedeckej rady, dňa: 16.11.20 Návrh kritérií pre habilitáciu docentov a vymenúvanie profesorov na Ekonomickej fakulte TU v Košiciach Predkladá: prof.

More information

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO BRATISLAVA Bakalárska práca SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU ŠTANDARDIZAČNÝCH MATERIÁLOV Eva Porvazníková vedúci bakalárskej práce: Doc.

More information

Knižnica (framework) pre kreslenie grafov

Knižnica (framework) pre kreslenie grafov Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Katedra informatiky Knižnica (framework) pre kreslenie grafov Diplomová práca Bc. Tomáš DRIMAL Študijný odbor: 9.2.1 Informatika

More information

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE FAKULTA PRÍRODNÝCH VIED BEZPEČNOSŤ MOBILNÝCH ZARIADENÍ DIPLOMOVÁ PRÁCA 2017 Bc. JAN FRANCISTI UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE FAKULTA PRÍRODNÝCH VIED BEZPEČNOSŤ

More information

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1711

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1711 Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1711 Abstract Kamil ŽIDEK *, Ondrej LÍŠKA ** LOCATION ESTIMATION OF MOBILE DEVICES ODHAD POLOHY

More information

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV Bakalárska práca Stanislav Párnický 2013 UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Edukační hra. Veronika Galovská

Edukační hra. Veronika Galovská Edukační hra Veronika Galovská Bakalářská práce 2015 ABSTRAKT Hlavným cieľom bakalárskej práce je vytvorenie aplikácie na podporu učiva prvých ročníkov základných škôl. Aplikácia je koncipovaná ako

More information

systemove programovanie win32 programovanie

systemove programovanie win32 programovanie systemove programovanie win32 programovanie zakladny princip uzivatel interaguje so systemom klavesnicou, mysou tym generuje udalosti, ktore sa radia do,,message queue" (front sprav) aplikacia vytahuje

More information

Pentura Mini LED veľmi tenké lištové svietidlo

Pentura Mini LED veľmi tenké lištové svietidlo Lighting Pentura Mini LED veľmi tenké lištové svietidlo Pentura Mini LED Pentura Mini LED je mimoriadne tenké lištové svietidlo, ktoré ponúka výhody energetickej úspornosti technológie LED, ako aj vynikajúci

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVEFAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVEFAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVEFAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Sieť senzorov pre inteligentnú domácnosť Bakalárska práca 2016 Jozef Čelko Obsah 1. Úvod... 1 2. Východiská... 2 2.1. Hardware...

More information

Košice. Riešenia pre malé a stredné podniky

Košice. Riešenia pre malé a stredné podniky 28.09.2016 Košice Riešenia pre malé a stredné podniky Partnerský program Hewlett Packard Enterprise Partner Ready Výhody - Špeciálne ceny - Partner ready portál - Bezplatné školenia - Registrácia obchodného

More information

Ekonomický pilier TUR

Ekonomický pilier TUR Názov indikátora: HDP na obyvateľa Zaradenie indikátora v DPSIR štruktúre: Základné informácie: SR Definícia Hrubý domáci produkt vyjadrovaný ako celková peňažná hodnota statkov a služieb vytvorených za

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV MANAGEMENTU FACULTY OF BUSINESS AND MANAGEMENT INSTITUT OF MANAGEMENT INFORMAČNÍ STRATEGIE FIRMY DIPLOMOVÁ PRÁCE

More information

Tvorba informačných systémov 3. prednáška modely vývoja informačných systémov

Tvorba informačných systémov 3. prednáška modely vývoja informačných systémov Tvorba informačných systémov 3. prednáška modely vývoja informačných systémov Špecifikácia požiadaviek cieľ: vytvorenie uceleného katalógu požiadaviek na produkt (t.j. čo zadávateľ od produktu požaduje)

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE APLIKÁCIA PRE SYNCHRONIZÁCIU SUGARCRM S MOBILNÝMI ZARIADENIAMI SO SYSTÉMOM ANDROID BAKALÁRSKA PRÁCA MTF-5262-47785

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

Tvorba plánov DÁVID KOVÁČ

Tvorba plánov DÁVID KOVÁČ Tvorba plánov DÁVID KOVÁČ Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava qavidko[zavináč]gmail[.]com Abstrakt. Plánovanie je jednou z najdôležitejších

More information

Tvorba softvéru v tretom tisícrocí

Tvorba softvéru v tretom tisícrocí KYKLOP Tvorba softvéru v tretom tisícrocí SLOVENSKÁ TECHNICKÁ UNIVERZITA BRATISLAVA 2002 Bc. Michal Bigoš Bc. Vladimír Grlický Bc. Rastislav Habala Bc. Richard Krupa Bc. Vladimír Marko Bc. Peter Diko Bc.

More information

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2008, vol. LIV, article No. 1632

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2008, vol. LIV, article No. 1632 Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2008, vol. LIV, article No. 1632 Sylvia ROVŇÁKOVÁ *, Ondrej LÍŠKA ** LASER CUTTING MACHINE AND OPTIMISATION OF INPUT PARAMETERS

More information

SIMULÁTOR 3D TISKÁRNY SIMPLE 3D PRINTER SIMULATOR

SIMULÁTOR 3D TISKÁRNY SIMPLE 3D PRINTER SIMULATOR VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS SIMULÁTOR 3D

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS JEDÁLNY LÍSTOK

More information