Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Gymnázium Jozefa Gregora Tajovského
Ako sme vyrobili hru za 17 dní
Martin Žilák, III.F
2013
OBSAH
0 ÚVOD.......................................................................................................................................3
1 SÚŤAŽ ŠPONGIA....................................................................................................................4
1.1 Čo to je?.............................................................................................................................4
1.2 Zadanie...............................................................................................................................4
1.3 Organizátor súťaže.............................................................................................................4
2 TÍM ŽUMPA TALENTOV......................................................................................................5
2.1 Členovia tímu.....................................................................................................................5
2.2 Prečo „ŽuMPA Talentov“?................................................................................................5
2.3 Funkcie členov tímu...........................................................................................................5
2.4 Umelecké mená členov tímu..............................................................................................6
3 PRIEBEH TVORBY HRY.......................................................................................................7
3.1 Okamihy po zverejnení zadania.........................................................................................7
3.2 Prvý týždeň vývoja.............................................................................................................8
3.3 Druhý týždeň vývoja..........................................................................................................8
3.4 Posledné tri dni vývoja.......................................................................................................8
4 VYHODNOTENIE SÚŤAŽE V BRATISLAVE....................................................................10
4.1 Cesta do Bratislavy...........................................................................................................10
4.2 Prezentácia.......................................................................................................................10
4.3 Vyhodnotenie...................................................................................................................10
5 TECHNICKÁ STRÁNKA HRY.............................................................................................11
5.1 Vývojové nástroje............................................................................................................11
5.2 Technológie použité v hre................................................................................................11
6 ZÁVER...................................................................................................................................12
7 ZOZNAM BIBLIOGRAFICKÝCH ODKAZOV...................................................................13
8 PRÍLOHY...............................................................................................................................14
2
0 ÚVOD
V tejto práci by som chcel opísať, ako som sa zúčastnil súťaže Špongia
2012 ako člen víťazného tímu ŽuMPA Talentov. Pokúsim sa objasniť, čo to
vlastne Špongia je, kto boli členovia nášho tímu, postup práce od zadania témy
až po prezentáciu v Bratislave a v neposlednom rade víťaznú hru samotnú.
Projekt z informatiky som si vybral kvôli svojmu zámeru maturovať
z informatiky, pokračovať v jej štúdiu na vysokej škole a nakoniec sa v tomto
obore i zamestnať. Túto, možno trochu neobvyklú, tému som si zvolil kvôli
tomu, že súťaže ako Špongia nie sú veľmi bežné a prevažná väčšina ľudí o nich
s vysokou pravdepodobnosťou vôbec nevie.
V tejto práci sa pokúsim zamerať prevažne na teoretickú časť postupu
vývoja hry, keďže toto je problematika, na ktorú sa často zabúda a je preto často
náročné vytvoriť si predstavu o tom, ako takýto proces v skutočnosti prebieha.
Nakoniec by som sa chcel poďakovať zvyšným členom nášho tímu,
menovite Jurajovi Pančíkovi, Michalovi Krajčovičovi a Anne Lunterovej, za
možnosť tvoriť s nimi jeden tím a získať tak cenné skúsenosti. Vďaku by som
chcel vyjadriť i organizátorom súťaže Špongia, vďaka ktorým sme mali
potrebnú motiváciu s takýmto projektom vôbec začať.
3
1 SÚŤAŽ ŠPONGIA
1.1 Čo to je?
Špongia je súťaž zaoberajúca sa tvorbou počítačových hier. Na internetovej
stránke súťaže sa uvádza informácia
„Špongia je súťaž v programovaní (a kreslení, a ozvučení, atď) počítačových hier. Súťažiacimi sú 1-6 členné tímy žiakov ZŠ, SŠ a gymnázií, ktorí majú vo vymedzenom čase vyrobiť hru podľa zadania.“ 1.
Účastníci súťaže majú teda za úlohu za určený časový interval vytvoriť funkčnú
počítačovú hru podľa zadania. Časový interval bol 18 dní od uverejnenia zadania
(vrátane).
1.2 Zadanie
Zadanie bolo na internetovej stránke súťaže zverejnené 26. októbra 2012. Bolo
ním „Šialená veda a šialení vedci“. Na internetovej stránke bolo zverejnené formou
videa i textového prepisu.
1.3 Organizátor súťaže
Organizátorom súťaže je každoročne Škola pre mimoriadne nadané deti
a gymnázium, skrátene ŠpMNDaG. Na internetovej stránke súťaže sa uvádza
„Názov ŠpMNDaG znamená "Škola pre mimoriadne nadané deti a gymnázium". Táto škola vznikla vtedy ešte pod iným názvom v roku 1993, pričom od roku 1999 bola rozšírená o gymnázium. Teraz je hlavným organizátorom Špongie a v jej budove sa koná aj vyhodnotenie.“ 2.
4
2 TÍM ŽUMPA TALENTOV
2.1 Členovia tímu
Náš tím sa skladal zo štyroch členov, boli nimi Juraj Pančík, Michal
Krajčovič, Anna Lunterová a ja, Martin Žilák. Všetci sme v čase konania súťaže
boli študentmi stredných škôl, menovite Gymnázia Jozefa Gregora Tajovského
a Strednej priemyselnej školy Jozefa Murgaša.
2.2 Prečo „ŽuMPA Talentov“?
Boli sme si vedomí toho, že názov tímu je jeho veľmi dôležitou súčasťou
a že vhodne zvolený nám môže výrazne pomôcť, keďže vďaka nemu budeme
ľahšie zapamätateľní. Pri jeho vymýšľaní sme zvolili relatívne tradičný postup,
pri ktorom sme z mena každého člena tímu vybrali písmeno, ktoré nám
pripadalo výrazné – vždy prvé písmeno mena alebo priezviska – a nakoniec sme
sa z týchto písmen pokúsili poskladať reálne existujúce slovo a ku nemu
následne pripojiť vhodný prívlastok. Keďže sme takýmto postupom dostali slovo
„žumpa“, ktoré nie je veľmi lichotivé, rozhodli sme sa, že ako kompenzáciu
zvolíme prívlastok „talentov“. Nakoniec sme už len písmená, ktoré to
vyžadovali, zmenili na kapitálky a meno tímu bolo hotové.
2.3 Funkcie členov tímu
Veľmi dôležité pre správne fungovanie tímu je aj určenie kapitána tímu a
rozdelenie jednotlivých funkcií. Kapitán nášho tímu bol Juraj Pančík, ktorý mal
ako jediný z nás predchádzajúce skúsenosti s tvorbou počítačových hier. Okrem
toho bol i programátorom. Michal Krajčovič bol zodpovedný za tvorbu
internetovej stránky a grafického užívateľského rozhrania v hre. Anna Lunterová
tvorila grafiku do hry. Mojou funkciou bolo ozvučenie hry a návrh levelov.
5
2.4 Umelecké mená členov tímu
Špongia nám poskytla možnosť zvoliť si prezývky, pod ktorými nás bude
poznať zvyšok súťažiacich i prípadná širšia verejnosť. Túto ponuku sme,
samozrejme, neodmietli a zvolili sme si charakteristické prezývky, ktoré sme
radi označovali ako naše „umelecké mená“. Juraj Pančík bol známy ako „Lord
of Java“, Michal Krajčovič ako „Baron All-Star“, Anna Lunterová ako „Lady
Photoshop“ a ja som vystupoval pod menom „Imperator Walrus“.
Reálne meno Umelecké meno Funkcia
Juraj Pančík Lord of Java Programovanie
Michal Krajčovič Baron All-Star Internetová stránka,
grafické užívateľské
rozhranie
Anna Lunterová Lady Photoshop Grafika hry
Martin Žilák Imperator Walrus Zvuk, Dizajn levelovTabuľka 1 - Členovia tímu
6
3 PRIEBEH TVORBY HRY
3.1 Okamihy po zverejnení zadania
Ihneď po zverejnení zadania sme uskutočnili konferenčný hovor, ktorého
sme sa zúčastnili všetci okrem Anny Lunterovej, ktorá v čase konania súťaže
žila v Kanade a preto bola komunikácia s ňou sťažená. Predmetom
konferenčného hovoru bolo veľmi dôležité rozhodovanie o tom, akým smerom
sa pri tvorbe hry vydáme a aký postup zvolíme. Do zverejnenia zadania sme
nemali o hre prakticky žiadnu predstavu, keďže bez toho, aby sme vedeli, o čom
bude, to bolo nemožné. Po viacerých zahodených návrhoch sme sa nakoniec
rozhodli, že ako štýl hry zvolíme „tower defense“, pri ktorom hráč stavia budovy
a tým určuje, aké jednotky sa budú tvoriť, no samotné jednotky ním ovládané
nie sú. Toto rozhodnutie sme učinili z viacerých dôvodov. Mali sme pocit, že
hry tohto žánru nie sú tak bežné a preto zaujmú, čo sa nám v závere potvrdilo.
Rovnako sme plánovali, že hra v budúcnosti bude vydaná pre platformu
Android, pre ktorú by toto riešenie bolo ideálne vzhľadom na ovládanie
pomocou dotykovej obrazovky.
Obrázok 1 - Prvotný návrh dizajnu levelov
7
3.2 Prvý týždeň vývoja
Počas prvého týždňa vývoja pracoval prevažne Juraj Pančík, keďže bolo
potrebné vytvoriť engine hry, vďaka ktorému bude hra fungovať. Za tento
týždeň bol vytvorený manažér dlaždíc, manažér herných jednotiek, systém pre
načítavanie levelov zo súboru, systém boja jednotiek, inteligencia jednotiek
zabezpečujúca, že budú schopné nájsť efektívnu cestu z bodu A do bodu B,
umelá inteligencia protivníka, vďaka ktorej bol počítačom ovládaný hráč
schopný reagovať na akcie ľudského hráča a hrať tak efektívne, základné
rozvrhnutie grafického užívateľského rozhrania a základné budovy. (Obrázok
z hry po prvom týždni vývoja – príloha A)
3.3 Druhý týždeň vývoja
Počas druhého týždňa vývoja začínala tvorba hry pomaly naberať spád,
celé dni sme premýšľali len o tom, čo do nej bude treba spraviť, keď prídeme
domov. Za druhý týždeň sa nám podarilo vytvoriť nové elementy grafického
užívateľského rozhrania, konkrétne tlačidlá a ikonky, novú hernú menu – tofu –
a vežu, ktorá sa stará o jej tvorbu, budovu, v ktorej hráč dokáže mutovať
jednotky, ktoré daná budova následne generuje, ponuku pre dočasné a trvalé
vylepšenia jednotiek a texty popisujúce funkcie tlačidiel. (Obrázok z hry po
druhom týždni vývoja – príloha B)
3.4 Posledné tri dni vývoja
Počas posledných troch dní sme si uvedomili, aký dôležitý je časový
harmonogram práce a, čo bolo omnoho horšie, koľko vecí ešte nemáme
dokončených. Doba spánku sa skrátila na približne štyri hodiny denne, miera
stresu sa zvýšila niekoľkonásobne. Za tieto tri dni sme boli schopní vykonať
približne rovnaký diel práce, ako za predchádzajúci týždeň. Počas týchto troch
dní vzniklo hlavné menu, nová kompletná grafika zahŕňajúca všetky jednotky,
budovy a levely, grafické užívateľské rozhranie upravené do finálnej verzie, do
8
hry bol implementovaný zvuk jednotiek a boja, hudba v hre a hlavnom menu,
tutoriály, ktoré hráča postupne naučia hrať hru a vtiahnu ho do jej priebehu,
projektily a ich grafické zobrazenie a v neposlednom rade za tieto tri dni
prebehlo veľké množstvo testovania, vďaka ktorému sme boli schopní opraviť
prevažnú väčšinu chýb a nedostatkov. (Obrázok z finálnej verzie hry – príloha
C)
Obrázok 2 - Úvodné logo hry
9
Vykonaná práca
1. týždeň
2. týždeň
posledné tri dni
Graf 1 - Podiel vykonanej práce vzhľadom na čas
4 VYHODNOTENIE SÚŤAŽE V BRATISLAVE
4.1 Cesta do Bratislavy
Po odovzdaní hry a jej otestovaní rozhodcami, ktoré trvalo týždeň, sme
boli pozvaní do Bratislavy na ŠpMNDaG, kde sa konali prezentácie hier
samotnými tímami, hodnotenie prezentácií a následné slávnostné vyhodnotenie
celej súťaže. Do Bratislavy sme cestovali vlakom, čas v ňom sme strávili
tvorbou a nácvikom prezentácie. Vyhodnotenia sme sa zúčastnili všetci okrem
Anny Lunterovej, ktorá v tom čase stále žila v Kanade.
4.2 Prezentácia
Samotné prezentovanie prebiehalo v náhodnom poradí, náš tím
prezentoval ako tretí od konca. Tím mal právo ohodnotiť každú prezentáciu
bodmi v rozmedzí 0 – 5. Po prezentáciách nastal čas na prestávku na obed, počas
ktorej porotcovia vyhodnotili súťaž a vyrobili diplomy.
4.3 Vyhodnotenie
10
Po návrate z obednej prestávky sme si vypočuli záverečné hodnotenie,
kedy sme sa dozvedeli, že sme sa umiestnili ako prví s počtom bodov 97
z maximálneho možného počtu 100 a súťaž tak vyhrali. Okrem vzácnych
skúseností a pekných spomienok sme si so sebou odniesli aj diplomy obohatené
o odtlačky prstov porotcov a pekné hmotné ceny.
11
5 TECHNICKÁ STRÁNKA HRY
5.1 Vývojové nástroje
Pri tvorbe hry je potrebné použiť mnoho vývojových nástrojov, preto
som sa rozhodol ich iba v stručnosti zhrnúť. Na písanie programu bol použitý
nástroj NetBeans, na tvorbu grafickej stránky boli použité programy Adobe
Photoshop, GIMP i Microsoft Paint, na tvorbu internetovej stránky PSPad. Ďalej
sme využili Git, distribuovaný systém na správu verzií, konkrétne odnož
Bitbucket.
5.2 Technológie použité v hre
Hra bola vyvíjaná v jazyku Java za použitia knižnice libgdx.
12
6 ZÁVER
Na záver by som chcel zhrnúť, čo mi táto súťaž dala a čo som sa vďaka
nej naučil. Som veľmi rád, že som sa jej mohol zúčastniť a získať tak cenné
skúsenosti z tvorby hry, ktoré môžem v budúcnosti zúročiť, keďže by som sa
tvorbe hier veľmi rád venoval i profesionálne. Rovnako som získal cenné
skúsenosti o tímovej práci, ktorá je pri takomto zamestnaní nevyhnutná a veľmi
dôležitá. V neposlednom rade som si na vlastnej koži vyskúšal, aké je náročné
pracovať v časovej tiesni a ako dôležité je mať čo najpresnejšie rozvrhnutý
časový harmonogram práce.
Ešte raz by som sa chcel poďakovať všetkým, ktorí mi umožnili získať
tieto skúsenosti a tiež všetkým, ktorí si našli čas a chuť si túto prácu prečítať.
13
7 ZOZNAM BIBLIOGRAFICKÝCH ODKAZOV
[1] Oficiálna internetová stránka súťaže Špongia
( http://www.smnd.sk/mikey/PHP/spongia/spongia_2012/ )
[2] Oficiálna internetová stránka súťaže Špongia
( http://www.smnd.sk/mikey/PHP/spongia/spongia_2012/ )
14
8 PRÍLOHY
Príloha A - Obrázok z hry po prvom týždni vývoja
Príloha B - Obrázok z hry po druhom týždni vývoja
15
Príloha C - Obrázok z finálnej verzie hry
16