Meeskond "Projekt Tank": Difference between revisions
Created page with 'Category:Programmeerimine CSharp keeles = Ülevaade = == Intro == Idee on laenatud vanast heast Tanki mängust Battle City. Mäng on läbi aegade säilitanud oma mängitav…' |
No edit summary |
||
(27 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Programmeerimine CSharp keeles]] | [[Category:Programmeerimine CSharp keeles]] | ||
[[File:Screenshot.jpg|600px|thumb|right|Player Vs Player]] | |||
= Kood = | |||
Terve projekt zip formaadis: http://eee.pri.ee/WindowsGame1.zip<br /> | |||
Mängu installer http://enos.itcollege.ee/~jkruusma/tankinstaller.zip <br /> | |||
Klasside struktuur on kujutatud failis ClassDiagram2.cd | |||
= Ülevaade = | = Ülevaade = | ||
[[File:Screenshot.jpg|300px|thumb|right|]] | |||
== Intro == | == Intro == | ||
Line 10: | Line 16: | ||
== Mängu sisu == | == Mängu sisu == | ||
== | Aasta on 2069, maailma on järele jäänud kaks viimast leeri - Rohelised ja Punased. Mõlemad võitlevad enda viimaste järel olevate tankidega terve maailma valitsemise üle. | ||
Et võita maailm enda kontrolli alla peab võitma kolmel maal. | |||
Mõlemal mängijal on igal maal 2 elu. Võitlus käib SURMANI! | |||
== Kuidas Mängida == | |||
Sõidad kaardi peal ringi tankiga ja proovid teist tanki õhku lasta.<br /> | |||
Power Up'id - Ekraanil võib olla korraga 1 kuul või kui oled korjanud D(ouble)-Shoti siis või kaks mürsku korraga lasta. F(ast) Bullet muudab mürsu kiiremaks. Mõlemad power-up'id kestavad 8 sekundit.<br /> | |||
Plokid - Adamantiumist plokid on nii tugevad, et need ei lase tanki kui ka mürsku läbi. Vesi on takistuseks vaid Tankile, kuid kuul lendab seal siiski läbi. Mets on strateegidele möeldud, metsas saab kõike teha, aga varjatult. | |||
== Nupud == | |||
=== Klaviatuur === | |||
F1: Uusmäng<br /> | |||
Player One<br /> | |||
Nool üles: Tanki Suund üles<br /> | |||
Nool alla: Suund alla <br /> | |||
Nool vasakule: Suund vasakule<br /> | |||
Nool paremale: Suund paremale<br /> | |||
Parem Ctrl: Tulistamine<br /> | |||
Player Two<br /> | |||
W: Tanki Suund üles<br /> | |||
S: Suund alla <br /> | |||
A: Suund vasakule<br /> | |||
D: Suund paremale<br /> | |||
F: Tulistamine<br /> | |||
===Xbox=== | |||
A: Tulistamine<br /> | |||
D-Pad: Liikutab tanki<br /> | |||
Vasak pöidlapulk: Liikutab tanki<br /> | |||
= Projekti algne plaan = | |||
* Tank - Juhtimine/Tulistamine, XBoxi tugi | * Tank - Juhtimine/Tulistamine, XBoxi tugi | ||
Line 26: | Line 68: | ||
* Visual Studio Team Explorer | * Visual Studio Team Explorer | ||
== | == Tööjaotus == | ||
* Jaan Kruusma - Projekti juht + | * Jaan Kruusma - Projekti juht + wiki + levelid | ||
* Siim Kündre | * Siim Kündre - Liikumine, tulistamine, power-up | ||
* Madis Kõosaar - Vastased | * Madis Kõosaar - Vastased, Menüü | ||
* Keito Arula - Xbox tugi | * Keito Arula - Xbox tugi | ||
= Hilisem töö = | |||
== Plaanitud Lisad == | == Plaanitud Lisad == | ||
* Power-ups - | * Power-ups - Elud, parem mürsk, 2 pauku korraga | ||
* | * Player Vs Player Mode | ||
* Mitu levelit ja lisa objektid - | * Mitu levelit ja lisa objektid - vesi, puud | ||
* Heli | * Heli | ||
* Vajadusel Graafika upgrade | * Vajadusel Graafika/piltide upgrade | ||
* Koodi parandus | |||
* Paljad naised ja tasuta õlu | |||
= Tähtajaks valminud projekt = | |||
* 2 mängijat | |||
* Xbox puldi tugi | |||
* Tanki elude loendamine, raundide loendamine, võitude loendamine | |||
* Ploki tüübid - mets(saab peitu minna ja ka lasta), vesi(läbi sõita ei saa, aga tulistada saab), kivi(läbi ei tulista ega sõida) | |||
* Kuul/Tank käitub erinevalt vastavalt ploki tüübile | |||
* Power Up - Double Shot ja Fast Bullet | |||
* Levelite parsimine Xmlist | |||
* Erinevad levelid, levelite loomiseks/muutmiseks piisab Xml faili muutmisest. | |||
= Arendus võimalused= | |||
* AI - Kui graafiteooriat tulevikus rakendada saaks ka vastased ekraanile sibima | |||
* Veel rohkem power-up'e ja leveleid | |||
* | * Erinvad mängu mode'd | ||
* | * Highscore - juhul kui vastaseid oleks | ||
* | * Online mänguvõimalus | ||
= Logi = | = Logi = | ||
=== | === Nov 26 === | ||
Installeri lisamine | |||
=== Nov 15 === | |||
Menüü täiendused. | |||
=== Nov 9 === | |||
Peamenüü valmimine. | |||
=== Okt 28 === | |||
Uus power-up fastbullet, kuvatakse F punases kastis. | |||
=== Okt 25 === | |||
Tähtaeg on saabunud - Shoki teraapia ja hardcore viimasehetke töö!!<br /> | |||
Sitt, Sülg, Veri ja Pisarad! | |||
=== Okt 22 === | |||
Käib töö ja vile koos ehk mäng läheb aina paremaks. Üldised täiendused ja mõlema mängija käitumise ühtlustamine. | |||
Levelite tootmine. | |||
=== Okt 20 === | |||
Mängu testimine avatud keskonnas (koolis) | |||
Levelite disainimine. Heli lisamine irrKlangi kaudu jäi ära kuna see keeras ülejäänud referencid metsa ja programm jooksis kokku. Xmli parsimine - vastavalt ploki tüübile lisatakse ploki kordinaadid vastavalt tüübile vastavasse arraylisti. | |||
=== Okt 19=== | |||
Plokkide info on kantud xmli, millega tegeleb eraldi klass. | |||
Puldiga saab nüüd tanki juhtida ja tulistada, kuid joystickiga on veel tegemist. | |||
Leveli kuvamine klassis massiiviga osutus pooleldi läbikukkunuks kuna pakub liiga staatilise lahenduse uute levelite loomisele ning arendus käib xmli kallal. | |||
=== Okt 18=== | |||
Helide mängimiseks võtsime kasutusele irrklangi (credits to Tanel Liiv), mille abil saab väga lihtsalt heli mängida kus vaja. Hetkel käib sobivate helide otsimine. | |||
Lisasime mitmeid uusi klasse. | |||
=== Okt 17=== | |||
Player vs Player mode täiustamine. | |||
=== Okt 14=== | |||
Lisasime player 2-e HP arvutamise ja elude arvestuse (peale x suremise mängib player 1 üksi edasi) ning levelite disain asub nüüd eraldi klassis. Samuti parendasime tankide liikumist. | |||
Team Exploreriga on pidevalt jama, mis tõttu tuleb tihti aega raisata tüütute pisiasjade peale. | |||
=== Okt 13=== | |||
Lisatud teise mängija liikumine kuid veel ei tulista. | |||
Power-up`i loomine, testimiseks ilmub ekraanile kast(läbisõidetav), mille ajal tank saab lasta kaks kuuli ehk ekraanil võib siis kaks kuuli korraga olla. | |||
=== Okt 12=== | |||
Loodi uued klassid koodi paremaks paigutuseks. | |||
Draw ning Update meetodi puhastasimine üleliigsetest kontrollidest, mis paigutati uutesse klassidesse. | |||
=== | === Okt 11=== | ||
Teise mängija lisamine, kes küll veel ei liigu, aga kuuli naudib surematuna. | |||
Kuuli kontrollide parandamine, kokkupõrgete kontroll teise tankiga. | |||
Üldised koodi parandused. | |||
=== | === Okt 4=== | ||
Peale pikka Heiki ahistamist ja piinamist saime enda projekti tööle team exploreriga, et kõigil meeskonna liikmetel on võimalus sama projekti muuta ja ka allalaadida/üleslaadida. Reaalne rühmatöö saab nüüd alata. | |||
Wiki täiendused. | |||
=== 30 | === Sept 30=== | ||
Toimus üldkoosolek, mille käigus räägiti kood kõigile üle ning lisati vajalikud kommentaarid. Jagati uued töö ülesanded. | Toimus üldkoosolek, mille käigus räägiti kood kõigile üle ning lisati vajalikud kommentaarid. Jagati uued töö ülesanded. | ||
Proovisime kasutusele võtta erinevaid tiimi projekti haldamisvahendeid ning lõpuks peatusime Codeplexi peal ja lõime sinna endale konto, mida Visual Studio Team Exploreriga kasutada saaks. Esialgu oli seda keeruline tööle saada... | Proovisime kasutusele võtta erinevaid tiimi projekti haldamisvahendeid ning lõpuks peatusime Codeplexi peal ja lõime sinna endale konto, mida Visual Studio Team Exploreriga kasutada saaks. Esialgu oli seda keeruline tööle saada... | ||
Wiki@itcollege alustamine. | |||
=== Sept 27=== | |||
Tank sõidab neljas suunas, diagonaalis pole ette nähtud. Kuul lendab otse ja plahvatab vinge pauguga. Esimeste bugide eemaldamine, et tank ei sõidaks seina sisse. | |||
=== Sept 23=== | |||
Tanki liikumine tausta peal. | |||
=== Sept 22=== | |||
XNA algetega tutvumine, tausta ja tanki valik, keyboard - liikumine. | |||
Tanki tekstuur ei ole meie enda tehtud (see on mingi tanki blueprintist välja lõigatud). | |||
=== Sept 16=== | |||
Meeskonna leidmine/tutvumine. Mängu idee tuvustus/arutelu. Esialgse wikispace loomine, pastebini tutvustus, mis hiljem osutus mitte vajalikuks. |
Latest revision as of 18:35, 6 November 2013
Kood
Terve projekt zip formaadis: http://eee.pri.ee/WindowsGame1.zip
Mängu installer http://enos.itcollege.ee/~jkruusma/tankinstaller.zip
Klasside struktuur on kujutatud failis ClassDiagram2.cd
Ülevaade
Intro
Idee on laenatud vanast heast Tanki mängust Battle City. Mäng on läbi aegade säilitanud oma mängitavuse, seda eriti tänu 2 playeri võimalusele ilma milleta mängu ette ei kujutakski. Meie mängu kriteeriumiteks on selle lihtsus ja lõputu mängitavus. Kasutaja saab kohe pulti hüpata ja mängima hakata ilma, et peaks liiga süvenema. KISS - Keep It Simple, Stupid!
Mängu sisu
Aasta on 2069, maailma on järele jäänud kaks viimast leeri - Rohelised ja Punased. Mõlemad võitlevad enda viimaste järel olevate tankidega terve maailma valitsemise üle. Et võita maailm enda kontrolli alla peab võitma kolmel maal. Mõlemal mängijal on igal maal 2 elu. Võitlus käib SURMANI!
Kuidas Mängida
Sõidad kaardi peal ringi tankiga ja proovid teist tanki õhku lasta.
Power Up'id - Ekraanil võib olla korraga 1 kuul või kui oled korjanud D(ouble)-Shoti siis või kaks mürsku korraga lasta. F(ast) Bullet muudab mürsu kiiremaks. Mõlemad power-up'id kestavad 8 sekundit.
Plokid - Adamantiumist plokid on nii tugevad, et need ei lase tanki kui ka mürsku läbi. Vesi on takistuseks vaid Tankile, kuid kuul lendab seal siiski läbi. Mets on strateegidele möeldud, metsas saab kõike teha, aga varjatult.
Nupud
Klaviatuur
F1: Uusmäng
Player One
Nool üles: Tanki Suund üles
Nool alla: Suund alla
Nool vasakule: Suund vasakule
Nool paremale: Suund paremale
Parem Ctrl: Tulistamine
Player Two
W: Tanki Suund üles
S: Suund alla
A: Suund vasakule
D: Suund paremale
F: Tulistamine
Xbox
A: Tulistamine
D-Pad: Liikutab tanki
Vasak pöidlapulk: Liikutab tanki
Projekti algne plaan
- Tank - Juhtimine/Tulistamine, XBoxi tugi
- Level - Plokkide loomine, tüüpide määramine
- AI/Vastased
- Elud
- Punktid
- Menüü
- Visual Studio Team Explorer
Tööjaotus
- Jaan Kruusma - Projekti juht + wiki + levelid
- Siim Kündre - Liikumine, tulistamine, power-up
- Madis Kõosaar - Vastased, Menüü
- Keito Arula - Xbox tugi
Hilisem töö
Plaanitud Lisad
- Power-ups - Elud, parem mürsk, 2 pauku korraga
- Player Vs Player Mode
- Mitu levelit ja lisa objektid - vesi, puud
- Heli
- Vajadusel Graafika/piltide upgrade
- Koodi parandus
- Paljad naised ja tasuta õlu
Tähtajaks valminud projekt
- 2 mängijat
- Xbox puldi tugi
- Tanki elude loendamine, raundide loendamine, võitude loendamine
- Ploki tüübid - mets(saab peitu minna ja ka lasta), vesi(läbi sõita ei saa, aga tulistada saab), kivi(läbi ei tulista ega sõida)
- Kuul/Tank käitub erinevalt vastavalt ploki tüübile
- Power Up - Double Shot ja Fast Bullet
- Levelite parsimine Xmlist
- Erinevad levelid, levelite loomiseks/muutmiseks piisab Xml faili muutmisest.
Arendus võimalused
- AI - Kui graafiteooriat tulevikus rakendada saaks ka vastased ekraanile sibima
- Veel rohkem power-up'e ja leveleid
- Erinvad mängu mode'd
- Highscore - juhul kui vastaseid oleks
- Online mänguvõimalus
Logi
Nov 26
Installeri lisamine
Nov 15
Menüü täiendused.
Nov 9
Peamenüü valmimine.
Okt 28
Uus power-up fastbullet, kuvatakse F punases kastis.
Okt 25
Tähtaeg on saabunud - Shoki teraapia ja hardcore viimasehetke töö!!
Sitt, Sülg, Veri ja Pisarad!
Okt 22
Käib töö ja vile koos ehk mäng läheb aina paremaks. Üldised täiendused ja mõlema mängija käitumise ühtlustamine. Levelite tootmine.
Okt 20
Mängu testimine avatud keskonnas (koolis) Levelite disainimine. Heli lisamine irrKlangi kaudu jäi ära kuna see keeras ülejäänud referencid metsa ja programm jooksis kokku. Xmli parsimine - vastavalt ploki tüübile lisatakse ploki kordinaadid vastavalt tüübile vastavasse arraylisti.
Okt 19
Plokkide info on kantud xmli, millega tegeleb eraldi klass. Puldiga saab nüüd tanki juhtida ja tulistada, kuid joystickiga on veel tegemist. Leveli kuvamine klassis massiiviga osutus pooleldi läbikukkunuks kuna pakub liiga staatilise lahenduse uute levelite loomisele ning arendus käib xmli kallal.
Okt 18
Helide mängimiseks võtsime kasutusele irrklangi (credits to Tanel Liiv), mille abil saab väga lihtsalt heli mängida kus vaja. Hetkel käib sobivate helide otsimine. Lisasime mitmeid uusi klasse.
Okt 17
Player vs Player mode täiustamine.
Okt 14
Lisasime player 2-e HP arvutamise ja elude arvestuse (peale x suremise mängib player 1 üksi edasi) ning levelite disain asub nüüd eraldi klassis. Samuti parendasime tankide liikumist. Team Exploreriga on pidevalt jama, mis tõttu tuleb tihti aega raisata tüütute pisiasjade peale.
Okt 13
Lisatud teise mängija liikumine kuid veel ei tulista. Power-up`i loomine, testimiseks ilmub ekraanile kast(läbisõidetav), mille ajal tank saab lasta kaks kuuli ehk ekraanil võib siis kaks kuuli korraga olla.
Okt 12
Loodi uued klassid koodi paremaks paigutuseks. Draw ning Update meetodi puhastasimine üleliigsetest kontrollidest, mis paigutati uutesse klassidesse.
Okt 11
Teise mängija lisamine, kes küll veel ei liigu, aga kuuli naudib surematuna. Kuuli kontrollide parandamine, kokkupõrgete kontroll teise tankiga. Üldised koodi parandused.
Okt 4
Peale pikka Heiki ahistamist ja piinamist saime enda projekti tööle team exploreriga, et kõigil meeskonna liikmetel on võimalus sama projekti muuta ja ka allalaadida/üleslaadida. Reaalne rühmatöö saab nüüd alata. Wiki täiendused.
Sept 30
Toimus üldkoosolek, mille käigus räägiti kood kõigile üle ning lisati vajalikud kommentaarid. Jagati uued töö ülesanded. Proovisime kasutusele võtta erinevaid tiimi projekti haldamisvahendeid ning lõpuks peatusime Codeplexi peal ja lõime sinna endale konto, mida Visual Studio Team Exploreriga kasutada saaks. Esialgu oli seda keeruline tööle saada... Wiki@itcollege alustamine.
Sept 27
Tank sõidab neljas suunas, diagonaalis pole ette nähtud. Kuul lendab otse ja plahvatab vinge pauguga. Esimeste bugide eemaldamine, et tank ei sõidaks seina sisse.
Sept 23
Tanki liikumine tausta peal.
Sept 22
XNA algetega tutvumine, tausta ja tanki valik, keyboard - liikumine.
Tanki tekstuur ei ole meie enda tehtud (see on mingi tanki blueprintist välja lõigatud).
Sept 16
Meeskonna leidmine/tutvumine. Mängu idee tuvustus/arutelu. Esialgse wikispace loomine, pastebini tutvustus, mis hiljem osutus mitte vajalikuks.