Kahurid: Difference between revisions
(142 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Programmeerimine CSharp keeles]] | [[Category:Programmeerimine CSharp keeles]] | ||
= Kirjeldus = | = Kirjeldus = | ||
Põnev tankimäng, mida saab mängida kahekesi või üksi. Meenutab kunagist telekamängu tanki, aga seal on mõningad lisad, mis teevad mängu huvitavamaks. Mäng koosneb kolmest levelist, kui oled kõik levelid läbinud, oledki mängu võitja. Leveli lõpus öeldakse, milline mängija võitis ja kui palju ta laske tegi. | |||
= Lõpptoode = | |||
On [http://www.upload.ee/files/3887281/Kahurid_lopptoode.rar.html siin] koos arendusprotsessi kirjelduse, kasutajajuhendi ja lahenduse kirjeldusega. | |||
= Prototüüp = | |||
Arendusprotsessi käigus on tekkinud mõningaid huvitavaid mõtteid, mida võiks mängu lisada. <br /> | |||
Nimekiri funktsionaalsusest, mida plaanime veel teostada: <br /> | |||
1) Täiendada veelgi olemasoleva kasutaja poolse tanki võimeid tervikuna. <br /> | |||
2) Vaenlase tank peaks muutuma veelgi targemaks. <br /> | |||
3) Luua kõik kolm levelit, hetkel on vaid üks. <br /> | |||
4) Helid. <br /> | |||
5) Kuuli tabamine ja igale tankile health bar ehk kui palju elusid on tal alles. <br /> | |||
= Analüüs = | = Analüüs = | ||
Tegemist on arvutimänguga Kahurid, mille loome XNA arenduskeskkonnas. Mängul on kolm erinevat tasandit ehk levelit. Mängu saab mängida nii üksi kui kahekesi, kasutades arvuti klaviatuuri. Vastavalt sellele, tekib enne mängu ekraanile valik. Levelites eksisteerivad seinad, mida saab lasta ja seinad, mis on liikumise takistamiseks ja mida ei saa katki lasta. Mänguväljal on mõningad alad, mille peale minnes tanki näeb väga halvasti ehk neid kutsutakse metsaaladeks. Kasutajatel on üks ehitis, mille hävimisel on kasutajad automaatselt kaotanud. Seega, peavada kasutajad seda ehitist kaitsma. Järgmisesse levelisse saab, kui oled hävitanud eelmises levelis kõik vastased. Mängitakse ja liigutakse pisikeste tankidega, mis tulistavad kuule. Mänguväljale tekivad teatud aja tagant märgid, mida kogudes võivad tankid saada endale juurde teatud omadusi, nagu näiteks: viis lisaelu, liikumiskiirendust 15 sekundiks, kuulide immuunsuse kasutajale üheks minutiks, vastase tankile 30 sekundiks, 2X kiirema liikumisega kuulid terveks mängu ajaks või tuumapommi, mis võtab kõigilt vastaste tankidelt kolm elu vähemaks. Märgid tekivad peale iga 20 sekundi möödumist viimaste märkide kadumisest. Märgid püsivad mänguväljakul vaid 15 sekundit. Märke tekib korraga viis tükki suvaliselt erinevatesse mänguvälja osadesse. Kõigil tankidel on ühesugused kiirused, aga kui tank saab tabamuse, siis ta kiirus muutub aeglasemaks. Tabamus võrdub ühe elu kadumisega. Vastaste tanke tekib I levelis 5 tükki korraga, vastaseid on kokku 20. II levelis 7 tükki korraga, vastaseid on kokku 21. III levelis 10 tükki korraga, vastaseid on kokku 30. Kui üks vastaste tank hävitatakse, tekib kohe uus vastaste tank juurde. Vastaste tankid tekivad suvaliselt ühes kolmest mänguvälja punktis, mis on vastaspool kasutajate kaitseehitist. Tankid saava end pöörata 360° ümber oma telje, seda saab taha nii sõidu ajal kui paigal olles. Kõikide tankide kuulid on algul ühesuguse kiirusega. Vastaste tankid on alati halli värvi, aga kasutajad saavad valida kolme erineva värvi: rohelise, sinise ja punase vahel. Kui vastaste tank lastakse õhku, siis tekib sellele vastav heli, kasutaja tanki hävimisel on heli teistsugune. Kui kasutajate kaitseehitis hävitatakse, kostab kõva plahvatuse heli. Peale iga leveli võitmist näidatakse kasutajale tanki punktide ja laskude arvu. Kui kasutaja laseb oma kuuli vastase tanki kuuli pihta, siis see muudab vastase kuuli kahjutuks. Vastaste omavaheline ja kasutajate omavaheline teineteise laskmine ei võta elusid maha. Mängul on olemas pausi funktsioon, aga puudub võimalus mängu salvestada.<br /> | |||
Tankimängu eesmärgiks oleks lihtsalt iseenda proovilepanek ja jõukatsumus, et kas oleks võimalik mäng üldse läbi teha. Viimases levelis tuleb väga palju tanke korraga sind ründama ja see teeb mängu raskeks. Mängijal võiks tekkida oskus ja võime hakkama saada antud leveli tingimustes ning proovida seda ära kastutada iseenda huvides, et võita. See võib olla raske, aga teostatav. | |||
Märkide korjamise võimalus annab mängule kindlasti põnevust ja lõbu juurde, kuna tekitab uusi situatsioone. Seega üldplaanis on tegu meelelahutusliku põnevusmänguga. Kindlasti oleks üks selle mängu eesmärke teada saada, kui raske on sellist esmapilgul lihtsat mängu üldse valmis programmeerida ehk realiseerida.<br /> | |||
Tavakasutaja saaks seda mängu lihtsalt mängida, sellest lõbu tunda ja meenutada nostalgilisi kuldseid aegu, kui seda mängu sai nautida telekamänge mängides. Nüüd oleks see mäng lihtsalt uuemas kuues. Kui kunagi tulevikus on huvilisi, võib muuta selle multiplayer mänguks, mida võiks mängida teineteise vastu neljakesi. Kindlasti võiks tavakasutaja olla endaga väga rahul, kui ta suudaks mängu läbi teha.<br /> | |||
Meie näme siin kõige raskemini realiseeritavamana märkide süsteemi sidumist tankidega ja nende funktsionaalsuse loomist. Tundub hetkel, et see võib väga palju aega võtta, kuna märke on palju erinevaid, nad peavad mõjuma erinevalt ja tegema erinevaid asju. Kindlasti võib üheks parajaks jõukatsumuseks olla automaatsete tankide loomine, mida kontrollib puhtalt arvuti. Arvuti tankid ei tohiks olla liiga agressiivsed aga samas ka mitte liiga passiivsed. Loodame, et saame sellega hakkama. Isiklikult sooviksin näha mängus häid graafilisi lahendusi ja helieffekte, kuna see lisab mängule vürtsi ja ilu juurde. | |||
== Must have == | == Must have == | ||
* | *Kolm erinevat levelit. | ||
*Vaenlased ehk automaatselt liikuvad tankid | *Vaenlased ehk automaatselt liikuvad tankid. Peale igat levelit hakkab tanke rohkem korraga tulema. | ||
*Üks või kaks inimest saavad korraga mängida. | *Üks või kaks inimest saavad korraga mängida. | ||
*Igal tankil on vaid viis elu ehk teda võib viis korda lasta. | *Igal tankil on vaid viis elu ehk teda võib viis korda lasta. | ||
*Peale igat tabamust muutub tank natukene aeglasemaks. | |||
*Kaitseehitis, mida kasutajapoolsed takid peavad valvama ja vastased peavad hävitama, et võita. | *Kaitseehitis, mida kasutajapoolsed takid peavad valvama ja vastased peavad hävitama, et võita. | ||
*Lasu- ja punktiarvestus igal | *Lasu- ja punktiarvestus igal tankil, välja arvatud vastase tankil. | ||
*Märgid, mida korjates saab tank endale boonuse. | *Märgid, mida korjates saab tank endale boonuse. | ||
*Mõlemat kasutajapoolset tanki saab juhtida klaviatuurilt. | *Mõlemat kasutajapoolset tanki saab juhtida klaviatuurilt. | ||
*Helid (tankide sõitmine, plahvatused, kuulitabamused). | *Helid (tankide sõitmine, plahvatused, kuulitabamused). | ||
Line 21: | Line 39: | ||
*Multiplayer (väga oleks soovinud panna must have-i alla, aga tundub olevat realiseerimise osas liiga keeruline ja aeganõudev). | *Multiplayer (väga oleks soovinud panna must have-i alla, aga tundub olevat realiseerimise osas liiga keeruline ja aeganõudev). | ||
*Üliilus graafika (see võtaks vist liiga palju aega). | *Üliilus graafika (see võtaks vist liiga palju aega). | ||
* | *Randomiga muutuvad levelite maastikud (tundub keeruline). | ||
*Kui mäng oleks 3D-na. | *Kui mäng oleks 3D-na (võtaks liiga palju aega). | ||
*Oleks tore, kui automaatselt liikuvad tankid suudaksid hästi leida kasutaja tanke ja kaitseehitisi üles ning neid rünnata ehk automaatsed tankid ei | *Oleks tore, kui automaatselt liikuvad tankid suudaksid hästi leida kasutaja tanke ja kaitseehitisi üles ning neid rünnata ehk automaatsed tankid ei tohiks olla väga lollid. | ||
*Pac-Man stiilis augud seinas, millest läbi minnes saaks jõuda teisele poole mänguväljakule (minu arvates see idee pole nii hea, kuna tegelikult võib see kasutaja elu palju raskemaks muuta. Idee vajab lisaanalüüsi). | |||
= Pildid Mängust = | = Pildid Mängust = | ||
[[File: | [[File:menuu.jpg|200px|middle|Mängu menüü]] | ||
[[File:1Levell.jpg|200px|middle|1. level]] | |||
[[File:2level.jpg|200px|middle|2. level]] | |||
[[File:3level.jpg|200px|middle|3. level]] | |||
<br /> | |||
Siin on mõned pildid menüüst ja levelitest. | |||
= Tööjaotus = | = Tööjaotus = | ||
*'''Kristjan Tõnismäe''' - projektijuht, kasutaja poolt juhitavate tankide loomine | *'''Kristjan Tõnismäe''' - projektijuht, testimine, kasutaja poolt juhitavate tankide loomine | ||
*'''Andreas Plado''' - tankide ja märkide | *'''Andreas Plado''' - testimine, kaitseehitise loomine, tankide loomine, tankide ja märkide funktsionaalsus | ||
*'''Kullo-Kalev Aru''' - levelite kujundus, levelite loomine | *'''Kullo-Kalev Aru''' - levelite kujundus, levelite loomine, levelite vaheliste akende loomine | ||
*'''Xiangwei Zuo''' - testimine, | *'''Xiangwei Zuo''' - testimine, tankide ja märkide kujundus | ||
*'''Jaan Kängsepp''' - automaatselt liikuvate tankide loomine | *'''Jaan Kängsepp''' - testimine, automaatselt liikuvate tankide loomine | ||
Mängu loomise käigus võib midagi veel jaotuse osas muutuda. | |||
= Retsensioonid = | |||
Esimene retsensioon on koostatud meeskonna [https://wiki.itcollege.ee/index.php/Tech_Support Tech Support]analüüsi kohta ja retsensioon asub [https://wiki.itcollege.ee/index.php/Talk:Tech_Support siin]. <br /> | |||
Teine retsensioon on koostatud meeskonna [https://wiki.itcollege.ee/index.php/Void Void]prototüübi kohta ja retsensioon asub [https://wiki.itcollege.ee/index.php/Talk:Void siin]. <br /> | |||
Kolmas retsensioon on koostatud meeskonna [https://wiki.itcollege.ee/index.php/Kajarist Kajarist] lõpptoote kohta ja retsensioon asub | |||
[https://wiki.itcollege.ee/index.php/Talk:Kajarist#Retsensioon_meeskonna_Kajarist_m.C3.A4ngu_l.C3.B5pptootele siin]. <br /> | |||
= Log = | = Log = | ||
Line 46: | Line 77: | ||
==== 04.november 2012==== | ==== 04.november 2012==== | ||
*Analüüsi koostamine, lehe täiendamine | *Analüüsi koostamine, lehe täiendamine, pildi lisamine | ||
==== 06.november 2012==== | |||
*Meeskonnaga kokkusaamine, arutamine | |||
==== 11.november 2012==== | |||
*Analüüsi retsensiooni esitamine meeskonnale Tech Support | |||
==== 25.november 2012==== | |||
*Prototüübi esitamine | |||
==== 02.detsember 2012==== | |||
*Prototüübi retsensiooni esitamine meeskonnale Void | |||
==== 17.detsember 2012==== | |||
*Lõpptoote esitamine | |||
==== 27.detsember 2012==== | |||
*Lõpptoote retsensiooni esitamine meeskonnale Kajarist |
Latest revision as of 00:28, 30 November 2014
Kirjeldus
Põnev tankimäng, mida saab mängida kahekesi või üksi. Meenutab kunagist telekamängu tanki, aga seal on mõningad lisad, mis teevad mängu huvitavamaks. Mäng koosneb kolmest levelist, kui oled kõik levelid läbinud, oledki mängu võitja. Leveli lõpus öeldakse, milline mängija võitis ja kui palju ta laske tegi.
Lõpptoode
On siin koos arendusprotsessi kirjelduse, kasutajajuhendi ja lahenduse kirjeldusega.
Prototüüp
Arendusprotsessi käigus on tekkinud mõningaid huvitavaid mõtteid, mida võiks mängu lisada.
Nimekiri funktsionaalsusest, mida plaanime veel teostada:
1) Täiendada veelgi olemasoleva kasutaja poolse tanki võimeid tervikuna.
2) Vaenlase tank peaks muutuma veelgi targemaks.
3) Luua kõik kolm levelit, hetkel on vaid üks.
4) Helid.
5) Kuuli tabamine ja igale tankile health bar ehk kui palju elusid on tal alles.
Analüüs
Tegemist on arvutimänguga Kahurid, mille loome XNA arenduskeskkonnas. Mängul on kolm erinevat tasandit ehk levelit. Mängu saab mängida nii üksi kui kahekesi, kasutades arvuti klaviatuuri. Vastavalt sellele, tekib enne mängu ekraanile valik. Levelites eksisteerivad seinad, mida saab lasta ja seinad, mis on liikumise takistamiseks ja mida ei saa katki lasta. Mänguväljal on mõningad alad, mille peale minnes tanki näeb väga halvasti ehk neid kutsutakse metsaaladeks. Kasutajatel on üks ehitis, mille hävimisel on kasutajad automaatselt kaotanud. Seega, peavada kasutajad seda ehitist kaitsma. Järgmisesse levelisse saab, kui oled hävitanud eelmises levelis kõik vastased. Mängitakse ja liigutakse pisikeste tankidega, mis tulistavad kuule. Mänguväljale tekivad teatud aja tagant märgid, mida kogudes võivad tankid saada endale juurde teatud omadusi, nagu näiteks: viis lisaelu, liikumiskiirendust 15 sekundiks, kuulide immuunsuse kasutajale üheks minutiks, vastase tankile 30 sekundiks, 2X kiirema liikumisega kuulid terveks mängu ajaks või tuumapommi, mis võtab kõigilt vastaste tankidelt kolm elu vähemaks. Märgid tekivad peale iga 20 sekundi möödumist viimaste märkide kadumisest. Märgid püsivad mänguväljakul vaid 15 sekundit. Märke tekib korraga viis tükki suvaliselt erinevatesse mänguvälja osadesse. Kõigil tankidel on ühesugused kiirused, aga kui tank saab tabamuse, siis ta kiirus muutub aeglasemaks. Tabamus võrdub ühe elu kadumisega. Vastaste tanke tekib I levelis 5 tükki korraga, vastaseid on kokku 20. II levelis 7 tükki korraga, vastaseid on kokku 21. III levelis 10 tükki korraga, vastaseid on kokku 30. Kui üks vastaste tank hävitatakse, tekib kohe uus vastaste tank juurde. Vastaste tankid tekivad suvaliselt ühes kolmest mänguvälja punktis, mis on vastaspool kasutajate kaitseehitist. Tankid saava end pöörata 360° ümber oma telje, seda saab taha nii sõidu ajal kui paigal olles. Kõikide tankide kuulid on algul ühesuguse kiirusega. Vastaste tankid on alati halli värvi, aga kasutajad saavad valida kolme erineva värvi: rohelise, sinise ja punase vahel. Kui vastaste tank lastakse õhku, siis tekib sellele vastav heli, kasutaja tanki hävimisel on heli teistsugune. Kui kasutajate kaitseehitis hävitatakse, kostab kõva plahvatuse heli. Peale iga leveli võitmist näidatakse kasutajale tanki punktide ja laskude arvu. Kui kasutaja laseb oma kuuli vastase tanki kuuli pihta, siis see muudab vastase kuuli kahjutuks. Vastaste omavaheline ja kasutajate omavaheline teineteise laskmine ei võta elusid maha. Mängul on olemas pausi funktsioon, aga puudub võimalus mängu salvestada.
Tankimängu eesmärgiks oleks lihtsalt iseenda proovilepanek ja jõukatsumus, et kas oleks võimalik mäng üldse läbi teha. Viimases levelis tuleb väga palju tanke korraga sind ründama ja see teeb mängu raskeks. Mängijal võiks tekkida oskus ja võime hakkama saada antud leveli tingimustes ning proovida seda ära kastutada iseenda huvides, et võita. See võib olla raske, aga teostatav.
Märkide korjamise võimalus annab mängule kindlasti põnevust ja lõbu juurde, kuna tekitab uusi situatsioone. Seega üldplaanis on tegu meelelahutusliku põnevusmänguga. Kindlasti oleks üks selle mängu eesmärke teada saada, kui raske on sellist esmapilgul lihtsat mängu üldse valmis programmeerida ehk realiseerida.
Tavakasutaja saaks seda mängu lihtsalt mängida, sellest lõbu tunda ja meenutada nostalgilisi kuldseid aegu, kui seda mängu sai nautida telekamänge mängides. Nüüd oleks see mäng lihtsalt uuemas kuues. Kui kunagi tulevikus on huvilisi, võib muuta selle multiplayer mänguks, mida võiks mängida teineteise vastu neljakesi. Kindlasti võiks tavakasutaja olla endaga väga rahul, kui ta suudaks mängu läbi teha.
Meie näme siin kõige raskemini realiseeritavamana märkide süsteemi sidumist tankidega ja nende funktsionaalsuse loomist. Tundub hetkel, et see võib väga palju aega võtta, kuna märke on palju erinevaid, nad peavad mõjuma erinevalt ja tegema erinevaid asju. Kindlasti võib üheks parajaks jõukatsumuseks olla automaatsete tankide loomine, mida kontrollib puhtalt arvuti. Arvuti tankid ei tohiks olla liiga agressiivsed aga samas ka mitte liiga passiivsed. Loodame, et saame sellega hakkama. Isiklikult sooviksin näha mängus häid graafilisi lahendusi ja helieffekte, kuna see lisab mängule vürtsi ja ilu juurde.
Must have
- Kolm erinevat levelit.
- Vaenlased ehk automaatselt liikuvad tankid. Peale igat levelit hakkab tanke rohkem korraga tulema.
- Üks või kaks inimest saavad korraga mängida.
- Igal tankil on vaid viis elu ehk teda võib viis korda lasta.
- Peale igat tabamust muutub tank natukene aeglasemaks.
- Kaitseehitis, mida kasutajapoolsed takid peavad valvama ja vastased peavad hävitama, et võita.
- Lasu- ja punktiarvestus igal tankil, välja arvatud vastase tankil.
- Märgid, mida korjates saab tank endale boonuse.
- Mõlemat kasutajapoolset tanki saab juhtida klaviatuurilt.
- Helid (tankide sõitmine, plahvatused, kuulitabamused).
Nice to have
- Multiplayer (väga oleks soovinud panna must have-i alla, aga tundub olevat realiseerimise osas liiga keeruline ja aeganõudev).
- Üliilus graafika (see võtaks vist liiga palju aega).
- Randomiga muutuvad levelite maastikud (tundub keeruline).
- Kui mäng oleks 3D-na (võtaks liiga palju aega).
- Oleks tore, kui automaatselt liikuvad tankid suudaksid hästi leida kasutaja tanke ja kaitseehitisi üles ning neid rünnata ehk automaatsed tankid ei tohiks olla väga lollid.
- Pac-Man stiilis augud seinas, millest läbi minnes saaks jõuda teisele poole mänguväljakule (minu arvates see idee pole nii hea, kuna tegelikult võib see kasutaja elu palju raskemaks muuta. Idee vajab lisaanalüüsi).
Pildid Mängust
Siin on mõned pildid menüüst ja levelitest.
Tööjaotus
- Kristjan Tõnismäe - projektijuht, testimine, kasutaja poolt juhitavate tankide loomine
- Andreas Plado - testimine, kaitseehitise loomine, tankide loomine, tankide ja märkide funktsionaalsus
- Kullo-Kalev Aru - levelite kujundus, levelite loomine, levelite vaheliste akende loomine
- Xiangwei Zuo - testimine, tankide ja märkide kujundus
- Jaan Kängsepp - testimine, automaatselt liikuvate tankide loomine
Mängu loomise käigus võib midagi veel jaotuse osas muutuda.
Retsensioonid
Esimene retsensioon on koostatud meeskonna Tech Supportanalüüsi kohta ja retsensioon asub siin.
Teine retsensioon on koostatud meeskonna Voidprototüübi kohta ja retsensioon asub siin.
Kolmas retsensioon on koostatud meeskonna Kajarist lõpptoote kohta ja retsensioon asub
siin.
Log
25.oktoober 2012
- Kokkusaamine
28.oktoober 2012
- Wiki lehe loomine
04.november 2012
- Analüüsi koostamine, lehe täiendamine, pildi lisamine
06.november 2012
- Meeskonnaga kokkusaamine, arutamine
11.november 2012
- Analüüsi retsensiooni esitamine meeskonnale Tech Support
25.november 2012
- Prototüübi esitamine
02.detsember 2012
- Prototüübi retsensiooni esitamine meeskonnale Void
17.detsember 2012
- Lõpptoote esitamine
27.detsember 2012
- Lõpptoote retsensiooni esitamine meeskonnale Kajarist