Meeskond: Trio
Meeskond
Meeskonna liikmed:
- Kristjan Kivisild
- Daniil Kulagin
- Andrei Tverskoi
Idee
Teeme 2D mängu, kasutades C# keelt. Mängu nimeks on "Tanks". Mängu ideeks on korjata objekte ja tulistada teisi tanke.
Analüüs
Tegemist on 2D mänguga, mis on pealtvaates. Mängu kirjutamiseks kasutame programmi Microsoft Visual Studio 2013 ja keelt C#. Mängu põhimõte sarnaneb mingil määral mängule „Pacman“ ja kunagisele ammusele populaarse mängule „Tank“. Selles mängus on nagu pacman’iski omad rajad koos takistustega, kus saab tangiga sõita ning oma ülesannet täita. Eesmärk on juhtida tanki ning tulistada ja hävitada vastas tanke. Lisaks sellele tuleb koguda ka objekte, mida rohkem koguda, seda parem tulemus tuleb ja saab ka mängu võita, kui on kõik lõpuni korjatud. Vastased aga üritavad iga hinna eest takistada mängijat, sõita talle otsa. Mängija ei tohi vastastele otsa sõita, vaid tuleb neist mööda manööverdada, sest kui vastane mängijat kätte saab, on mäng kaotatud ja tuleb alustada otsast peale. Tegemist tuleb single player tüüpi mänguga. Meelelahutust on alati vaja, seega tavakasutajale on see mäng kui meelelahutus ning tekitab hasarti, kuid kindlasti võib see tekitadagi mingil määral ka nostalgiat, kes on taolist mängu aastaid tagasi mänginud. Üritame teha lihtsa, kuid kaasahaarava mängu. Paljudele kasutajatele lähevadki peale sellised lihtsad ja arusaadavad mängud, kus on võimalik oma tulemust parandada ja rekordeid luua, seega on eesmärk kasutajale tuua kohale üks meelde jääv ja kaasahaarav mäng, mis on alati lihtsasti kättesaadav ja tasuta. Kindlasti nõuab mängu tegemine palju tööd ja aega ning kindlasti ka tuleb ette erinevaid problemaatilisi kohti, kuid praegu neid välja tuua on raske, sest see on meie esimene mäng ning hetkel on keeruline öelda, kuidas meil see õnnestub. Oma koodi püüame teha maksimaalselt mugavalt loetatavaks, parandame vigu, kasutades programmi Microsoft FxCop. Otsime parimaid lahendusi mängu tegemiseks ja optimiseerimiseks.
Nimekiri funktsionaalsusest (Must have):
Mängule teostame installi, et iga tavakasutaja saaks meie mängu lihtsalt ja mugavalt endale arvutisse installida. Valmistame map’i ehk kaardi, kus saaks tangiga ringi sõita. Loome erinevad tangid, esiteks kasutaja tangi, mida juhib mängija ise. Mängijal on võimalik juhtida tanki ja tegevused tangiga on järgmised: Juhtida tanki vasakule, paremale, üles, alla ja tangiga tulistada, et teisi tanke hävitada, kes teele ette jäävad. Lisaks enda tangile loome ka teised tangid (umbes 5-6), mida juhib arvuti ja need tangid sõidavad samal ajal ja püüavad takistada mängijat, tanki kätte saada. Mängu huvitavamaks tegemisel loome veel objekte, mida tangiga korjata saab. Objektid tekivad automaatselt random kohtadele ja seega on igakord huvitavam ja põnevam neid koguda, sest kunagi ei tea, kuhu need tekivad. Neid korjatavaid objekte tuleb kõiki ära korjata, siis saab mängus võita. Mängu disaini poole loome ka ise, kõiki objekte ja kujundust joonistame programmis Adobe Photoshop. Kindlasti teeme oma logo mängule. Mängu lisame ka heli, et kasutajal poleks igav vaikuses mängida. Mängu tuleb menüü paneel, kus saab heli välja või sisse lülitada, näha infot mängu koostajate, versiooni kohta, alustada uut mängu ja nupp mängu alustamiseks(„Start“) ning nupp „Pause“. Kuhugi tuleb kindlasti ka mängu staatus, et kas mängija mängib, on pausi peal, kaotas mängu või võitis mängu.
Nimekiri funktsionaalsusest, mis võiks olla (Nice to have):
Mängul võiks olla lisaks single playerile ka multiplayer tugi, see tähendab kas läbi interneti teistega võistelda ja hävitada vastaseid ning koguda erinevaid objekte või mängida ühe klaviatuuri peal koos ühe kuni mitme mängijaga. Lisaks saaks veel teha, et erinevad objektid mida korjata, need võiksid olla erinevad tangi laskemoonad ja muud lisa funktsioonid. Lisaks sellele võiksid olla ka erinevad raskustasemed, kui mäng tundub liiga kerge, siis saab mängu huvitavamaks muuta raskusastme taseme tõstmisega. Mida saaks veel lisada oleks mingi Career mode, kus siis on erinevad ülesanded ja ülesannete täitmisega saab järgmisele levelile. Level - levelilt läheb iga ülesanne järjest raskemaks ja ka muutub huvitavamaks. Lõpus võiks olla ka mingi lõpu missioon, mis tuleb career’i lõpetamiseks ära teha, mis on veidike raskem kui ülejäänud missioonid. Kui inimene mängib üksinda ehk single player, siis menüüs tal võiksid olla abiks cheats, ehk inimene võiks endale ise tõsta mingeid parameetreid ja olla veidi tugevam, teha ennast surematuks, tõsta oma levelit, et kohe saada kõrgemale levelile ja mängida sealt edasi jne.
Lisaks saaks juurde panna igasuguseid boonuseid, mida võiks korjata, näiteks:
1)„teine elu“ – kui sa korjad seda, siis mäng ei lõpe juhul, kui sind hävitati, vaid sa saad „re-spawni“ ja võimalust edasi mängida ja teenida punkte.
2)„soomus“ – kui sa korjad seda, tangid ei saa hävitada sind 5 sekundit.
3)„kiirendus“ – kui sa korjad seda, sinu tank hakkab sõitma kiiremini.
4)„freeeze“ – kui sa korjad seda, teised tangid peatuvad ja seisavad 5 sekundit.
Analüüsi retsensioon meeskonnale "BoxMania"
Meeskonna BoxMania idee on koguda raha, et võimalikult kõrgelt alla hüpata. Raha eest saab osta kaste, millest saab ehitada kõrgema platvormi, kust alla hüpata. Mängu looma hakatakse Unityga windowsile kasutades C# programmeerimiskeelt. Ei oskagi täpselt öelda, et kas Unity kasutamine on meie kursuses hea idee kasutada, see nõuab meeskonaliikmetelt suurt panust õppimisele peale C# keelt ka Unity programmi kasutamist, mis vajab palju lisa aega õppimisele seda, mida meie kursuses meilt tegelikult ei taheta saada. Me arvame, et meeskond seetõttu teeb päris palju liigset tööd, ent kindlasti nad on väga tublid, et võtavad seda tõsiselt ja hakkavad oma eesmärgi nimel tegema suurt tööd. Meeskonna eesmärgid on korrektsed ja on näha, et meeskonnaliikmed näevad ette, mis neid ootab ja mida nad lõpuks tahavad saada ja õppida. Rakenduse sisu on hästi lahti seletatud. Meeldib, et on hästi ja mitme nurga alt läbi mõeldud mäng. Lisaks sellele meeldib, et võetakse appi ka füüsikaseadused, mis on kindlasti mängule suur boonus. Kas pole lahti kirjutatud või pole läbi mõeldud sellist funktsiooni, kui kasutajal saab raha otsa, mis siis saab? Veel jääb veidi segaseks see, mis moodi objekt mööda kaste edasi liikuma peaks? Loodame, et meeskond saab oma rakendusega hakkama, saab palju uut teada ja me kõik lõpuks saame näha midagi päris huvitavat. Soovime edu Teile, BoxMania!
Prototüübi retsensioon meeskonnale "SuperPenguin"
Prototüübi lähtekoodi paigaldamine ning mängu käivitamine brauseris toimus sujuvalt vastavalt koostatud juhendile ning sellega probleeme ei esinenud. Projekti lahenduse üldine struktuur ning ülesehitus on päris korralik. Kõik on ilusti jagatud klassideks ja paigutatud kaustadesse. Mõned klassid on hetkel veel tühjad, aga nendes, mis on tehtud on kood korralik, ilus ja kommenteeritud vastavalt reeglitele.
Projekti lahendus on jagatud nelja kausta:
- AI
- Controllers
- Globals
- Scripts
Mängu visuaalne pool:
Mängu saab juba mängida. Mänguväljakul on vastased, kes liiguvad ja paigaldavad pomme. Pommid plahvatavad nelja sekundi pärast vertikaalses ja horisontaalses suunas. Me saame juhtida meie BomberMani nooltega klaviatuuril. Paigaldada pommi saame vajutades klahvi "Space". Praeguseks näeme, et kui jätta meie Bombermani seisma ühele kohale seinade vahel, siis vastased ei pane pommi kunagi nii, et saaks pihta, vaid panevad pommi Bombermani kõrvale. Testimise jooksul jätsime seisma Bombermani ühele kohale paariks minutiks ning ei saanud pommidega pihta. Kohati jäävad vastased seinade vahele kinni. Seinad ei kaitse meie Bombermani plahvatuse lainest kui me liigume, aga kui seisame, siis ei saa pihta. Kõik vastased ja meie Bomberman on palli kujulised ja ühevärvilised(raske eristada, kes on kes). Seinad on samuti halli värvi ja ruudu kujulised.
Praeguseks realiseeritud "Must have'st":
- Klaviatuuri kasutusvõimalus
- Aluskaart, millel mängijad liiguvad
Mida ootame veel "Must have'st":
- xBox kontrolleri kasutusvõimalus
- Menüü
- Logivõimalus
- AI
- Mängija statistika
- Buffs
- Mängija kiirendamine
- Pommitugevuse suurendamine
- Korraga mängus olevate pommide arvu suurendamine
Soovime edu!
Lõpptoode retsensioon meeskonnale "Hubris"
Meeskond "Hubris" on väga tubli.
1. Lõpptoode sai valmis õigeks ajaks.
2. Meeskonna koduleht on korralik, arusaadav.
3. Mängu kood on kenasti kommenteeritud.
4. Mängu kood on loodud objektorienteeritud lähenemist kasutades.
5. Mängul on silmailu, konkreetsus, korralik idee.
6. Mäng töötab ilusti ja täidab oma ülesandeid, lihtsasti juhitav.
7. Vigu ei ole märgatud. P.S - mängu ei saa hästi testida (lõppuni), kuna ei jaksa läbi saada, raske mäng.
8. Mäng on tehtud erinavatele platvormidele nagu Windows, Linux, Mac. Kahjuks testitud sai ainult Windowsis ja Linuxis.
9. Must havist on kõik realiseeritud.
Arvame, et meeskond sai oma tööga, plaanidega kenasti hakkama ja lõpptoode on päris korralik.
Prototüüp
Protoüübi leiab siit: Link
Kasutusjuhend:
1. Lae alla meie "prototüübi" projekti Visual Studio jaoks.
2. Ava see (Tanks.sln) programmis Visual Studio või vaata niisama kaustas olevaid faile.
P.S - Tanks\Tanks\bin\Debug\Tanks.exe saad avada meie mängu.
Mis on meil praeguseks tehtud:
1. Ilus programmi avamine (Tangi) pildiga, mis laeb 2 sekundit.
2. Start/Pause nupp.
3. Mängu väljak, kus sõidab meie Tank "Packman" ja vaenlased ning kus saab korjata õunu.
4. Oma tanki (sinist värvi) saab juhtida:
A - pöörab vasakule
D - pöörab paremale
W - pöörab ülesse
S - pöörab alla
5. Praeguseks on nii, et tuleb korjata 12 õuna, et võita mängu ja kõik need korjatud õunad näidatakse all pool mängu väljakut.
6. Kui oma Tank (Packman) sõidab vaenlasele otsa, siis on mäng kaotatud.
7. Vaenlased ei sõida teineteisele otsa, vaid pööravad ennast 180 kraadi tagasi.
8. Vaenlastel Tankidel on tehtud animatsioon.
9. Mängu ei saa teha täisekraanile.
10. Vajutades nuppu "Close" ehk paneme mängu kinni, tuleb välja MessageBox, mis küsib, kas me tõesti soovime väljuda või mitte.
11. Mängu ikoonid.
12. Seinad, mille vahel sõidavad kõik meie tangid ja kus asuvad õunad.
13. Peegel - ehk tangid sõidavad teiselt poolt uuesti mänguväljakule ega kao kuhugi.
14. Kõik tangid muudavad oma pilti vastavalt selle kuhu poole nad on pööratud.
15. Vaenlased ja õunad sünnivad alati uuel kohal.
Mida plaanime veel lisada:
1. Mängule installi.
2. Vaenlast, kes jälitaks meie Tanki (Packmani).
3. Raskustasemed.
4. Heli.
5. Meie Tangile (Packmanile) tulistamise võimalust, vaenlaste hävitamist.
6. Menüü, kus saab teha "New Game", välja või sisse lülitada heli jne.
7. Koht, kuhu tuleb mängu staatus välja, kuhu kirjutatakse, kas oleme kaotanud või võitnud.
8. Disainilised tööd.
9. Mängu vigade (bugs) parandamine.
10. Võib olla ka midagi veel, kui leidub mängu kirjutades ideid juurde.
Valmis mäng
Alla laadida saab siit: Link
Arendusprotsessi kirjeldus:
Kõik tööd on tehtud koos. Kasutasime mõnikord programmi Skype. Tihti saime kokku laupäeviti kolledžis.
Kasutajajuhend:
Mängu alustamiseks vajutame nuppu "Play" paremal pool.
Mängus liikumiseks vajutame nuppe:
A - left
S - alla
D - paremale
W - ülesse
Ükskõik millist nuppu teie valikul, peale neid, mis on juba juhtimiseks - tulistamine.
Tasemeid saab muuta menüüs - "Tasemed".
Välja lülitada heli saab menüüs - "Sätted".
Vajadusel saab mängu uuesti alustada - "New Game".
Tuleb korjata 12 õuna, et mängu võita.
Lahenduse kirjeldus:
Teostasime kõik, mida plaanisime. Mäng on valmis.