Meeskond "Projekt Tank": Difference between revisions

From ICO wiki
Jump to navigationJump to search
Jkruusma (talk | contribs)
No edit summary
Skyndre (talk | contribs)
No edit summary
 
(20 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 ==


Sõites tankiga ringi pead hävitama vastase tankide horde, kes üritavad mängijat maha lasta või siis mängija baasi ära hävitada millega kaasneb koheselt GAME OVER.
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.
Mängu lisame ka 2 player mode, kus mängijad peavad koostööd tegema, et elus püsida.
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!


== Esialgne kava ==
== 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 29: Line 68:
* Visual Studio Team Explorer
* Visual Studio Team Explorer


== Esialgne Tööjaotus ==
== Tööjaotus ==


* Jaan Kruusma - Projekti juht + elud/skoor + wiki
* Jaan Kruusma - Projekti juht + wiki + levelid


* Siim Kündre - Tooriku programmeerimine
* 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öö =
= Hilisem töö =


== Plaanitud Lisad ==
== Plaanitud Lisad ==


* Power-ups - Miinid, elud, parem mürsk, 2 pauku korraga
* Power-ups - Elud, parem mürsk, 2 pauku korraga


* 2 player mode
* Player Vs Player Mode


* Mitu levelit ja lisa objektid - tunnelid, mäed
* 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


* Highscore tabel
* Erinvad mängu mode'd


* Koodi parandus
* Highscore - juhul kui vastaseid oleks


* Paljad naised
* 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===
=== Okt 19===


Plokkide info on kantud xmli, millega tegeleb eraldi klass.
Plokkide info on kantud xmli, millega tegeleb eraldi klass.
Puldiga saab juba mängu mängida, kuid joystickiga on veel tegemist.
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===
=== 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.
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===
=== 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.
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===
=== Okt 13===


Lisatud Player 2-e liikumine ja esimese Power-up`i kuvamine ning rakendumine.
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===
=== Okt 12===


Lisasime uusi klasse ja puhastasime Draw ning Update meetodeid.
Loodi uued klassid koodi paremaks paigutuseks.
Draw ning Update meetodi puhastasimine üleliigsetest kontrollidest, mis paigutati uutesse klassidesse.


=== Okt 11===
=== Okt 11===


Arendasime kuuli käitumist tankide vastu, kokkupõrkeid kontrollime vektoritega.
Teise mängija lisamine, kes küll veel ei liigu, aga kuuli naudib surematuna.
Teise mängija lisamine, koodi parandused
Kuuli kontrollide parandamine, kokkupõrgete kontroll teise tankiga.
Üldised koodi parandused.


=== Okt 4===
=== Okt 4===


Peale pikka Heiki ahistamist ja piinamist saime enda projekti tööle team exploreriga, et kõigil on võimalus sama projekti muuta ja ka allalaadida/üleslaadida. Reaalne rühmatöö saab nüüd alata.
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.
Wiki täiendus


=== Sept 30===
=== Sept 30===
Line 99: Line 208:
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===


Wiki alustamine
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 27===
=== Sept 23===


Tank sõidab, kuul lendab ja plahvatab. Esimeste bugide eemaldamine.
Tanki liikumine tausta peal.


=== Sept 22===
=== Sept 22===


XNA algetega tutvumine, tausta ja tanki valik, keyboard - liikumine.
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===
=== Sept 16===


Meeskonna leidmine/tutvumine. Mängu idee tuvustus/arutelu. Esialgse wikispace loomine, pastebini tutvustus, mis hiljem osutus mitte vajalikuks.
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

Player Vs Player

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.