Meeskond: mc2

From EIK wiki
Jump to: navigation, search

mc2

Meeskonna liikmed

  • Martin Betlem (Projektijuht)
  • Johannes Tamm (Vanemprogrammeerija)
  • Martin Mägi
  • Jana Pipar

Projekti idee

Strateegilise sõjamängu nimega Värv loomine C# keeles. Mängu eesmärk on vallutada endale suurem ala, kui on vastasel.

Analüüs

Projekt sisaldab endas 2D-vaates arvutimängu loomist, mida saaks mängida nii teiste kasutajate kui ka üksi arvuti vastu. Mängu nimi on Värv ning lisaks meelelahutusele pakub see ka võimalust arendada oma ajutegevust, kuna võitmiseks on vaja strateegiliselt mõelda. Mängu käik on lühike ning kiire, kuid sellegipoolest on see põnev ja kaasahaarav.

Mis on mängu eesmärk?

Mängu eesmärk on vallutada endale suurem ala, kui vastane endale vallutada suudab. Kogu ala on jaotatud kastideks, mida kordamööda oma värviga täidetakse. Vastase täidetud ala on võimalik ka uuesti endale võita, nii tehes saab lisaks suuremale alale ka ühe lisakäigu. Kui kogu mängulaud on täidetud, selgub võitja, kes saab endale punkti. Enne mängima hakkamist on võimalik valida, mitu mängijat mängivad ning mitme punktini mäng kestab.

Mängul peab kindlasti olema (must have)

  • Menüü:

Sealt on võimalik valida kahekesi või üksi mängimise vahel, muuta seadeid, saada infot ja abi, näha üldist tabeliseisu ning mäng sulgeda. Üksi mängimise puhul on lisaks veel võimalik valida erinevate raskusastmete vahel. „About“ valiku all on lahti seletatud mängu põhimõtted. Lisaks on realiseeritud ka registreerimise ning sisselogimise valikud. Menüü ülesehitus on väga lihtne, et seal oleks mugav nii arvutihiirega kui ka klaviatuuriga liikuda. See võiks välja näha umbes selline:

Ffffffff2.png

  • Erinevad tasemed arvuti vastu mängimisel:

Mängul on kolm raskusastet, mis on kõik arvuti poolt juhitavad. Neid saab kasutaja valida menüüst ning need on:

Easy (rumal arvuti): Sobib mängimiseks algajale ning mänguga tutvumiseks. Enamasti võidab kasutaja.

Medium (tavaline arvuti): keskmine tase.

Hard (tark arvuti): Mängimiseks edasijõudnutele, kes soovivad suuremat väljakutset ning ennast rohkem proovile panna. Sellel tasemel on arvutit raske võita.

  • Mitmekesi mängimise võimalus (multiplayer):

Mängu peab saama mängida ka kuni kaheksa mängijat korraga. Kasutajad saavad teha ise võrgupõhiseid lobby’sid ning ka liituda teiste lobby’dega. Enda tehtud lobby saab ka lukustada, mis tähendab, et teistel kasutajatel peab olema parool sellega liitumiseks. Nii saab näiteks mängida ainult enda tuttavate vastu, kellele parooli jagatakse. Eraldi valik on listi värskendamiseks. Listis on näha lobby hõivatus, interneti kiirus ehk ping (vastavalt värvidele: roheline on väga hea, kollane on keskmine ning punane on kehv) ning mängu suurus. Enne mängima hakkamist peavad kõik lobby’s olevad mängijad kinnitama, et on valmis mängima. Lobby’t luues saab muuta internetikiiruse (ping) limiiti ning seda, kaua igal mängijal maksimaalselt aega on otsuste tegemiseks või mitu korda ta saab oma käike teha.

  • Mänguväljaku suurus:

Seadetest on võimalik valida mänguväljaku suurus alates 3x3 kuni 20x20.

  • Aja funktsioon:

Mängus on oluline mõelda kiiresti, seetõttu saab valida mõlemale mängijale võrdse aja, mille jooksul mängijad oma vallutused tehtud peavad saama. Kui ühel või teisel mängijal saab aeg otsa, siis mäng kaotatakse automaatselt ning vallutuste suurus ei mängi rolli.

  • Salvestamine ja laadimine:

Pooleliolev mäng on võimalik mitmekesi mängides ka ära salvestada ning seda hiljem jätkata sama kasutaja alt.

  • Allaandmise võimalus (surrender):

Kui üks mängijatest tahab mingil põhjusel keset mängu alla anda, siis peab selleks olema võimalus. Mäng ei pea kestma maksimaalsete punktide või protsendini.

  • Punktiarvestus:

Mõlema mängija punktid ja järelejäänud aeg on terve mängu jooksul näha. Valida saab, kas mäng käib kuni mingite punktideni või protsendini.

  • Abi ja reeglid:

Menüü valikutes on võimalus saada abi, kui mingi osa mängust on jäänud arusaamatuks. Seal on lahti seletatud mängu põhimõtted ning kuidas on võimalik punkte võita.

  • Seaded:

Lisaks eelpool mainitud valikutele saab muuta mängijate nimesid, värve ning kas soovitakse mängida ajalimiidiga või ilma (kui valitakse ajalimiidiga mängimine, siis ka selle suurust). Võimalik on ka muuta mängu resolutsiooni (kas täisekraan või mitte) ning seda, millised nupud klaviatuuril tähistavad mänguks vajalikke liigutusi.

  • Täisekraani valik:

Mängida peab olema võimalik ka täisekraanrežiimis, mis teeb mängimise kohati mugavamaks ja kiiremaks. Seda saab muuta seadete valiku alt.

  • Kasutajaks registreerumine ja sisselogimine:

Mängijad peavad saama ennast ka kasutajateks registreeruda, vastasel juhul ei saa teiste lobby’desse siseneda. Registreerumiseks tuleb sisestada kasutajanimi, parool kaks korda, nimi, sünniaeg ning e-maili aadress. Seadete alt saab hiljem parooli muuta. Kasutajasse salvestatakse seadete informatsioon, mis tähendab, et mängu avamisel mõnes teises arvutis on näiteks resolutsiooni ning klaviatuuri valikud samad.

  • Mängu sulgemine:

Sulgemisel küsib programm, kas oled selles ikka kindel või soovid jätkata. See ennetab olukorra, kus kasutaja tegelikult ei soovi mängu sulgeda, kuid teeb seda kogemata.

Mängul võiks lisaks olla ka (nice to have):

  • Kujundite muutmise võimalus:

Maa-ala vallutades tehakse seda vaikimisi ruudukujuliste tükkidena. Mängul võiks aga olla võimalus muuta nende suurust või kuju, näiteks kolmnurkadeks.

  • Disain:

Mängul võiks olla võimalikult ilus ja funktsionaalne disain, et mängijatel oleks kõigest hea ülevaade ning et nad seda naudiksid.

  • Profiilipildi lisamine:

Mängijatel on võimalik oma kasutaja alla lisada ka endale meelepärane profiilipilt.

Prototüüp

Prototüübi leiab siit: SIIN

Kasutusjuhend: Mängu saab käivitada, kui avada .zip fail ning sealt käivitada Color Of War Board Game.exe.

Prototüübis on realiseeritud kõik must-have funktsionaalsused, millest pikem ülevaade on rakenduse analüüsis. Nice-to-have funktsionaalsustest on realiseerimata nii kujundite muutmise võimalus kui ka profiilipildi lisamine.

Lõpptoode

Arendusprotsessi kirjeldus

Lähtekoodid: http://enos.itcollege.ee/~jtamm/Charp/Project/1/Color%20Of%20War%20Board%20Game%20(Source).zip

Tiimi panime kokku septembri alguses. Sel perioodil mõtlesime välja, millise mängu soovime luua ning panime paika üldise plaani, kes millega arendusprotsessi jooksul tegelema hakkab ning valmis ka esimene versioon programmist. Oktoobri lõpuks oli loodud tiimile Wiki leht ning Team Foundation Server, et saaksime meeskonnatööd koordineerida ning kõik pääseksid koodile ligi. Samuti planeerisime oma programmile esmase andmebaasimudeli. Novembris tegelesime koodi kirjutamisega ning kodutöö raames vajalike kirjatükkide (analüüs, retsensioon) koostamisega. 13. detsembriks oli valmis prototüüp, mida 17. detsembril koos Powerpoint esitlusega ette kandsime. Sellele järgnes taas retsensioon teise tiimi prototüübi kohta ning 20. jaanuariks tegime koodis veel viimased muutused ning esitasime lõpliku variandi oma tööst.

Rühmaliikmete panus

Johannes Tamm: 100%, projektijuht, vanemprogrammeerija, esitlus.

Martin Betlem: 80%, programmeerija, projekti idee, andmebaasi koostamine ja loomine, testimine, Wiki leht.

Jana Pipar: 70%, programmeerija, analüüs, retsensioonid, kasutusjuhend, esitlus.

Martin Mägi: 50%, disain.

Kasutusjuhend

Color Of War Board Game http://enos.itcollege.ee/~jtamm/Charp/Project/1/Color%20Of%20War%20Board%20Game.zip

Mängu käivitamiseks tuleb avada “Color Of War Board Game.exe” fail. Avalehe menüüst saab mängu alustada (“Play”), näha parimate mängijate edetabelit (“Leaderboards”), muuta mängu seadeid (“Settings”) ning mäng sulgeda. “About” valiku all on info mängu loojate kohta. Kui valida “Play”, saab otsustada, kas soovitakse mängida arvuti vastu (“Single vs. CPU”), üksteise vastu (“Multiplayer”) või soovitakse taaskäivitada poolelijäänud mäng (“Load”). Arvuti vastu mängides avaneb kõigepealt aken, kus saab muuta mängu suurust, aega ning mängijate värve ning arvuti raskusastet. Vajutades “Play”, algab mäng. Täringud loosivad kõigepealt alustaja ning seejärel saab hakata täitma kaste kordamööda oma värviga. Kui ühe mängija kasti ümbritseb kahest vastasküljest vastase värvi kast, siis mängija kaotab selle kasti vastasele ning vastane saab lisakäigu. Kastide täitumisel selgub võitja ehk mängija, kelle värvi kaste asub mängulaual rohkem. Multiplayer valiku puhul tuleb kõigepealt luua Lobby ehk keskkond, millega saavad ka teised mängijad liituda (“Create lobby”). Selleks tuleb luua kasutaja või juba olemasoleva kasutajaga sisse logida ning siis valida Lobby’le nimetus. Lobby’s saab samuti valida mänguvälja suuruse, mängijate värvid, ajalimiidi ning vajadusel lisada ka parooli. Kui kõik mängijad on teinud linnukese kasti “Ready”, saab mängu alustada, valides “Start”. Lobby’ga liitunud mängijate nimekirja all on võimalik teistele mängijatele sõnumeid saata, samuti saab seda teha, kui juba mäng käib. Mängu jooksul on näha osalevate mängijate nimed, punktid ning allesjäänud aeg üleval paremas nurgas. Pooleliolevat mängu saab salvestada, kui vajutada all nurgas asuvale hammasrattaikoonile. Seal on võimalus mängu jätkata (“Resume”), muuta seadeid (“Settings”), mäng salvestada (“Save”) või lõpetada (“Exit to menu” või “Exit”, mis sulgeb mängu).

Kasutajat luues tuleb sisestada kasutajanimi, parool kaks korda, oma nimi, sugu, vanus ning e-mail. Olemasoleval kasutajal saab parooli muuta, kui avada “Settings” ja “Profile” ning valida “Change password”. “Settings” alt saab muuta ka mänguvälja taustapilti (“Background”). Veel on võimalik sealt valida, kas mängija soovib mängida hiire või klaviatuuriga. Näiteks “Settings” -> “Mouse” -> “Enabled” tähendab, et mängimise ajal hiir ei tööta ning mängida saab vaid klaviatuuriga.

Programmi on võimalik suunata ka serverisse. Sel juhul tuleb mäng käivitada parameetriga, näiteks “Color Of War Board Game.exe” 127.0.0.1:1500.


Color Of War Board Game Server http://enos.itcollege.ee/~jtamm/Charp/Project/1/Color%20Of%20War%20Board%20Game%20Server.zip

Programm tuleb ühendada andmebaasiaadressile (localdb)\MSSQLLocalDB, andmebaasi nimi on GameBase. Selle loomiseks tuleb avada fail “script.sql” programmiga SQL Server Management Studio ning sealt valida “Execute”.

Kui see ei tööta, tuleb avada Command Prompt ning kirjutada: sqllocaldb start, alla peaks tulema teade: LocalDB instance "MSSQLLocalDB" started.

Serveri ühenduse muutmiseks tuleb muuta failis “Color Of War Board Game Server.exe.config” välja “connectionString=...”.

NB! Peale SQL Server Management Studio avamist tuleb eemaldada linnuke valiku "Prevent saving changes that require table re-creation" eest. See asub Tools -> Options -> Designer.

Serveri käivitamiseks tuleb avada mängu “Color Of War Board Game Server.exe” fail. Käsud:

  • start - server käivitub;
  • stop - server lõpetab töö;
  • status - serveri info;
  • port - serveri port (vahemikus 1-65355);
  • help või ? - kuvatakse käsude nimikirja ja seletus.
  • exit - programm lõpetab.

Pordi väärtust on ka võimalik muuta. Kui soovitakse näiteks väärtust “15000”, tuleb kirjutada konsooli “port 15000” ning vajutada Enter nuppu.

Programmi käivitamisega on võimalik ka kohe käivitada server. Sel juhul tuleb server käivitada parameetriga, mis on seotud pordi numbriga, näiteks “Color Of War Board Game Server.exe” 16000.

Logi (2015)

8.september

  • Meeskonna kokkupanek
  • Arutlemine
  • Plaanimine
  • Programmi loomine

20.oktoober

  • Wiki lehe loomine
  • TFSi loomine

27.oktoober

  • andmebaasi mudel oma planeerimine

Andmedmudel.png

1.november

  • Analüüsi esitamine

8.november

  • Retsensiooni esitamine

13.detsember

  • Prototüübi esitamine
  • Andmebaasi mudel programmis

Mudelfinal.jpg

16.detsember

  • PowerPoint esitluse koostamine ja ette valmistamine

17.detsember

20.detsember

  • Retsensiooni esitamine

19.jaanaur

  • Lõpptoode esitamine

26.jaanaur

  • Retsensiooni esitamine