Meeskond:Raggakana

From EIK wiki

Raggakana

Liikmed

  1. Aap Kaur Suvi
  2. Indrek Jõgi
  3. Murdho Savila
  4. Sandra Niinepuu - projektijuht

Projekt

3-D mäng Unity platvormil Raggakana: Chicken Fights the System

Tegemist on põneva 3-D seiklusega, mis viib mängija tööstusliku kanafarmi karmi maailma. Kana peab põgenema vangistusest ja vabastama ka oma liigikaaslased, kuid teel on hulk erinevaid takistusi.

Vahendid

  • Unity
  • Blender

Analüüs

Google Drive'i link

Analüüsi loetavama formaatimisega leiab Google Drive'ist Raggakana: analüüs

Mängu disain

Sisukokkuvõte

Raggakana on 3-D seiklusmäng, mille tegevus toimub 21. sajandi kanafarmi karmis reaalsuses. Raggakana on alguses tavaline kana, kes elab tööstuslikus kanaliha tootmise farmis puuris. Ühel päeval sööb kana geneetiliselt muundatud seemneid, mis annavad talle erakordsed vaimsed ja füüsilised võimed - temast saab Raggakana. Koos uute võimete tärkamisega saab ta teadlikuks oma vangistusest ja avastab enda ja teiste farmikanade kannatused. Raggakana alustab võitluslikku teekonda enda ja teiste kanade vabastamiseks. Sel teel üritavad teda takistada ja tappa nii teised kanad, kes on veel pimedusega löödud, kui ka inimesed. Võitle koos Raggakanaga teekonnal orjusest vabadusse, astudes vastu katsumustele kanafarmis.

Mängu käik (Gameplay)

Raggakana on võitluslik mäng, kus Raggakana peab alistama oma vastased eesmärgiga vabastada kõik kanafarmi kanad. Raggakana vastased on inimesed ja teised kanad, kes ei saa veel oma õnnestust olukorrast aru, peavad elu mugavaks ja sõdivad seetõttu vabadusele vastu. Raggakana peab vastased alistama või enda poole võitma lõppeesmärgiga farm vabastada ja jõuda välja õue. Raggakana võitlusvahenditeks nokalöögid ja munadega viskamine. Samuti arenevad Raggakanal aja jooksul välja uued võimed. Raggakana seikleb ringi mööda kanafarmi alistades vastaseid ja proovides leida liitlasi. Kana teekond algab hetkest, mil ta on juba söönud juhuslikult tema puuri sattunud geneetiliselt muundatud seemneid. Ta intellekt on tänu nendele kasvanud punktini, kus ta alustab toimuva märkamist. Tänu suurenenud jõule on ta võimeline murdma end puurist välja ja alustab teekonda, et leida vastuseid ja vabastada teisi kanu, kes tihti ei tea, mida vabadus tähendab.

Õhkkond (Mindset)

Raggakana on vabadusvõitleja, kes võitleb kanade elamisväärse elu ja eetilise kohtlemise eest. Mäng kombineerib endas düstoopilise maailmakäsitluse konflikti revolutsiooniliste elementidega. Et mitte teha mängu liiga süngeks või poliitiliseks, on kõik lahendatud läbi sürreaalse ja humoorika võtme. Võtmesõnadeks on sürreaalsus, vastupanu, eneseteostus, vangistus, vabaduseiha ja kana.

Tehniline

Vaated (Screens)

Peamenüü New Game, Controls, Quit Mäng HUD

Kontrollerid (Controls)

Karakteri liigutamine toimib W,A,S,D klahvide ja XBox’i kontrolleri abil. Hiireklahv1 abil on võimalik kasutada pikamaa rünnakuid ja hiireklahv2 abil on võimalik sooritada lööke. Tühiku abil on võimalik hüpata.

Mehaanika (Mechanics)

Mäng kasutab Unity keskkonna standardse füüsika elemente, mis võimaldavad hallata kehade kokkupuuteid, mängufüüsikat ja efekte. Eesmärk on võimalikult palju mängu mehaanikast realiseerida Unity-siseste vahenditega.

Levelite disain

Teemad

  1. Kanafarm - puurid
    1. Meeleolu

Sünge, sürreaalne, rusuv

    1. Olemid

Taustal Puurid Tootmisliin Tootmishoone Tara

      1. Interaktiivsed

Kanad Töötajad Seemned

  1. Hoov
    1. Meeleolu

Hele, värviline, vabastav

    1. Olemid

Taustal Puud ja rohelus Aed Hooned

      1. Interaktiivsed

Kanad Töötajad Seemned

Mängu käik (Game Flow)

  1. Mängija alustab kanafarmi tootmiskompleksis.
  2. Mängija liigub mööda puure otsides väljapääsu.
  3. Kana sööb teel seemneid, et koguda energiat.
  4. Teel peab kana võitlema teiste kanade ja töötajatega.
  5. Pärast võitlust liigub kana edasi farmi hoovi poole.
  6. Hoovis otsib kana seemneid ja võitleb vastastega.
  7. Kana peab liikuma läbi hoovi, et lõppvõitluses võita farmi boss

Arendus

Platvormi kirjeldus

Mängu loomiseks kasutatakse mänguarendusplatvormi Unity3D 4.6 C# programmeerimiskeeles. 3D mudelid luuakse Blenderi abil või võetakse Unity Assetstore’ist. Mängu tegevus toimub isomeetrilises 3D 3rd Person vaates. Kood on organiseeritud klassidest ja valmis 3D komponentidest. Koos klassidega luuakse Unity assetid, mis võimaldavad maksimaalset korduvkasutatavust. Mängud helifailid tulevad kas Unity Assetstore’ist või kasutatakse CC litsensiga materjale internetist.

Komponendid

  • BasePlayer
  • BaseEnemy
  • PlayerController
  • EnemyController
  • PlayerAttack
  • EnemyAttack
  • PlayerFeed

Baasfunktsionaalsus (must have)

  1. Mängija kontrollid, liikumine, võitlemine, seemnete nokkimine, munemine
  2. Vastased liiguvad kana suunas ja üritavad teda rünnata
  3. Mängija ja vastased surevad elupunktide otsalõppemisel
  4. Energia riba, mis näitab kui palju energiat on kanal rünnakuteks (taastub aja jooksul)
  5. Kana elude riba
  6. Puntkiarvestus
  7. Vähemalt 2 levelit

Lisafunktsionaalsus (nice to have)

  1. Mitmed levelid
  2. Kana suhtleb teiste tegelastega
  3. Lisaks tootmishoonele ja hoovile tegevuskohana kontor ja labor
  4. Custom assetid (3D mudelid)
  5. Võimalus salvestada ja laadida
  6. Mitu keerukuse astet
  7. Oculus Rifti tugi

Graafika

Stiili elemendid (Style Attributes)

Mäng on stiililt sürreaalne, musta huumoriga, irooniline teos. Siseruumid on sünged, lillakates ja sinistes toonides, millele pakuvad kontrasti värvilisemad välisstseenid, mis on valguküllased ja helgetes toonides. Mängu välimus on multika sarnane rõhudes veidrusele ja ei taotle suurt realismi. Kõik olemid on 3D mudelid, enamus neist on ajapiirangu huvides tasuta assetid, mida on võimalik Unity AssetStore’i abil saada.

Kasutaja interaktsioonid keskkonnaga on lahendatud visuaalsete efektidega nt osakeste süsteemidega (Particle Systems). Puntkide kogumisel või elude kaotamisel on vastavad arvväärtused kajastatud ekraanil. Tegelase surm on lahendatud kas efekti (nt plahvatus, particle system) või animatsiooniga.

Vajalik graafika (Graphics Needed)

  1. Tegelased

Kanad Peategelane (tegevusetu, jookseb, heidab (pikamaa rünnak nt munaga), lööb nokaga, sureb) Farmi kana (tegevusetu, jookseb, ründab, sureb) Inimesed Töötaja (tegevusetu, kõnnib, ründab, sureb)

  1. Kanala

Puur Tootmisliin Sein Põrand Uks Aken Seemned

  1. Hoov

Muru Puud Aed Taimed Rada Muld ja pori

Heli/muusika

Stiili elemendid (Style Attributes)

Mängu helid on sürreaalsed ja mutlikalikud. Heliliselt sobiks eeskujuks 50ndate USA low budget ulmefilmi muusika. Helide eesmärk on suurendada veidrussensatsiooni ja pakkuda põnevat tagasisidet interkatsioonidele. Muusika peab looma igale levelile kohase meeleolu. Siseruumid on süngemad ja väliskeskkonnad helgemad.

Vajalikud helid

  1. Efektid

Liikumine ja kaagutamine Hüppamine

  1. Tagasiside

Pikamaa rünnak Nokalöök Terade nokkimine Vigasaamine Võitlushüüd Tegelase surm

Vajalik muusika

  1. Sünge elektrooniline kanala muusika
  2. Pehme DUB hoovis
  3. Heroiline lõpumuusika

Ajakava

Põhiolemite loomine Karakterid Peategelane Liikumine Põhiinteraktsioonid Vastased Keskkond Baaslevel Skooriarvestus (punktid, energia, elud) UI Interaktsiooniefektid ja animatsioonid Peamiste tegevuste täiendamine efektide ja animatsioonidega Tegalaste omavaheline interaktsioon Tegelaste ja maailma interaktsioonid Eelneva silumine Keskkonna iteratsioon 2 Levelite disain Olemite paigutus Interaktsiooni tingimused Visuaalne silumine Keskkonna eriefektid Peamenüü loomine Levelite lisamine Uue leveli loomiseks vajalikud iteratsioonid Uued võitlusvõtted Tegelaste vaheline suhtlusinteraktsioon Heli disain Muusika Lisafunktsionaalsus

Prototüüp

Prototüübi leiab siit. Pakituna Build01.zip failina on raggakana.exe ja kõik koodifailid.

Prototüübi seadistamise juhend

Kui zip on lahti pakitud ja nii exe kui Data on olemas, saavad Windowsi kasutajad mängu exe failist käivitada.

Lõpptoode

Lõpptoote leiab siit.

Käivitamine käib samamoodi, kui prototüübiga.

Esitluse slaidid

Mängu kontrollid:

  • WASD - liikumine
  • vasak hiirklahv - laser
  • parem hiireklahv granaat
  • hiire liigutamine - kana pööramine