Meeskond:VariableMoods: Difference between revisions

From ICO wiki
Jump to navigationJump to search
(Koosolek nr 1)
No edit summary
Line 3: Line 3:
*Krister Kamla
*Krister Kamla
*Berit Veidemann - projektijuht
*Berit Veidemann - projektijuht
<br/>


=Idee=
=Idee=
Line 12: Line 11:




==== Projekti kirjeldus ====
: Loodava rakenduse näol on tegemist mänguga, kus mängija peab järjestama ajaloolisi sündmusi, vastavalt nende toimumise ajale. <br/>Esialgu on tegemist ''singleplayer'' versiooniga. Sõltuvalt mängurežiimist jagatakse teatud arv sündmusi mängijale ning teatud arv sündmusi pannakse lauale. Mängija käes on sündmused juhuslikus järjekorras, laual olevad on kronoloogiliselt järjestatud. Mängija ülesandeks on käes olevad sündmused asetada lauale teiste sündmuste suhtes õigesse kohta. Mängija võidab, kui on kõik käes olnud kaardid lauale pannud.
====Funktsionaalsed nõuded (''Must have'') ====
#Vajalike objektide loomine
#*mäng
#**mängija, režiim, sündmused mängus, käsi, laud
#*mängija
#**nimi, hetke skoor, üldskoor, võidud, kaotused
#*režiim
#**sündmuste arv käes
#**sündmuste arv laual
#**ajalimiit
#**sündmuse raskusaste
#**sündmuste ajaline piirang
#**paki suurus
#**kas vana kaart jääb kätte
#*käsi
#**käes olevad sündmused
#**aktiivne sündmus
#*laud
#**lauale olevad sündmused
#**''ghost''-sündmus
#*sündmus
#**nimetus
#**aastaarv
#Andmebaasi tabelite loomine: mängija, edetabel, mängurežiim, sündmus. (''create'')
#Mängija nime sisestamine ja andmebaasist nime olemasolu kontrollimine (''read''). Kui mängija nime andmebaasis ei ole, siis luuakse andmebaasi uus kasutaja (''insert''). Kui andmebaasis on vastavanimeline mängija olemas, küsida kasutajalt, kas ta soovib seda mängijakontot kasutada. Kui jah, siis päritakse andmebaasist mängija andmed (''read''), vastasel juhul palutakse mängijal muu nimi valida.
#Mängurežiimi valimine: kolm valikut
#*''standard'' – 4 kaarti käes, 1 laual, valesti pakutud kaart ei jää mängu, vaid läheb maha, muud väärtused puuduvad
#*''survival'' – 4 kaarti käes, 1 laual,  ajapiirang 1 minut, valesti pakutud kaart jääb mängu
#*''custom'' – mängija saab ise kombineerida mängurežiimi
#Mängureziimi andmete pärimine andmebaasist (''read'')
#Vastavalt valitud mängurežiimile andmebaasist sündmuste pärimine mängu pakki (''read'')
#Vastavalt mängurežiimile sündmuste jagamine kätte ja lauale
#Laual olevate sündmuste liigutamine mängija poolt, nii et vaba ruum jääks kahe laual oleva sündmuse vahele (''ghost'')
#Käes olevatest sündmustest ühe aktiivseks muutmine
#Käes oleva aktiivse sündmuse valimine ehk lauale panemine
#Mängija valiku õigsuse kontrollimine
#Uue kaardi lisamine pakist kätte (sõltub mängurežiimist ja mängija käigust)
#Käidud kaardi lisamine lauale
#Käidud kaardi eemaldamine mängust
#Mängu kestvuse arvestamine
#Mängu kestvuse võrdlemine ajalimiidiga
#Käes olevate kaartide koguse kontrollimine (kontrollimaks kas kaardid on otsas)
#Eduka lõpu korral õnnitluse kuvamine, kaotuse korral kaastunde avaldamine
#Andmebaasist edetabeli pärimine, andmebaasi edetabeli muutmine (uue tulemuse sissekandmine) (''update, read'')
#Mängijalt uue mängu alustamise soovi küsimine
#Mängu lõpetamine mängija soovil
====Lisavõimalused (''Nice to have'') ====
:*Mängija kasutajanime kaitsmine parooliga
:*Mängija poolt võimalus sündmusi mängu lisada. Lisada pilt, nimi, kirjeldus, aastaarv
:*''Multiplayer'''i võimalus võrgus või ''hotseat''-versioon
:*Sündmuse kohta vihje küsimise võimalus
:*Mängija võimalus käes olevaid kaarte enda soovi kohaselt järjestada
:*Valesti käidud kaardid mitte eemaldada mängust, vaid jätta mängulauale selleks ettenähtud kohta. Need võivad abistada mängijat edasise mängu juures (või siis rohkem segadusse ajada).
:*''Soundtracki'' loomine
====Mittefunktsionaalsed omadused ====
:Visuaalne külg: mänguakna keskel on horisontaalselt reas laual olevad sündmused nagu kaardid, nende keskel on raamistatud vaba ruum ehk ''ghost''-sündmus – koht, kuhu lisatakse käest valitud sündmus. Laual olevatel kaartidel on kuvatud pilt ja aastaarv ning nad on kronoloogiliselt järjestatud. ''Ghost''-kaarti saab laual olevate sündmuste vahel liigutada. Visuaalselt jääb aga ''ghost'' paigale ning liiguvad laual olevad sündmused. <br/>Laual olevate kaartidest allpool on mängija käes olevad kaardid. Kuvatakse ainult teatud arv käes olevaid kaarte, rohkemate kaartide korral kuvatakse nool numbriga, mis näitab, kui palju sündmusi on mängijal käes ühel ja teisel pool.
====Teostus ja tehniline platvorm====
:
====Raskused, mis võivad meile osaks saada====
:*Kontrolleri seadistamine
:*Graafilise liidese tegemine
:*Unity selgeks õppimine ja kasutamine
:*Ajalistest tähtaegadest kinnipidamine
====Tööjaotus====
:*Krister teeb tööd
:*Berit teeb koostööd
:*Mihkel kritiseerib


=Ajaveeb=
=Ajaveeb=

Revision as of 12:22, 31 October 2014

Liikmed:

  • Mihkel Künnapas
  • Krister Kamla
  • Berit Veidemann - projektijuht

Idee

Meie projekti eesmärgiks on luua mäng, mis seisneb ajalooliste sündmuste korrektse kronoloogilise järjestuse tuvastamises. Mängu loomiseks kasutame programmeerimiskeelt C# ning Unity mängumootorit. Versioonihalduseks kasutame Team Foundation Serverit (TFS). Lisaks kasutame projekti teostamiseks elutervet huumorit ja võimet töötada vajadusel magamata.

Analüüs

Projekti kirjeldus

Loodava rakenduse näol on tegemist mänguga, kus mängija peab järjestama ajaloolisi sündmusi, vastavalt nende toimumise ajale.
Esialgu on tegemist singleplayer versiooniga. Sõltuvalt mängurežiimist jagatakse teatud arv sündmusi mängijale ning teatud arv sündmusi pannakse lauale. Mängija käes on sündmused juhuslikus järjekorras, laual olevad on kronoloogiliselt järjestatud. Mängija ülesandeks on käes olevad sündmused asetada lauale teiste sündmuste suhtes õigesse kohta. Mängija võidab, kui on kõik käes olnud kaardid lauale pannud.

Funktsionaalsed nõuded (Must have)

  1. Vajalike objektide loomine
    • mäng
      • mängija, režiim, sündmused mängus, käsi, laud
    • mängija
      • nimi, hetke skoor, üldskoor, võidud, kaotused
    • režiim
      • sündmuste arv käes
      • sündmuste arv laual
      • ajalimiit
      • sündmuse raskusaste
      • sündmuste ajaline piirang
      • paki suurus
      • kas vana kaart jääb kätte
    • käsi
      • käes olevad sündmused
      • aktiivne sündmus
    • laud
      • lauale olevad sündmused
      • ghost-sündmus
    • sündmus
      • nimetus
      • aastaarv
  2. Andmebaasi tabelite loomine: mängija, edetabel, mängurežiim, sündmus. (create)
  3. Mängija nime sisestamine ja andmebaasist nime olemasolu kontrollimine (read). Kui mängija nime andmebaasis ei ole, siis luuakse andmebaasi uus kasutaja (insert). Kui andmebaasis on vastavanimeline mängija olemas, küsida kasutajalt, kas ta soovib seda mängijakontot kasutada. Kui jah, siis päritakse andmebaasist mängija andmed (read), vastasel juhul palutakse mängijal muu nimi valida.
  4. Mängurežiimi valimine: kolm valikut
    • standard – 4 kaarti käes, 1 laual, valesti pakutud kaart ei jää mängu, vaid läheb maha, muud väärtused puuduvad
    • survival – 4 kaarti käes, 1 laual, ajapiirang 1 minut, valesti pakutud kaart jääb mängu
    • custom – mängija saab ise kombineerida mängurežiimi
  5. Mängureziimi andmete pärimine andmebaasist (read)
  6. Vastavalt valitud mängurežiimile andmebaasist sündmuste pärimine mängu pakki (read)
  7. Vastavalt mängurežiimile sündmuste jagamine kätte ja lauale
  8. Laual olevate sündmuste liigutamine mängija poolt, nii et vaba ruum jääks kahe laual oleva sündmuse vahele (ghost)
  9. Käes olevatest sündmustest ühe aktiivseks muutmine
  10. Käes oleva aktiivse sündmuse valimine ehk lauale panemine
  11. Mängija valiku õigsuse kontrollimine
  12. Uue kaardi lisamine pakist kätte (sõltub mängurežiimist ja mängija käigust)
  13. Käidud kaardi lisamine lauale
  14. Käidud kaardi eemaldamine mängust
  15. Mängu kestvuse arvestamine
  16. Mängu kestvuse võrdlemine ajalimiidiga
  17. Käes olevate kaartide koguse kontrollimine (kontrollimaks kas kaardid on otsas)
  18. Eduka lõpu korral õnnitluse kuvamine, kaotuse korral kaastunde avaldamine
  19. Andmebaasist edetabeli pärimine, andmebaasi edetabeli muutmine (uue tulemuse sissekandmine) (update, read)
  20. Mängijalt uue mängu alustamise soovi küsimine
  21. Mängu lõpetamine mängija soovil

Lisavõimalused (Nice to have)

  • Mängija kasutajanime kaitsmine parooliga
  • Mängija poolt võimalus sündmusi mängu lisada. Lisada pilt, nimi, kirjeldus, aastaarv
  • Multiplayer'i võimalus võrgus või hotseat-versioon
  • Sündmuse kohta vihje küsimise võimalus
  • Mängija võimalus käes olevaid kaarte enda soovi kohaselt järjestada
  • Valesti käidud kaardid mitte eemaldada mängust, vaid jätta mängulauale selleks ettenähtud kohta. Need võivad abistada mängijat edasise mängu juures (või siis rohkem segadusse ajada).
  • Soundtracki loomine

Mittefunktsionaalsed omadused

Visuaalne külg: mänguakna keskel on horisontaalselt reas laual olevad sündmused nagu kaardid, nende keskel on raamistatud vaba ruum ehk ghost-sündmus – koht, kuhu lisatakse käest valitud sündmus. Laual olevatel kaartidel on kuvatud pilt ja aastaarv ning nad on kronoloogiliselt järjestatud. Ghost-kaarti saab laual olevate sündmuste vahel liigutada. Visuaalselt jääb aga ghost paigale ning liiguvad laual olevad sündmused.
Laual olevate kaartidest allpool on mängija käes olevad kaardid. Kuvatakse ainult teatud arv käes olevaid kaarte, rohkemate kaartide korral kuvatakse nool numbriga, mis näitab, kui palju sündmusi on mängijal käes ühel ja teisel pool.

Teostus ja tehniline platvorm

Raskused, mis võivad meile osaks saada

  • Kontrolleri seadistamine
  • Graafilise liidese tegemine
  • Unity selgeks õppimine ja kasutamine
  • Ajalistest tähtaegadest kinnipidamine

Tööjaotus

  • Krister teeb tööd
  • Berit teeb koostööd
  • Mihkel kritiseerib

Ajaveeb

Koosolek: 30. oktoober 2014

Jagasime oma nägemusi loodavast rakendusest ning formuleerisime konkreetsema visiooni oma projekti jaoks. Panime paika vajalikud funktsionaalsused ning lisavõimalused.