TikTokTek

From ICO wiki
Jump to navigationJump to search

Meeskond ja rollid

  • Rain Saarmäe - projektijuht
  • Eva Ibrus
  • - (vaba koht)

Idee

Mäng Renju, Gomoku, Gobang, Pente ja/või Five-in-a-Row baasil - Mäng kus kasutaja saab mängida arvuti või teise mängija vastu, mängu eesmärk on ruudulisele lauale kordamööda nuppe paigaldades saada viis enda nuppu ritta (rida, veerg või diagonaal).

Tehnoloogia

  • C#
  • Kasutajaliides: Windows Presentation Foundation (võib muutuda)

Rakenduse Analüüs

Rakenduse sisu

Klassikaline käikudel baseeruv mäng Renju, Gomoku, Gobang, Pente ja/või Five-in-a-Row baasil. Mängul on mitu erinevat nimetust ja nad kõik tähistavad üksteisest vähesel määral erinevat versiooni, erinevus seisneb peamiselt mängulaua suuruses. Põhimõte on igas mängus sama, saada viis järjestikku asetsevat märki vastasmängijast varem mängulauale. Mängulaud ja mängulaua ühikud on nelinurksed, mängulaua suurus on mängu klassikalistes versioonides 15x15 (Renju, Gomoku jt) kuni 19x19 (Pente) ruutu. Õpilased vahetundides ja teised vaba aja veetjad mängivad seda mängu tihti ruudulise paberi peal ilma selgete mängulaua piirideta.

  • Loodav rakenduse eesmärk on pakkuda võimalust mängu nautida traditsioonilisel viisil ning lisaks sellele laiendada kogemuste spektrit pakkudes kasutajale võimalust mängu mängida mitmeid mängutüüpe paljude erinevate vabalt valitavate parameetritega, näiteks:
    • Kiirmäng, kus kasutajal on aega käigu tegemiseks kuni 3 sekundit. Kaotus juhul kui vastane võidab või kui jätad käigu tegemata. Sellise mängu versiooni teostamiseks on väga oluline rakenduse kiire ja hästi kuuletuv kasutajaliides.
    • Mäng elupunktidega, kus mäng ei lõpe enne kui ühel mängijal saavad elud otsa. Näiteks: mäng algab 15 eluga ja iga kord kui vastane kombineerib 5 või suurema rea, läheb vastav arv elusid maha ja mäng jätkub.
    • Mäng punktidele. Sarnane eelmisele variandile, aga seekord algab punktide arvestus nullist ja sinna lisandub viiest või rohkemast elemendist koostatud rea puhul vastav arv punkte. Mäng lõpeb näiteks pärast kokkulepitud käikude arvu läbisaamist või mängulaua täitumise puhul. Võidab mängija kellel on rohkem punkte.
    • Mitmikmäng kolme või rohkema mängijaga. Võimalik, et selline variant vajab eraldi põhjalikku tasakaalustamist ja erireegleid, aga see-eest peaks pakkuma täiesti uudset kogemust. Teiste mängutüüpidega võrreldes on siinkohal üle võrgu mängimise võimalus kriitilisema tähtsusega, kuna rohkem kui kahe inimesega ühe arvuti taga mängimine võib osutuda ebamugavaks, eriti kui näiteks mängida kiirete käikudega.
    • Mõistatus-mäng: Mängija pannakse keerulisse mänguseisu millest ta peab määratud käikude arvust vähemaga edukalt välja tulema või peab korda saatma mingi erisaavutuse, näiteks 6 või rohkem sümbolit ritta saama, või mitte laskma vastasel 4 sümbolit ritta saada. NB! Eeldab arvuti vastu mängimise võimaluse olemasolu, vastasel juhul peaks iga mõistatuse juures ise kirjutama inimesele vastukäigud.
  • Lisaks eelnevale otseselt mänguga seotud funktsionaalsusele sisaldab rakendus ka quality-of-life funktsionaalsust. Siia alla käib järgmine:
    • Kasutaja sätted on kasutajaga seotud ja laetakse automaatselt kasutaja tuvastamisel.
    • Mänge saab salvestada ja laadida.
    • Kasutaja saab enda mängitud mänge järele vaadata ja ükskõik millise koha pealt uuesti edasi mängida.
    • Enamuse eespool mainitud mängutüüpide juures on lisasätted, mille abil saab mängukogemust endale sobivamaks kohandada.
    • Statistika vaade, kusjuures saab vaadata enda statistikuid ja võrrelda üldise keskmisega. Statistikute hulgas näiteks: kui mitu korda on arvuti vastu võidetud ning kaotatud, kui mitu käiku keskmiselt selleks kulub, keskmise käigu peale kulunud aeg ja muu seesugune.
    • Intuitiivne ja hõlpsalt navigeeritav menüüde süsteem.
    • Soovi korral saab kasutada n.ö. abi- või õpikuva, mis peaks aitama mängijal vältida lihtsamaid tähelepanematusest tulevaid vigu. Näiteks rakendus on võimeline tuvastama olukorda kus vastane on kahe käigu kaugusel võidust ja tõstab selle osa mängulauast esile kasutades selleks teistsuguseid värve, heledust või muid meetodeid.
  • Rakendus on loodud tavakasutajale, kõrgema astme kasutajaid ei eksisteeri kuna rakenduse olemusest tulenevalt puudub nende järele vajadus.
  • Arvestades arendajate grupi oskusi, võib keeruliseks osutuda järgnevate osade realiseerimine:
    • Algelisel tehisintellektil baseeruva vastasmängija loomine
    • Osaliselt eelneva punkti taha takerduv Mõistatus-mängutüübi loomine
    • Üle võrgu mitmikmängu võimaldamine, nii kohtvõrgus kui üle interneti
    • Mängude järelvaatamine, salvestamine ja jätkamine

Menüüde ülesehitus

  • Splashscreen
  • Kasutaja tuvastamine
  • Peamenüü
    • Mängu tüübi valimine
      • Renju
      • Pente
      • ...
      • eriparameetrite käsitsi sättimine
    • Mängu alustamine
      • inimese vastu
      • arvuti vastu
    • Mängu järelvaatamine/laadimine
      • mängi edasi inimese vastu
      • mängi edasi arvuti vastu
    • Sätted
      • esitlus ja graafika
      • kasutaja isiklikud sätted (mängulaua nuppude ja laua enda värv, nuppude suurus jms.)
    • Logid
      • rekordid
      • saavutused
      • statistika
    • Rakenduse sulgemine
  • Rakendus kasutab andmebaasi kasutaja, mängude andmete jms informatsiooni hoidmiseks

Must have Funktsionaalsus

  • Kasutaja tuvastamine
  • Rakendus mäletab kasutaja sätteid
  • Rakenduse täielik funktsionaalsus nii hiire kui klaviatuuriga
  • Mäng sama arvuti taga teise inimese vastu.
  • Lihtsamad mängutüübid
  • Mängulaua suuruse valimine
  • Ekraanisuuruse ja teiste elementaarsete videosätete valik
  • Mängude logimine
  • Lihtne statistika leht
  • Utilitaarne kujundus

Nice to have Funktsionaalsus

  • Arvuti vastu mängimine
  • Erineva raskusastmega arvuti vastu mängimine
  • Keerulisemad mängutüübid
  • Erinevate parameetrite nagu mängulaua värv, joone paksus, nupu suurus jms seadistamine
  • Mäng üle kohtvõrgu
  • Mäng üle interneti
  • Microsofti kontoga autentimine
  • Mängude järelvaatamise võimalus, kas üks käik korraga või valitava kiirusega automaatselt
  • Võimalus järelvaadatavat mängu edasi mängida valitud kohalt
  • Võimalus mängus käike tagasi võtta, tingimuslik
  • XBox puldiga rakenduse juhtimise tugi
  • Abikuva mis tõstab esile ilmselged ohud, aitab vältida lihtsaid vigu
  • Keerulisemate statistikutega statistika leht
  • Seksikas kujundus

Logiraamat

29.01.2017

  • Lõpptoode

18.12.2016

  • Rakenduse arhitektuuri prototüüp.

01.11.2016

  • Rakenduse analüüs.

15.10.2016

  • Esialgse projektiidee kehtestamine, meeskond jätab endale õiguse projektiidee hiljem ära muuta.
  • EIK wikis projektile kodulehe loomine, TFS ülesseadmine projektile.

09.10.2016

  • Lühike brainstorm projektiidee teemal, luhtus.

03.10.2016

  • Meeskonna loomine.