Meeskond "Projekt Tank"

From ICO wiki
Revision as of 14:38, 18 November 2010 by Jkruusma (talk | contribs)
Jump to navigationJump to search


Kood

Terve projekt zip formaadis: http://eee.pri.ee/WindowsGame1.zip
Klasside struktuur on kujutatud failis ClassDiagram2.cd

Ülevaade

Player Vs Player

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
  • 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.


Logi

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.