Meeskond:Hubris: Difference between revisions
No edit summary |
|||
Line 129: | Line 129: | ||
= Arenduskäik esitluseni= | = Arenduskäik esitluseni= | ||
'''Arenduse käigud:''' | |||
Internetist Sprite-de otsimine | |||
Maailma loomine Grid süsteemis | |||
Liikumine kõikides suunades | |||
Vastaste loomine | |||
Uste ning lülitite loomine | |||
Sprite elude kaotamine | |||
Punktiarvestuse loomine | |||
Bugfixes, bugfixes, bugfixes | |||
[http://enos.itcollege.ee/~apaalo/Hubris.docx Üldine Seletus] | [http://enos.itcollege.ee/~apaalo/Hubris.docx Üldine Seletus] | ||
Line 153: | Line 171: | ||
=== Esitlus === | === Esitlus === | ||
[http://enos.itcollege.ee/~apaalo/1863.ppt Powerpointi esitlus] | [http://enos.itcollege.ee/~apaalo/1863.ppt Powerpointi esitlus] | ||
= TODO lõpptooteni = | = TODO lõpptooteni = |
Revision as of 17:19, 18 December 2014
Meeskond
Meeskonna liikmed:
- Sander Maasikamäe
- Allan Paalo
- Madis Rääk
TFS
TFS:
- teamhubris@outlook.com
Idee
Põhiidee:
- 2D Mäng
Tehnoloogia:
- Unity
Selgitus:
- Mäng luuakse 2D Spritede alusel.
- Üldjuhul toimub mäng AI vastu.
- Seklus/Pusle mäng
- Story põhineb iidsel küsimusel.
- Liikumine malelaua moodi alusel
- Mitu erinevat levelit
Analüüs
Üldanalüüs:
Meie projektiks on 2D seiklus/puslemäng Unitys, mis kasutab Internetist leitavaid või ise valmistatud „sprite“ ehk 2D kujutisi. Mängutegevus toimub ülevalt-alla vaatega maailmates või ruumides, mis koosnevad väljakutsetest ja labürintidest. Ruumid üldjuhul koosnevad seintest mida on võimatu läbida, see piirab ära nii vastaste kui mängija liikumise, mis võimaldab tekitada sobilikke väljakutseid. Eesmärgiks on luua mitu erinevat taset, mille raskusaste sõltub vastaste arvust ning ruumide ehitusest. Ruum loetakse lõpetatuks kui see on tehtud tühjaks kõigist vastastest. Mäng lõppeb kui kasutaja jõuab n.ö. lõpuruumi, ehk teatud ruumid on võimalik täiesti vahele jätta. See jätab võimaluse mängule lisada salaruume kuhu niisama pole võimalik saada. Maailma sisse tulevad kindlasti mõned elemendid(erinevad uksed, alad kus saab ainult ühe käigu seista jne) mida peab ruumilahendamisel arvesse võtma. Igas ruumis on kasutajal lubatud kasutada „RESET“ nuppu, taastab mängu tagasi sellisesse seisundisse kui mängija esimest korda astub lahendatavasse ruumi.
Kasutajate ning vastaste liikumine toimub grid ehk malelaua ruutude põhiselt, kus kõik olendid saavad liikuda kaheksas erinevas suunas: üles, alla, vasakule, paremale ning neljas diagnoaal suunas. Liikumine käib kordamööda. Kõigepealt liigub mängija ning siis vastased. Liikumise ulatus sõltub olendist, aga üldjuhul mängija saab liikuda ainult ühe ruudu. Kasutajal kontrolli all on tegelane koos tema ette seatud relvaga. Relv on alati suunatud selles suunas kuhu tegelane vaatab. Eraldatud on tegelase liikumine ning vaate suund Mängus olevatel olenditel, sealhulgas ka mängijal, on vaid üks elu, seega vigu teha ei tohi. Vastased hävinevad relvale vastu minnes koheselt ning samuti hävineb ka kasutaja tegelane vastasega kokku puutudes koheselt. Plaanis on ka luua erinevatele tasemele erinevad vastasetüübid.
Plaanis on luua ka kindel skoorisüsteem. Loetakse kokku mitu ruumi mängija lõpetas ning mitu käiku või sammu mängijal kulus, et jõuda lõppu. Mida rohkem mängija ruume lõpetab ning mida vähem samme ta selle käigus teeb, seda parem on ta punktiarvestus. Kuna mängu eesmärk on siiski ruume tühjendada, siis esmajärjekorras on võrdlusmaterjaliks mitu ruumi lahendatud sai. Mängu idee on arendada kasutaja mõtlemisvõimet ning punktide alusel on võimalik võrrelda inimeste oskusi tasemete lahendamisel.
Võimalikud Probleemid:
- Internetis pole piisavalt sobilikke 2D sprite.
Lahendus: Luua ise photoshopis vajalikud või sobivad sprited.
- Ruumide jaoks loodud funktsionaalsused ei ole huvitavad või ei paku väljakutseid.
Lahendus: Põhjalikult katsetada erinevaid ruumifunktsioone erinevates stsenaariumites ning vajadusel lisada või eemaldada funktsioone.
- Vastaste loomine/programmeerimine võib osutuda väga keerukaks mistõttu ei teki väga palju unikaalse iseloomuga vastaseid.
Lahendus: Tuleb rohkem mõelda.
- Mängija ning vastased ei reageeri maailmasse loodavatele funktsionaalsustele.
Lahendus: Testida maailma funktsionaalsusi koos vastaste ning mängijaga, et välistada võimalikke vigu.
Must Have:
- Vähemalt 5 taset eri paigutustega ning raskustega
- Juhitav tegelane koos relvaga.
- Liikumine grid alusel 8 suunas (üles, alla, paremale, vasakule ning diagonaalis).
- Ruumide avanemine vastaste hävitamisel.
- Maailma lõpetamine kõigi ruumide tühjendamisel.
- Retry ehk korduskatse võimalus.
Nice to Have:
- XBOX kontroller ja ümberseadistatav klaviatuur.
- Punktide edetabel.
- Erinevatele tasemetele salaruumid.
- Rohkem vastaste tüüpe.
- Rohkem tasemeid.
Update DEMO/Prototüübiks
Must Have:
- Vähemalt 5 taset eri paigutustega ning raskustega - Uus lahendus arenduse käigus: 1 pikem tase, ruumi raskus sõltub avatud uste arvust, kus lastakse sisse erinev arv vastaseid
- Juhitav tegelane koos relvaga. - Tehtud
- Liikumine grid alusel 8 suunas (üles, alla, paremale, vasakule ning diagonaalis) - Tehtud
- Ruumide avanemine vastaste hävitamisel - Uus lahendus arenduse käigus: ruumide avamine toimub läbi lülitite
- Maailma lõpetamine kõigi ruumide tühjendamisel. - Uus lahendus arenduse käigus: ruume tühjendama ei pea, küll aga peab leidma õige lüliti, mis avab maailma väljapääsu
- Retry ehk korduskatse võimalus. - Tehtud
Nice to Have:
- XBOX kontroller ja ümberseadistatav klaviatuur. - XBOX Tehtud
- Punktide edetabel.
- Erinevatele tasemetele salaruumid.
- Rohkem vastaste tüüpe.
- Rohkem tasemeid.
Prototüüp koos lähtekoodiga (Hetkel vajab Unity ning varsti laeme üles eraldi .exe):
Prototüüp(Unity)
---Controls:---
"W" - liikumine üles
"A" - liikumine vasakule
"S" - liikumine alla
"D" - liikumine paremale
"Q" - liikumine diagonaalis üles+vasakule
"E" - liikumine diagnoaalis üles+paremale
"Z" - liikumine diagonaalis alla+vasakule
"C" - liikumine diagonaalis alla+paremale
"Space" - Mõõgalöök enda ette
"R" - reset map
(olemas ka XBOX controlleri tugi)
Arenduskäik esitluseni
Arenduse käigud:
Internetist Sprite-de otsimine
Maailma loomine Grid süsteemis
Liikumine kõikides suunades
Vastaste loomine
Uste ning lülitite loomine
Sprite elude kaotamine
Punktiarvestuse loomine
Bugfixes, bugfixes, bugfixes
Pilt BitBucketist - Üldine arenduspilt esitluseni - pildistatud 18.12.2014.
Puudu on mõned updated, kuna faile jagati tihti ka läbi teiste vahendite (skype ja otsene üleslaadimine bitbucketisse ilma commitita) ning seega pildil ei ole neid näha.
Puudu
Ülemiselt pildilt on puudu:
- Esialgselt tehtud kaardid/gridid - Novembri paiku oli meil töö juba tegelikult käimas. Kuigi sel ajal tutvusime me täpsemalt Unity endaga ning laadisime üles esimesed sprited/maailmad/liikumised. Kuna aga Detsembris sai tehtud projektile tehtud suur "overhauli", siis enne seda meie tööd pole BitBucketisse laetud.
- Animatsioonide tegemine - Võttis aega ligikaudu 2 päeva. 1 päev animatsioonide loomiseks ning scriptide loomiseks/kinnitamiseks. 1 päev animatsioonide ilusamaks tegemiseks/kiirendamiseks/bugfixideks.
- HitBox-de Collision - Võttis aega ligikaudu 1 päev. Kuna algul oli seatud hitbox otse mõõga külge, tekksid ajastusbugid. Parandati ära HitBoxi eraldamisega mõõga küljest.
- Death/Win screen - Kuigi on lisatud, ei hakanud hetkel seda commitima, kuna plaanis on lõpplahendusele teha teistsugused lahendused mängu võidule/kaotusele.
- Paljud bugfixid - Uute lahenduste lisamisal ning täiendamisel tekkisid bugid. Kui nendega sai kiiresti lahendatud, siis nende parandust me logidesse ei lisanud.
- Scriptide uuendused - Teiste asjade arenduse käigus, aja jooksul tehti scripte ka ümber. Scripte muudeti kompaktsemaks, eemaldati üleliigseid ridu jne. Kuna seda tehti koos teiste asjade uuendamisega, siis pole need eraldi välja toodud.
Esitlus
TODO lõpptooteni
- Kasutaja ja vastaste turn teha arusaadavamaks. Muuta delay-ga nähtavamaks erinevad käigud.
- Võiduekraan - Üle viia sprite-lt GUIle, täiendada
- Suremisekraan - Üle viia spritel-lt GUIle, täiendada
- Lisada muusika
- Suurendada mapi disaini
- Muuta tagatausta
- Sammuloendur
Arenduskäik esitlusest lõpptooteni
- PLACEHOLDER
Lõpptoode
- PLACEHOLDER