Meeskond: GreekQMark: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kkilgi (talk | contribs)
Kkilgi (talk | contribs)
Line 57: Line 57:


*'''16.10.2015''' - Ideede arutelu, wiki lehe loomine
*'''16.10.2015''' - Ideede arutelu, wiki lehe loomine
*'''22.10.2015''' - Tehnoloogiate valik
*'''24.10.2015''' - Valitud tehnoloogiatega tutvumine
*'''07.11.2015''' - Idee analüüs, töö jaotamine
*'''07.11.2015''' - Idee analüüs, töö jaotamine
*'''08.11.2015''' - Keskkonnaga TFS tutvumine
*'''14.11.2015''' - Mängumootori kirjutamine
*'''15.11.2015''' - Põhistseenide disain
*'''19.11.2015''' - Põhistseenide implementatsioon ja esialgse versiooni üleslaadimine
*'''28.11.2015''' - Senise prototüübi analüüs
*'''29.11.2015''' - Koodi täiustamine ja prototüübi valmimine


== Lisad ==
== Lisad ==

Revision as of 18:01, 29 November 2015

Meeskond ja rollid

  • Karit Kilgi - Projektijuht
  • Sten Kaasik
  • Siim Veskilt


Idee

Ruumilise taju oskus on üks tähtsamaid igapäeva elus. Näiteks kaartide lugemine, liikluses kiire reageerimine, asjade pakkimine/sorteerimine ja üldine navigeerimine sõltuvad sellest. Ruumilise visualiseerimise oskus on ka edu aluseks matemaatikas, loodusteadustes, inseneride töös, arhitektuuris. Antud projekti idee on arendada geomeetrial põhinev mäng, mille abil saab treenida ruumilist intelligentsust, loogilist mõtlemist ja seeläbi parandada mälu. Mäng ise on lihtne: kolmest vaatest x,y,z on näha erinevat kastide kooslust ja mängija ülesanne on lugeda kokku kastide arv. Mida rohkem on kaste seda olulisemaks muutub erinevate vaadete visualiseerimine ja samal ajal loendamise võimekus. Vastuse saab sisestada klaviatuuriga soovitud numbrit vajutades või hiirega vastava numbri pildile vajutades. Läbi punktiloenduse, helide ja erinevate raskustasemete on loodav mäng kaasakiskuv, ligipääsetav igale vanusegrupile ja arendav.

Analüüs

Loodav mäng koosneb graafilisest liidesest, mängumootorist ja on mängitav nii klaviatuuril kui ka konsoolipuldiga. Eesmärk on arendada geomeetrial põhinev mäng, mille abil saab treenida ruumilist intelligentsust, loogilist mõtlemist ja kaudselt seeläbi parandada ja taastada mälu. Mängijale esitatakse kolmest vaatest erinevaid kastide konfiguratsioone ja mängija ülesanne on loendada kokku kastide arv. Kasulik efekt sellise näiliselt lihtsa ja monotoonse mängu mängimisel sarnane koodikata tegemisele; toimub sama harjutuse aja peale läbimine, sihilik treeninimine, kus iga järgnev iteratsioon erineb eelmisest ülesande lahendamise käigu poolest, kuid on identne eelnevatega formaalses ülesehituses, võimaldades mängijale luua keskkonna, kus optimiseeritakse motoorsete ülesannete lahendamist (vastuse sisestamine on triviaalne, kastide loendamine on mittetriviaalne) ja arendatakse loovaid oskusi (navigeerimine, sorteerimine, loogiline mõtlemine jne) . Kuna ruumiline mälu on kasutuses nii hetke-, lühi- ja pikaajalise ruumilise mälu funktsioneerimisel toimuvad erinevad protsessid, mis üksteist paralleelselt toetavad. Lühiajalisemälu puhul tugevnevad neuronite ühendused õppimise, loogika ja arusaamise vallas (oskus mängus navigeerida). Hetkemälu kasutatakse kompleksuse haldamiseks (oskus erinevaid asetusi meeles pidada). Pikaajaline ruumiline mälu sisaldab elemente eelnevast kahest, kuid sellele on omane terviku elementide hierarhiline tuvastamine ja seeläbi vajaliku informatsiooni leidmine (kõrgematel raskusastmetel võib mängu kodeerida lisainformatsiooni, kasutades boonus tasemeid iga N taseme järel, kus on vaja sisestada eelnevatel tasemetel kastidel esinenud tähtedest moodustuv sõna või numbrikombinatsioon).

Tavakasutajana näeme eelkõige üldhariduskoolide õpilasi, kes saaks seda mängu mängida vahetundides. Meie hüpoteesi kohaselt paraneksid regulaarsel (mõõdukal) mängimisel õpilaste hinded ja seeläbi ka personaalne motivatsioon ja heaolu.

Punktiarvestuse põhifunktsionaalsusena ei näe me mängu kasutamist selliselt, et kasutaja saaks oma kontot mingilgi moel muuta. Sellest tulenevalt ei pea me vajalikuks seda, et kasutaja peaks antud mängu puhul omale konto looma. Mängija laeb endale rakenduse alla ja saab seda kasutada. Mängu lõpus, milleks loetakse vale vastuse andmist, avaneb aga võimalus sisestada kasutajanimi, mis saadud punktisummaga seotakse. Sarnaselt toimib ka veebipõhine versioon. Alles jäetakse kõik kasutajanimed ja kasutajanimede kordumine on lubatud.

Selleks, et mälu pisut laialdasemalt treenida, on meie rakenduses olemas ka boonustasemed. Boonustasemed sarnanevad tavatasemetele, kuid neis tuleb lisaks loendatud kastidele sisestada ka tähtede kombinatsioon. Fikseeritud arvu tavatasemete tagant hakkavad tavatasemetel lisaks kastidele ilmuma ka kastidele joonistatud numbrid. Teatud arvu tasemete pärast avaneb kasutajal võimalus kuvatud numbrid ilmumise järjekorras sisestada. Õigesti tehtud sisestus annab lisapunkte.

Tagasisidet saab mängija tehtu kohta mitmel moel. Kohest tagasisidet saab mängija õige või vale vastuse näol. Mängu igal tasemel kuvatakse kasutajale viis vastusevarianti, millest üks on õige ja neli õigele vastusele lähedal asuvad. Valesti vastamisel kriipsutatakse vale vastus läbi ning õige vastus eristatakse teistest värviga. Kasutatavad heliefektid annavad samuti kasutajale aimu, kas vastus oli vale, õige või oldi õigele vastusele lähedal. Siit ilmneb ka meie üks probleemidest. Nimelt ei ole võimalik ette näha, kui toetavaks või häirivaks antud helid osutuvad. Põhjalikumalt saame sellega tegeleda testimise etapis.

Turvalisuse kohalt oleme vaadelnud rakendust kahest punktist 1) Mängus pettmine - välistatud on see sellega, et mängija ei saa järgmisele tasemele liikuda enne, kui eelmise taseme ülesanne on täidetud. Samuti puudub võimalus eritasemete vastuste jagamiseks, kuna mäng genereerib igale tasemele sobiva kujundite asetuse sõltumatult teistest mängijatest. Küll aga saavad kasutajad anda vastuseid eri variatsioonide kohta ja neid levitada. 2) Delikaatsete andmete levitamine – välistatud on see sellega, et vaadeldav rakendus on mängija jaoks tasuta ning sellest tulenevalt ei pea me vajalikuks kasutajalt informatsiooni saamist, mida eraldi kaitsma peaks (nt krediitkaardi number).

Mängu loomiseks oleme otsustanud kasutada SFML tehnoloogiat, mis osutus valituks, kuna võimaldab, erinevatele interneti allikatele tuginedes, hõlpsasti arendada nii planeeritud põhi- kui ka lisafunktsionaalsusi. Andmebaaside loomiseks kasutame SQLite’i. Suhtlemine tiimikaaslastega toimub peamiselt Facebooki vahendusel.Rakenduse loomiseks kasutame muuhulgas ka hackathron’i põhimõtet, mis seisneb selles, et kõigil osapooltel on tehtud mingi eeltöö (nt tutvutud kasutusjuhenditega, loetud kirjandust) või omandatud (nt varasemast tööelust) vaadeldava rakenduse jaoks olulised teadmised, millele järgneb reaalselt üheskoos tegutseme rakenduse valmistamise nimel.

Püüame võimalikult palju arvestada hariduslikele online-mängudele seatud soovitustega. Millena nähakse sihtrühmale selget ja tähenduslikku väljundit, võimalust erinevate eesmärkide täitmiseks ning andma tagasisidet tehtu kohta. Oluline on ka erinevate raskusastmete olemasolu, üllatuselemendid ja funktsionaalsus, mis kasutajat emotsionaalselt haaraks. Eelnevast tulenevalt on meie rakenduse põhifunktsionaalsuseks:

  • punktiarvestust
  • boonustasemeid
  • (kaasakiskuvaid) heliefekte
  • xbox360 puldi tuge.
  • lokaalne punktiarvestuse salvestamine

Õpilastele mõeldud sarnaste mängude eeskujul ja suurema kasutajaskonna saamise eesmärgil, näeme oma rakenduse lisafunktsionaalsustena:

  • mängu üleviimine nii android kui ka ios platvormidele
  • interneti põhine punktiarvestus
  • erinevad kujundid kastide asemel
  • mitme mängija tugi (sh ka veebiversioon)

Projekti kirjeldus

Tehnoloogiad

Arendusmustrid

Versioonikontroll

Litsents

Avaldatud failid

Arendusprotsess

  • 16.10.2015 - Ideede arutelu, wiki lehe loomine
  • 22.10.2015 - Tehnoloogiate valik
  • 24.10.2015 - Valitud tehnoloogiatega tutvumine
  • 07.11.2015 - Idee analüüs, töö jaotamine
  • 08.11.2015 - Keskkonnaga TFS tutvumine
  • 14.11.2015 - Mängumootori kirjutamine
  • 15.11.2015 - Põhistseenide disain
  • 19.11.2015 - Põhistseenide implementatsioon ja esialgse versiooni üleslaadimine
  • 28.11.2015 - Senise prototüübi analüüs
  • 29.11.2015 - Koodi täiustamine ja prototüübi valmimine

Lisad