Poročilo

Uvod

Igro Space Invaders smo razvijali Damjan Jelenko, Marko Pranjić  in Tadej Ganza (3.letnik). Igra se zgleduje po stari arkadni igri z istim imenom, vendar prenašamo staro 2D tehnologijo v 3D. Igro poskušamo še naprej ohranjati v arkadnem slogu, zato smo premikanje omejili le v vodoravni smeri. Hkrati pa smo dodali življenjske točke, tako da naše plovilo lahko zdaj preživi več strelov preden se uniči. Statične formacije so zamenjane z dinamičnimi, tako da različne stopnje niso enolične in zabava traja dlje. Prav tako smo dodali tudi šefe, ki poleg močnejših izstrelkov in večjega števila življenjskih točk premorejo tudi nekaj umetne inteligence.

Razdelitev dela


Pri razdelitvi dela smo poskušali vsi dobiti vsaj občutek za osnovo programiranje iger v XNA. Osnovne funkcionalnosti, kot so premikanje, nalaganje modelov, rotacija, streljanje,… smo naredili v večini skupaj. Nato smo začeli razvijati na različnih področjih.

Premikanje in streljanje


Odgovornost je prevzel Damjan. Damjan je v celoti napisal premikanje nasprotnikov in našega plovilo. Implementiral je animacijo nagiba plovila pri nagibu mobilne naprave. Prav tako se nasprotniki premikajo po različnih poteh. Preverjanje če je nasprotnik zadet in če je naše plovilo zadeto je omogočeno z navidezno kroglo okoli modela (BoundingSphere), ki se najbolje prilega modelom.

Modeli


Modeli so delo Marka, ki je vse modele naredil s programom Autodesk Maya. Inspiracija za naše modele so bili nezemljani iz starejše različice igre Space invaders. Prav tako so osnovne barve modelov enake kot v lanski različici projekta.

Umetna inteligenca


Umetno inteligenco za šefa Cho je napisal Marko. Cho išče izstrelke, ki bodo trčili vanj vsakih 5 posodobitev v igri. Preveri vse izstrelke in pogleda, če bo njegova pot čez določen čas v njegovi globini, nato še preveri ali bosta s tem izstrelkom trčila, če ne spremeni smeri. Tako se odloči, če je potrebna zamenjava smeri ali lahko naprej napada po svoji poti. Prav tako spremeni smer ob zadetku, da bi se izognil morebitnemu pritisku ob steno. Gath je ogromno plovilo, ki se težko premika. Vendar njegova moč je v tem, da ima v sebi mnogo enot, ki ga ščitijo ob napadu. Njegove enote tvorijo manjše formacije, ki poskušajo prestreči naše izstrelke. Ob manjšem številu življenjskih točk zamenjajo formacijo in se najšibkejši prestavi v zadnjo vrsto. S preformacijo omogočajo daljše življenje formacije in dlje ščitijo Gatha. Zix je močnejša različica Choja. Zix ima večjo moč in strelja več izstrelkov hkrati, vendar počasneje kot Cho. Prav tako se Zix poskuša umakniti izstrelkom, vendar je gibljivost zamenjal za moč in je zaradi tega zelo okoren v primerjavi z Chojem. Agresivnost je njegova posebnost, saj prejšnja šefa nista napadala direktno našega plovila, ampak sta poskušala čim dlje preživeti, med tem ko Zix išče najhitrejši način, da uniči naše plovilo.

 

Plan dela


Za končno igro smo načrtovali razviti naslednje funkcionalnosti:
  • 3D
  • Omogoča premikanje levo in desno
  • Streljanje ob dotiku zaslona
  • Nadgradnja ladje(zbiranje denarja in nakup)
  • Različna glasba pri šefih
  • Nastavljiva jakost glasbe
  • Snemanje dvoboja proti šefu(replay)
  • Zvočni efekti (streljanje, zadetek)
  • Napisano v XNA
  • Umetna inteligenca šefov
  • Kamikaze
  • Zaznava točk na sliki in generiranje teles (meteorjev)
  • Dinamično kreiranje stopenj

 

Že razvito


Igra je razvita do stopnje, kjer lahko nemoteno plujemo in se bojujemo z nasprotniki. Prav tako šefa Cho in Gath delujeta. Zvoki ob vseh akcijah delujejo tako kot je bilo mišljeno, prav tako so vsi modeli dokončani in jih lahko vidimo v igri. Šefi in kamikaze so zadosti “pametni” in predstavljajo dober izziv. Kamikaze, šefi in ostali nasprotniki nas napadajo skozi stopnje v večjih številih in z močnejšimi izstrelki. Prav tako se število nasprotnikov v formaciji povečuje preko stopenj in tako tvorijo nove formacije.

 

V tem trenutku nedokončano


Igro je potrebno začeti pri prvi stopnji vsakokrat, ko počenemo “Adventure mode”. To trenutno še ne predstavlja težav, saj še ne moremo nadgrajevati plovila. Prav tako ne shranjujemo niti zaslonskih slik, ker se igra ne nadaljuje in dvobojev s šefom ne snemamo. Zaznava točk na sliki je še v razvoju, saj je mišljena za drug igralni način, ki ga še nismo začeli razvijati.

Nadgradnje


Umetna inteligenca


Možno je nadgraditi umetno inteligenco šefov in tudi nadnih nasprotnikov. Pri navadnih nasprotnikih bi lahko ščit, ki ne strelja, lahko prestregal metke, ki bi zadeli formacijo, zato bi bil prvi v vrsti in bi se premikal skupaj s formacijo in od levega do desnega roba formacije. Prav tako lahko nadgradimo umetno inteligenco šefov, da postajajo vsako srečanje bolj in bolj agresivni.

PVP


Nov način igre, kjer se dva igralca pomerita v svojih sposobnostih proti Khajem. Igralca igrata vsak na svoji napravi in nasprotniki se obema pojavljajo hkrati in izberejo isto formacijo ter pot, tako da imata isti scenarij. Občasno bi se jima še prikazal kateri od šefov, ki bi se pa premikal po normalni poti. Zmaga tisti igralec, ki dlje preživi.

Nadgradnje ladje


Ladjo bi bilo možno nadgrajevati z denarjem, ki ga služimo z ubijanjem nasprotnikov. Nadgradnje bi se sproti dražale, kjer bi lahko tudi naredili kakšno opcijo za nakup zlatnikov z evri preko trgovine.

Zgodba


Po dolgi ekspediciji v galaksijo Scarr se naša ekipa vrača domov, vendar nam našo mirno plutje onemogočajo nezemljani rase Kha. Khaji niso gostoljubi in napadejo naše plovilo, ker smo zapluli v njihovo galaksijo. Njihovi napadi se skozi čas stopnjujejo in nas napadajo v vse večjem številu. S tem se naša avantura šele začenja… Po neštetih izstrelkih in premaganih nasprotnikih Khaji vidijo, da nismo mala malica in pošljejo v boj njihove poglavarje Cho, Gath in Zix. Ti so dosti močnejši in večjih od prejšnjih Khajev in se borijo za obstoj svoje rase, zato je bitka toliko bolj napeta.


Zaključek


Delo se še ni zaključilo, saj je še dosti stvari, ki jih lahko dodamo in izboljšamo. V trenutnem stanju je igra igralna, vendar še ni pripravljena za širšo javnost. Z delom bomo poskusili še nadaljevati v prihodnje, vsaj do končnega zagovora projektov in izpolniti čim več zadanih ciljev, če ne celo kakšno izboljšavo.

Dodaj odgovor

Tvoja e-pošta ne bo objavljena.

Lahko uporabite HTML značke in atribute: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>