Void

From ICO wiki
Jump to navigationJump to search

Kirjeldus

Loome XNA põhjal 2D scroller tüüpi mängu, millele lisame ägedaid füüsikaga seotud elemente ja muud taolist. Võimalusel kasutame mängus omandatud punkte upgrade'de otmiseks ja peategelase (või teiste mänguelementide) tuunimiseks.

Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades! Klassid, klassid, klassid

Üldised tunnusjooned

  • Stiilne-sujuv intro ja menüüd
  • 2D scroller
  • füüsikaga seotud elemendid (mänguobjektid jmt)
  • punktide eest lisade ostmine
  • tõenäoliselt osa mängust randomiga mixitud, et ei tekiks üksluisust mitmekordsel mängimisel ja testimisel (nt kui on üles-alla käivad seinad, mille vahelt peab läbipääsema, siis nende ajastuse saab kergelt segamini paisata, et poleks võimalik kindla hetke tagant liikuma hakata)

Must Have

  • Erinevad tasemed
  • Punktiarvestus
  • XBox puldi tugi
  • Klaviatuurilt juhtimise tugi

Nice To Have

  • Silmailu
  • Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)
  • Orginaalsed ideed ja hea story

Tutvustavad pildid-videod mängust

Hetkel puuduvad.

Tööjaotus

  • Karl Kadalipp - projektijuht, graafiline disain, helitöötlus, kood...
  • Ats Rand - kood,... (veel täiendamisel)
  • Reelika Lõhmus - kood,... (veel täiendamisel)
  • Robert Pärn - kood,... (veel täiendamisel)

TO DO

Kood

  • Programmi kood (et saaks algelisel kujul asja tööle)
  • Füüsika lisamine mängu
  • Eventid - nupud - ägedad lisad

Graafika

  • Mis tüüpi? Sprited?
  • Resod, faililaiendid (png?)

Heli

  • Hakata koguma vajaminevaid helisid erinevate tegevuste jaoks
  • Helide valjusus paika sättida (baseline vajalik)
  • Helid parajaks lõigata (et alguses-lõpus poleks üleliigset tühja osa)
  • Helide faililaiendid ja bitrated/tüübid

TO DO History

Millal, mida ja kes tegi?

28.10.2012 Kirjutasin siia sõnumi ja ei muutnud koodis mitte midagi. (Karl Kadalipp)

Analüüs

“Tallinn pimeduses” ehk karmid 90ndad Eestis

1. Mida meie mäng endas sisaldab?

Tegelane - Kes ta on?

Jüri on üks austatumaid politseiametnikke äsja iseseisvunud Eesti Vabariigis, tema tööülesanneteks on kuritegelikesse organisatsioonidesse sisseimbumine ja nende paljastamine. Oma tööga on ta teeninud mitmete väga mõjuvõimsate kurjategijate viha. Ühel päeval töölt koju naastes avastab ta, et tema kallim on külmavereliselt mõrvatud. Nüüdsest on Jüri elu muutunud igaveseks. Tema töö on ühtlasi ka tema kättemaks ning tema viisid kurjategijate ja mafioosodega toimetulemiseks on üha rohkem halastamatud.

Sisuanalüüs ja stoori kirjeldus - Kus peategelane on, mida teeb?

Tegevus toimib 90ndatel Tallinnas, ajal mil lokkas kuritegevus.

Mis on tema eesmärk?

Jüri eesmärk on kurjategijad peatada, talle on lubatud kasutada mistahes võtteid, et oma eesmärk saavutada ning seda ta kasutab usinasti.

Kuidas ta probleemidest jagu saab?

Jüri on lühikese jutu mees ning ta üldiselt ei halasta kellegile. Enamik teda kohanud kurikaelad lõpetavad kas haiglas või mulla all. Jüril on kasutada kurjategijatega võitlemiseks palju erinevaid relvi alustades tema enda rusikatest (ja kasteetidest) ning lõpetades nõukogude sõjaväe arsenaliga nagu näiteks püstol Makarov ja lahingautomaat AKS74U.

2. Kelle jaoks me seda teeme? Kes mängima hakkavad?

Mängu üldinfo ja eesmärk

Mängu sisu on kaasahaarav ja huvitav ning pakub närvikõdi ja palju mõttetööd misläbi saame pakkuda mängijale head ajaviidet ja meelelahutust. Nooremaid mängijaid paelub huvitav sündmuste käik ja uudishimu kuidas 90ndate Tallinnas käis kriminaalne elu. Vanematele mängijatele saame pakkuda äratundmisrõõmu ja võimalik, et tuttavaid situatsioone, mis aitavad kaasa lahenduste leidmisel. Üldjoontes on mäng lihtne, kergesti mõistetav ja võimalusterohke muutes teie mänguelamuse lõbusaks. Pärast mängu lõpetamist soovite juba järgmist osa sellest seeriast mängida.

3. Mis on tavakasutaja võimalused mängus?

Tavakasutajate võimalus on nautida meie suurepärast mängu, lahendada erinevaid ülesandeid ja tulistada virtuaalsete kurjategijate pihta. Kasutaja saab täiendada tegelast erinevate relvadega. Lisaks saab Jüri endale kaitseks kuuliveste ja lisapadruneid, mis aitavad kasutajal kurjategijad hõlpsamini alistada. Kasutaja peab limiteeritud resurssidega otsustama, kas mõistlikum oleks osta laskemoona või kuuliveste, samas võib kuulivest Jüri liikumiskiirust vähendada. Kasutaja peab olema loov ja kasutama oma kiiret taipu, et lahendada probleeme või situatsioone kuhu Jüri on sattunud. Oleme jätnud palju lahtisi niidiotsi millega anname kasutajale valikuvõimaluse, kuidas ta Jüri antud olukorrast välja päästab.

4. Mis osad võivad meile suuri raskusi valmistada?

Füüsika pookimine mängu, animatsioonide teostamine kõige lihtsamal-loogilisemal kujul (nt spritede asemel objektide liigutamine ja omavaheline sidumine).

5. Tööjaotus

  • Karl Kadalipp - projektijuht & wikihaldur, graafiline disain (relvad, mänguobjektid, teiste tööde parandamine-kontrollimine-juhendamine), helitöötlus (mängu otsitud helide tweakimine ja modimine, et oleksid õiges formaadis ja täpselt õigel kujul oma sisu poolest), kood...
  • Ats Rand - kood, algeline graafika (et saaks edasi seda tuunida, aga suurus oleks paigas ning koodi testimisel mängus näha),
  • Reelika Lõhmus - mängumenüüde programmeerimine ning kujundus. Poesüsteem.
  • Robert Pärn - algse mängumootori loomine. Algne füüsika, renderdamisloogika.

MÄNGULOOGIKA

6. MUST HAVE funktsioonid mängus

  • Funktsioneeriv level, mis koosneb eri layeritest (ja ruumilisuse lisamiseks liiguvad nad eri kiirusega, kui see on koodis teostatav). Layerid asuvad eri kõrgusel ja omavad eri tüüpe - näiteks üks layer on ainult selleks, et ära määrata need piirkonnad, kust tegelane ei saa läbi kukkuda ja läbi liikuda.
  • 5+ eri levelit. (Esimene neist peaks olema lihtsam ehk n-ö nupuõpetamise level).
  • Boonuspunktide korjamise süsteem (raha, kuld, kokaiin, relvad, stiilipunktid... misiganes)
  • Poesüsteem ehk boonuspunktide eest lisade ostmine (relvad, laskemoon, kuulivest, kiiver, seljakott, et saaks rohkem laskemoona kanda jne)
  • Töötavad relvad - tulistamisel tekivad kuulid uue objektina ja kontrollime kattuvust või kaugust tabatavatest asjadest, et määrata pihtasaamine. Kuulid võiksid distantsi peale ka natuke kukkuda või laiali paiskuda/põrgata (ebatäpne relv, pumppüss).
  • Helid (laskmisel, jooksmisel, hüppamisel)
  • Mänguobjektide graafika (relvad, tegelased, leveli scenery) ühtlases stiilis, võimalikult lihtne-ilus, aga arusaadav
  • HUD
  • Kursori hiirega ja Xbox controlleriga juhtimine. Kuulid liiguvad sinna suunas kuhu kursor on sihitud

7. NICE TO HAVE funktsioonid, mida võibolla ei jõua valmis

  • Tulistamisel randomilt laiali lendavad hülsid, mis jäävad leveli “põrandale”, kuid neid jääb üksnes limiteeritud hulk ehk vanad kaovad ära (muidu võib mängu kooma tõmmata)
  • Kuuliaugud, mitmeks tükiks katkiminevad asjad
  • Mängu keskel saab osta head nodi putkadest-poodidest (nt burksiputkast ostad burksi ja elupunktid lähevad täis)
  • Levelite vahel saab osta politseijaoskonnast või mustalt turult (kalli hinnaga) huvitavat kraami
  • Objektide liigutamine-tõstmine-lükkamine (kastid, CRT telekas, külmkapp,...)
  • Auto/jalgratas, et kruiisida natuke tühjal, ent künklikul külavaheteel
  • Realistlikud relvafunktsioonid - tulistamisel väike muzzle flash, kelgu või lukuraami liikumine, hülsside väljalendamine (peaaegu) random suunas, loogiline recoil (igal relval erinev - vastavalt kaliibrile), päris elu stiilis laadimine (või midagi analoogset), liigsete objektide ärakaotamine
  • Relvade tõrkumise süsteem + tõrgete eemaldamine
  • Vahetuv-muutuv riietus, riidekapp (nagu GTA-s)
  • Effektsed animatsioonid, kui vastane kuuliga pihta saab (+ ragdollide loogika)
  • Storyline’s erinevad viisid kuidas missioon lõpetada
  • Võimalus valida raske kuulivesti ja kerge kuulivesti vahel. Kerge kuulivest võimaldab Jüril olla kiirem ja ringi hüpata, nii saab ta tulevahetusi üldse vältida. Raske kuulivest muudab Jüri aeglaseks, kuid pakub väga head kaitset.
  • Suurem relvavalik ja rohkem viise vastaste hävitamiseks (nt viskad püstoliga vastase uimaseks, sest teadupärast Makarovit tuntakse pigem viskerelvana)

Log

Pärast ülesande väljakuulutamist

  • Meeskonna kokkupanek ja kontaktide vahetamine
  • Skype grupichati loomine

28.10.2012

  • Meeskonna nime väljamõtlemine
  • Wiki lehe loomine
  • Mängu idee/vormi/teostuse põhjalikum kaalutlus
  • Algeline tööjaotuse jagamine
  • Co-Op programmivalikuga tutvumine ja sobivaima valimine

04.11.2012 (Hiljemalt)

Analüüs (6p). Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.NB! Miinimum sõnade arv 700 Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka: Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja. Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(Must have) Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(Nice to have)

11.11.2012 (Hiljemalt)

Prototüübi retsensioon (3p)

25.11.2012 (Hiljemalt)

Prototüüp(10p). Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Programmis võib esineda üksikuid, kuid mitte väga suuri vigu.

02.12.2012 (Hiljemalt)

Prototüübi retsensioon (5p)

9.12.2012 (Hiljemalt)

Lõpptoode (20p). Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.

16.12.2012 (Hiljemalt)

Lõpptoote retsensioon (5p).

Pärast lõpptoote valmimist

Esitlus/Kaitsmine. Toimub loengutes/praktikumides (4p) Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.

Meie projekti kaitsmise aeg: ..........

Lingid

Helid mängu jaoks

Co-Op koodikirjutamine

Youtube videod eeskujuks

Muu nodi