Meeskond "XNA (Xbox Not Available)"

From ICO wiki

Idee on teha heksagon võrgustikuga taktikaline lahinguväli, mida hiljem saab edasi arendada ja kasutada ka suurema mängu lahingute jaoks. Paljud strateegia ja rollimängud kasutavad taktikalist lahinguvälja mis kas rohkem või vähem nähtavalt on hexagon võrgustiku peal.

Civilization V heksagon võrgustikuga kaart

Civilization V –s on terve kaart heksagonidega kaetud. Seal eraldi taktikalist lahinguvälja ei eksisteeri. Kuid meie projektis on eraldi taktikaline lahinguväli, mis iga seikluse jooksul tekkiva konfliktisituatsiooni puhul tekitab uue lahinguvälja (vastavalt kohale ja vastastele). Meie projekt ei panusta välimusele. Piisav arusaadavus ja UI (User Interface) ja mugavus oleks küll vajalik. Eesmärgiks on teha toimiv mootor, mida saab hiljem kasutada erinevates strateegia ja/või rollimängudes. Et projekti tingimusi rahuldada (erinevad levelid, punktiarvestus), teeb sinna ümber ka väikese mängu.

Mis sinna peab jõudma teha?

Kuhu soovid minna? A) Rahulik metsarada B) Trollide loss C) Päkapiku relvapood

Ideed

Mängu osa

Algul on mängijal näiteks 100 raha, mille eest otsustab mis tegelased oma meeskonda osta. Kui meeskond ostetud, hakkab seiklemise osa. Seiklus toimib kolmeste valikute kaupa. Näide: Kuhu soovid edasi minna? A) Rahulik metsarada B) Trollide loss C) Päkapiku relvapood

Valikud tekitatakse random generaatoriga ja on ühekordsed. Valikud välistavad teineteist. Näiteks kui valid minna mööda rahulikku metsarada siis trollide lossi enam pärast minna ei saa. Trollide lossis oleks ilmselt oodata lahingut trollidega (ehk ette tulebki lahinguväli, kus ühel pool on trollid ja teisel pool sinu team) ja ilmselt saab sealt mingi varanduse, näiteks võib pärast lahingut leida pudeli, mis teeb ühe su tegelastest tugevamaks. Kui su tegelased on juba haavatud ja nende jõud otsakorral, siis sa ilmselt trollide lossiga ei riskiks ja valiksid midagi muud kuhu minna. Kui valik tehtud (ja lahingud peetud või poes käidud) tuleb randomiga järgmine kolmene valik. Pärast näiteks 3 sellist stepi ongi päev läbi ja tuleb puhkuseraund (öö), kus tegelased saavad oma elud ja oskused, mis on ära kulutatud, tagasi. Pärast näiteks 9 valiku tegemist tuleb mängu lõpplahing.

Sinu valikutest, lahinguoskusest ja õnnest sõltub kui hästi sa oled end ette valmistanud mängu lõpus oleva lahingu (kui sa sinna üldse jõuad) võitmiseks. Lõpplahingu võit võib kas lõpetada mängu või viia sama seltskonna järgmisele tasemele (raskemale seiklusele). Kaotuse puhul algab mäng jälle esimesest tasemest peale ja saab uuesti tegelaste seltskonna valida.

Punktilugemine

Kuna punktilugemist nõutakse, tuleb meie mängus punktid selle eest, kui kaugele sa jõudsid (igast kolmesest valikust läbi närimine annab 10 punkti), võibolla lisapunktid selle eest kui palju raha teenisid jne.

Mitu mängijat

Lahinguvälja mootoril peaks olema mitme meeskonna (või lahingupoole) tugi. (mitte ainult 2)

Objektid

Elusad ja elutud objektid (treasure chest, kaevust saab juua nõiduse jaoks, jne). (Loomad, Humanoidid, Puud, Müürid). Elusad objektid on siis su team ja vastas(t)e team(id). Elusad objektid on kriitilised et sisse koodida.

Erinev maastik

Tegelase liikumisteele võivad ette jääda erinevad asjad. Näiteks iga samm soos võtab ära 3 p liikumispunkti, mets võtab 2 p , mägi 3 p, tee peal liikumine võtab ühe liikumispunkti.

Elude arvestus (health)

Loomadel ja Humanoididel on kehaosad, mitte pole nad lihtsalt hunnik elupunkte. Loomal on neli jalga ja pea mis hammustab. Humanoidil on 2 jalga, 2 kätt ja pea. Igal kehaosal on oma elud. Kui näiteks jala HP-d on 0 siis liigud aeglasemalt. Kui keegi näiteks lööb mõõgaga siis tõenäosus silma pihta saada on väiksem kui käele.

Multiplayer

Multiplayer'i tugi esialgu pole vajalik. Vaja teha vastastele AI, mis on suur töö. AI ei pea olema kuigi „tark“, ta peab vähemalt ründama (ehk siis töötama). Kui sinu teami elukas on valitud, siis on all näha tema skillide riba.

Spellid ja oskused

Humanoididel on erinevad nõidused ja oskused. Neil on kõigil oma efektid ja kaugused. Ilmselt esialgu ei tule keerulisemad spellid (mass-spellid, summonid). Nõidused on erineva tugevusega lihtsad nõidused. Meil on valmis karakterite template (nt odamees, vibumees, jne). Näiteks võluril: ühe lahingu jooksul saab lasta 3x magic missile, 2x lighting bolt. Warrioril on 2x defence, 1x triple strike. Magic missile on näiteks raadiuses 20 lastav. Kehaosale, kus see pihta saab, võtab 6 – 8 elupunkti maha. Lighting bolt raadius on 15 – 22 ja läheb kõikidele kehaosadele korraga pihta ja võtab 5 punkti maha. Kuna varustust ei ole siis löögid ja armorid on keskmised.

Liikumine

Kasutaja saab oma käigu jooksul kõiki oma tegelasi liigutada. Tegelastel on erinevad liikumiskiirused (maagil 4 sammu, warrioril 5 sammu). Kuna liikumine on kordamööda, siis peab kaardil näha olema, mis teed mööda liikuda saab.

Lisaks

Mingis vormis karakterite tugevamaks saamine. Kas see on seotud levelitega, ei tea veel, aga omadusi (jõud ja max_elud jne.) on suht lihtne tõsta. Equipment (asjad mida saab selga/jalga panna). Ei pruugi ajaliselt välja tulla, aga vaatab. Mul (Kristjan) läks equipmendi koodimiseks mu Exceli mängus üle nädala aja kindlasti. Poed. Tulevad, kindlasti saab endale juurde osta kaaslaseid. Kas poed, kus asju müüakse tulevad, sõltub sellest, kas meil tuleb karakteritele equipment või mitte.

Mis sinna sisse ilmselt veel ei tule? 1. Lahinguväljal olevate objektidega sekeldamine. Nagu näiteks katapultide, ratsude, uste ja muu sellise kasutamine. Ilmselt ei pane neid esialgu sissegi. 2. Erinevad vaated lahinguväljale. Ilmselt jääb meil algul scrollitav pealtvaade.

Tööjaotus

  • Kristjan - idee + programmeerimine
  • Ilmar - programmeerimine + wiki
  • Lauri - teekonna leidmised AI jaoks, võrgustiku ülesehitus, jne.

Klasside kirjeldus

Klassi nimetus Kirjeldus/Kommentaar
Game Põhiklass, kus toimub mängu kasutajaliidese juhtimine
GameEvent Area-te ArrayList
Area ja AreaCollection Area on paiga kirjeldus (tekstuur, kirjeldus, poe tüüp jne). AreaCollection-is on Area-te lisamine ArrayList-i ja meetod mis tagastab suvalise Area.
Entity Entity võib olla nii tegelane kui ka mingi asi (varustus). Palju meetodeid varustusega tegelemiseks
Team Tegelaste grupp. Võib olla mängija poolt juhitud kui ka vastased
Limb ja LimbCombination Tegelase kehaosad, nagu jalad, käed, silmad
MobCollection Tegelaste ja elukatega mässaja. Tekitab elukatele andmed, valib pildid, meetod mis tagastab eluka (randomiga)
Pood ja Poetekitaja Entity-te pood. Poetekitaja oskab meil tekitada moment vaid kahte tüüpi poodi, elukate (palgasõdurite) pood ja asjade pood
PoodControls Poe kasutajaliides
PartyControls Mängija tiimi kasutajaliides.
MemberOptions Mängija tegelase kasutajaliides.
EncounterWindow Mängija kohtumine vastas(t)ega kasutajaliides.

Logi

Vali kuhu minna.

23. oktoober

Tegelastel on varustus, lahingutel saavad nad varustust lisaks rahale juurde. Tegelastel on ka kehaosad. Jäänud on veel ajutiste mängutegelaste piltide vahetamine teiste piltidega.

21. oktoober

DEFEAT ja VICTORY aknad.

17. oktoober

Valmis põhimenüü ja kolmesed valikud. Saime versioonihalduse korda.

Poe menüü on valmis.

8. oktoober

Poe menüü on täielikult funktsionaalne. TortoiseSVN ei tööta nii nagu ootasime.

Plaanis on homme teha teami/party menüü ja kui jõuab, siis kolmeste seikluste valik.

6. oktoober

Meiega liitus Lauri Kermas.

Läksime üle TortoiseSVN-ile.

3. oktoober

Poe tekitamise klassid ja esialgne poe menüü olemas.

Jama on see, et pole siiani saanud Source Control'i korralikult toimima (projekt kompileerub ainult ühes arvutis).

1. oktoober

Kasutajaliidese tegemine. Üritame aru saada kuidas nupu sündmusi käsitleda.

29. september

  • Tiimi liikmete otsimine,
  • tööjaotus,
  • üritame aru saada, mis elukas see XNA on ja kuidas seal kasutajaliidest teha.

28. september

Mängisime C# -ga tehtud mängu, mille lähtekoodi me internetist alla tõmbasime. Mängul oli heksagon võrgustikuga kaart.

27. september

  • Meeskonna liikmete otsimine. Tegime mitmele inimesele pakkumisi meiega ühineda. Öeldi ära kuna meie mängu on palju keerulisem teha kui tetrist.
  • XNA installeerimine.

26. september

Valmis mängu projekti visand.