A Bunch Of Asians

From EIK wiki

Kirjeldus

GravityGolf on meelelahutuslik mäng, mis on XNA baasil. Mängu põhimõte on sarnane tavalise golfiga. Mängu teevad eriliseks väljakul olevad magneetilised takistused. Iga tase on läbitud siis, kui pall on augus.

Features

  • Metallist pall
  • 5 taset
  • Erilised takistused

Pildid Mängust

Hetkel puuduvad.

Tööjaotus

  • Mardo Pahk - Projekti juht,
  • Kristi Paakspuu - Palli liikumine,
  • Madis Peep - Graafika,
  • Kaur Pääro - Story,
  • Kaspar Urban - Keskkond, füüsika,
  • Terve Meeskond -
    • Maailma füüsika
    • Palli füüsika
    • Põrkumine ja tõukumine
    • Ekraani mõõtmed
    • Gravity free zone
    • Muud objektid
    • Igasugu muud probleemid mis ette jäävad lahendame tiimina (We are like the Avengers[1])

Analüüs

Milles seisneb idee? Idee seisneb selles, et teeme vana uueks. Võtame klassikalise golfi ning anname mängule uue ilme.

Aga milles siis ikkagi seisneb idee? Idee seisneb selles, et objekt, mida kasutaja liigutama hakkab, seisab paigal ning objektile antakse mingi energia liikumiseks, et jõuda punktist A punkti B. Energia liikumiseks ja trajektoor sisestatakse kasutaja poolt tänu kursorile. Hoides hiire vasakut hiireklahvi all tekib ekraanile joon objektist kursorini. Joone pikkus paneb paika energia. Selleks, et mäng ei oleks liiga lihtne, on seal ka takistavad objektid: tõmbuvad, tõukuvad ja nullivad väljad. Peale takistavate väljade on ka igal maailmal erinevad omadused. Omadused nagu tuul, mis puhub sind trajektoorilt, ning pind millelt liigutakse. Kokkuvõttes: (gravity) golf.

Kas pallil on elusid kui seda lastakse või imetakse auku? Ei.

Mis juhtub kui sind imetakse auku? Pall läheb katki. Alustad uuesti.

Miks pall katki läheb? See on seoses stooriga. Hiljem näeb.

Mängul on stoori? Jah. Kui aega jääb siis mäng jookseb stooriga käsikäes ning peaks saama juba normaalse kogemuse mängust (ei ole tuim hiirega klõpsimine vaid vahepeal saab pilte ka vaadata).

Kas mäng tuleb ainult PC peale? Ei. Kui aega jääb, siis tuleb mäng ka Windows Phone'i peale. Kunas Phone'ile ei tohiks olla sellise mängu loomine suur müstika (kood enamjaolt sama, aga erinevusi ikka on), siis on viimane täiesti teostatav. Samuti kaalume ka Xbox'i võimalusi.


Must Have

Palli liikumine maailmas:
Pall liigub, kui hiirega tõmmata joon ekraanil. Joon peab olema tõmmatud palli lähedalt suunda, kuhu mängija soovib, et pall liiguks. Mida pikema joone mängija mängija ekraani peal tõmbab, seda kiiremini pall liigub. Pall kaotab ka hoogu liikumisel, see tähendab, et pall liigub aeglustuvalt ja jääb lõpuks seisma. Kui tuleb ette takistus või sein, mis pole magneetiline, siis pall põrkab. Vastavalt takistustele võib pall ka suunda muuta.

Palli sihtimismehhanismist:
Sihtimismehhanism aitab mängijal palli suunata ning palli löögi tugevust määrata. Hiireklahvi alla vajutamisel tekib sihtimiseks palli ja kursori vahele joon. Mida kaugemal kursor pallist on, seda tugevam on löök. Kui kursor on palli lähedal, siis on sihtimisjoon roheline (nõrk löök). Kui kursor liigub pallist kaugemale, siis joon muudab värvi(roheline,kollane,oranz,punane). Maksimaalset löögitugevust määrab punane joon. Kui mängija laseb hiireklahvi lahti, siis läheb pall liikuma, samas jääb sihtimisjoon alles sellisel kujul nagu ta oli, kui klahv lahti lasti, kuid muutub halliks (sihtimisjoon muutub abijooneks). Seda sellepärast, et mängijal oleks järgmisel löögil lihtsam sihti ning kiirust valida. Peale igat lööki uuendatakse abijoont.

Objektid maailmas:
Magnetid ja mustad augud on mängijat takistavad või abistavad objektid. On olemas kahte tüüpi magneteid. Osad magnetid tõmbavad palli enda poole (sinised magnetid) ning teised magnetid lükkavad palli eemale(punased magnetid). Magnetitel on ümber läbipaistev energiaväli, mis näitab mängijale, kui kaugelt hakkab magnet palli mõjutama. Mustad augud tõmbavad palli enda poole ning võivad palli endasse imeda. Mustal augul on samuti energiaväli ümber. Mängus võib leida erineva suurusega magneteid ning musti auke.

Kuidas maailmad muutuvad, objektid/takistused?
Tasemeid on esialgu kokku viis. Taseme läbimisel pääsed edasi järgmisesse tasemesse. Iga tase erineb maastiku poolest, mis mõjutab palli liikumist (täpsemalt nice to have sektsioonis). Pall peab jõudma mänguvälja lõpus olevasse auku, et pääseda edasi ja et mäng võita, tuleb läbida kõik tasemed. Igal tasemel asuvad kahte tüüpi väljad, mis takistavad liikumist. Ühed väljad tõmbavad palli, teised tõukavad.

Mängu esileht:

  • Alusta mängu - alustab esimesest tasemest mängu
  • Edetabel – kuvab uue lehe, kus on tabelis nimi ja skoor
  • Abi – õpetus, mis avaneb uuel lehel
  • Välju – väljub mängust

Igal lisa lehel on nupp, et tagasi menüüsse saada.


Nice To Have

  • Teeme mängu Windows Phone'le
  • Mõjutav maastik - mõjutava maastiku all mõeldakse vastavale tasemele konkreetse maailma tunnusjooni. Näiteks maailmas kus on hästi suur tühi väli tekib iga kindla intervalli tagant tuuleiil mis mõjutab palli liikumistrajektoori.
  • Mõjutavad objektid - peale tõukavate ja tõmbavate objektide on maailmas ka n-ö relvad, mis lasevad palli pihta kuule, mis mõjutavad taaskorda palli trajektoori.
  • Nullivad väljad - väli kus ei mõju ei tõmbuv ega tõukuv väli.
  • Story - mängule on story olemas, aga viimane tuleb külge keevitada tasa ja targu, et kasutaja saaks normaalse kogemuse.


Retsensioonid

Esimene retsensioon on koostatud meeskonna Baller [2] analüüsi kohta ja retsensioon asub siin [3].

Teine retsensioon on koostatud meeskonna RMS [4] prototüübi kohta ja retsensioon asub siin [5].

Prototüüp


Kindlasti lisanduvad:

  • Parem graafika (väljadele, seinale, augule jne)
  • Skoori lugemine
  • Maailmate eripära
  • Menüü hiirega juhitavaks
  • Erinevad maailmad


Final version

Lõpptoote [7] retsensioon meeskonnalt Kajarist

Log

1. Oktoober

  • Kokkusaamine
  • Wiki lehe loomine
  • Tööjaotuse jagamine

5. November (kell 01:00)

  • Analüüs lisatud

5. November (kell 11:00)

  • Analüüsis olevad kirjavead parandatud (aitäh Kristi)

8. November (kell 20:00)

Saime kokku ja koodisime. Saime aimu, kuidas:

  • menüüd teha
  • erinevaid Game State luua
  • mängu füüsika toimib
  • tagatausta mängul vahetada

Enne kokkusaamist oli valmis kirjutatud palli kiireneva-aeglustuva liikumise ja palli takistustel põrkamise-tõukumise loogika XNA keskkonnas.

11. November

  • Retsensioon meeskonna Baller kohta.

13. November

  • Mardo sai kokku meeskonna Kajarist liikmega Kalev Kärpuk kes selgitas nende tehtava mängu OOP poolt. Samuti aitas Kalev saada aimu kuidas peaksime ise lähenema OOPile enda mängus. Suured tänud meeskonnale Kajarist.

16. November

  • Meeskond sai kokku. Palmers peak'i keegi ei saavutanud... aga sellegi poolest edusammud.

22. November

  • Meeskond sai kokku. Tasemete loogika paigas. Objektide loogika paigas. Esialgne menüü paigas. Veel vaja maailmate vahetumise loogika paika panna ja skoor (remember kids - we all love to score).

25. November

  • Prototüüp

4. Detsember

  • Meeskond sai kokku, valmisid salvestus funktsioonid, helid, aeg, skoor, vahelehed.

7. Detsember

  • Meeskond sai kokku. Kood pandi kokku, kuna liikmetel olid eri ülesanded. Kood koos ja töötab (21:00 - 04:00)

Lingid

MSDN XNA Game Studio 4.0