Proiectul 1

Nume proiect: CardBoard Game

Primul proiect la Managementul proiectelor software se desfășoară în perioada laboratoarelor 2, 3, 4, 5. Începutul laboratorului 6 este termenul limită pentru definitivat proiectul.

Proiectul va fi prezentat în forma sa finală în laboratorul 6, în perioada 31 octombrie-6 noiembrie 2018 (depinzând când aveți intervalul de laborator).

Proiectul urmărește dezvoltarea unui joc asemănător ca “look-and-feel” jocurilor de tip Turn-Based Card Games (spre exemplu Gwent, Magic: The Gathering, Hearthstone, Faeria, The Elder Scrolls: Legends, Shadowverse, Hex: Shards of Fate, Duelyst, Magic Duels, Yu-gi-oh).

Întrebări și discuții

Pentru întrebări sau nelămuriri legate de proiect, folosiți forumul dedicat al proiectului.

Cerinţa proiectului poate suferi modificări minore până în data de duminică, 7 octombrie 2018 inclusiv. Începând cu data de 8 octombrie 2018, cerinţa devine definitivă în forma curentă.

Scopul proiectului

Se dorește dezvoltarea unui joc multiplayer (cu exact doi jucători) care foloseşte cărți și se desfășoară pe o tablă. Jocul trebuie să aibă maximum trei runde, iar câștigătorul este cel care câștigă primul două runde. Implementarea presupune interfață grafică (minimală), managementul acțiunilor jucătorilor, aplicarea corectă a acțiunilor jucătorilor (și, implicit, recalcularea punctajelor cărților și a scorului) după fiecare acțiune precum și evaluarea corectă a rundelor și declararea corectă a câștigătorului. În orice moment de timp, ambii jucători văd aceeași tablă cu cărțile jucate, dar fiecare jucător vede doar propriile cărți. Este recomandat că fiecare carte (indiferent dacă e jucată sau nu) să aibă asociat un text care explică efectul jucării ei.

Arhitectura sistemului și tehnologiile folosite sunt la latitudinea studenților.

Descrierea proiectului

Întrucât sunteți deja anul 4 și discuțiile pe tema rivalității dintre susținătorii jocurilor board games și cei ai jocurilor card games s-au intensificat, vrem să vă oferim ocazia de a vă arată măiestria și skillul în cadrul unui proiect care le combină pe ambele. Cardboard game 2018 este un joc multiplayer în care exact doi jucători folosesc cărți de joc dintr-un pachet comun (și o tablă cvasimatriceală) pe care le plasează strategic în încercarea de a câștiga două din cele 3 runde maxim posibile.

Jocul

Jocul seamănă izbitor cu Hearthstone, Magic the gathering sau Gwent. Mai mult cu Gwent în principiu. Sunt 3 tipuri de carti: de personaje (maximum 500), functionale (maximum 20) si de tip lider (maximum 40). Din cele 500 de carti de personaje, jocul alege random 24, iar din aceste 24, jucatorul isi pastreaza 11. Acelasi proces are loc si pentru celalalt jucator. Din cele 20 de carti functionale jocul alege aleator 10, din care jucatorul isi pastreaza 5. Iar liderul este selectat de jucator din cei 40 disponibili. Asadar, inainte de prima din cele trei runde, fiecare jucator dispune de 11 carti de personaje, 5 carti functionale si 1 lider. În fiecare dintre cele 3 runde fiecare va juca, pe rând, câte o carte, până când ambii jucători aleg să se oprească, sau până isi consumă toate cărțile. După ce un jucător a ales să se oprească, celalalt poate continua să joace oricâte alte cărți, pana cand considera oportun sa se opreasca sau pana i se termina cartile. Scopul este câștigarea a 2 runde din 3. Cărțile jucate se consumă și nu mai pot fi folosite în rundele următoarele. Scopul este ca, însumate, cărțile jucate să confere un punctaj mai mare decât al adversarului.

Cărțile de personaje

Cărțile de pesonaje au 2 rânduri de puncte: atac și apărare. Atât atacul, cât și apărarea se adună la scorul final. Personajele sunt jucatori de la Campionatul Mondial de Fotbal 2018 din Rusia. Jucătorii și punctajele lor asociate sunt la latitudinea voastră, din punctul de vedere al implementării.

Exemple: Cartea N’golo Kante poate avea 6 puncte de atac și 1 de apărare, iar Sergio Ramos poate avea 4 atac și 6 apărare.

Dacă două personaje joacă în naționala aceleiași echipe sau la aceeasi echipa de club, un bonus se va acorda ambilor jucători.

Exemple: Dacă sunt jucate două cărți cu jucători danezi, rezultatul ar putea fi +1 la apărare ambilor jucători; Dacă se joacă două cărți cu jucători spanioli, rezultatul ar putea fi +1 la atac pentru amândoi. Dacă mai mulți jucători fac parte din același set, efectul jucării lor împreună ar putea fi: creșterea atacului tuturor, creșterea apărării celui mai bun dintre ei, repartizarea punctajului între jucători (adică din Romelu Lukaku 7/2 și Kompany 4/5 se ajunge la 6/4 pentru ambii) sau orice altă regulă, în funcție (sau nu) de naționala la care joacă. Analog, dacă personajele Lionel Messi și Junior Neymar sunt jucate împreună în aceeași rundă, toți coechipierii lor ar putea primi +1 în atac).

Cărțile funcționale

Cărțile funcționale au efect asupra cărților deja jucate (sau poate și a altora din pachet, nejucate încă, dacă vor fi jucate ulterior, în cadrul aceleiași runde). Implementarea lor e la latitudinea voastră.

Exemple: Cartea Cartonaș Roșu elimina un jucător din echipa adversă. Cartea Cartonaș Galben îi scade apărarea cu două puncte (dacă avea mai puțin de 2 puncte deja, îi scade până la 0). Unele cărți pot avea efect doar asupra cărților proprii, altele doar asupra celor ale adversarului, iar altele pentru ambii. Spre exemplu, o carte de tip Exhibiționist pe Teren poate rupe legăturile și elimina efectele jucării personajelor din aceeași națională sau din aceeași echipa de club, întrucât le perturbă concentrarea.

Cărțile lider

In acest joc, liderul este antrenorul. Acesta are două efecte: unul permanent și unul care poate fi activat în orice momemt al jocului.

Exemple: Antrenorul naționalei Elveției poate conferi tuturor jucătorilor elvețieni +1 în apărare, grație centrului de copii și jucători foarte dezvoltat. Cartea lider Tată Puiu poate preschimba toate punctele de atac ale tuturor jucătorilor în puncte de apărare. Cartea Gigi Becali poate înlocui orice personaj deja jucat (care este încă pe tablă/teren) cu altul mai slab decât el (spre exemplu înlocuirea lui Rakitic deja jucat cu Vida, încă disponibil, pentru a economisi puncte deja jucate, respectiv pentru a îl vinde mai scump pe Vida mai târziu în Asia la vreun șeic patron de club). Ambele cărți lider din joc (câte una per jucător) sunt vizibile de către ambii jucători.

Tabla/Terenul

Tablă resprezintă un cadran asemănător unui teren de fotbal. Jucătorii pot plasa până la 11 cărți de personaje într-o rundă (deși nu ar fi recomandat). Plasarea acestora se va face în una din cele 4 linii: ofensivă, mijloc, defensivă sau portar. De remarcat că este loc pentru un singur portar, dar oricâte locuri pentru celelalte 3 linii. Repartizarea pe linii produce efecte (aceste efecte sunt la latitudinea voastră).

Exemple: În linia ofensivă, jucătorilor li se cresc punctele de atac cu 2 în momentul jucării acestora. În linia defensivă, li se cresc punctele de apărare (tot cu 2). În linia mediană, atât atacul cât și apărarea primesc +1.

Precizări asupra cărților

Numărul de cărți de personaje ar trebui să fie mai mare sau egal cu 50. Ideal ar fi 15 jucători x 32 de echipe. Numărul de cărți funcționale poate fi între 20 și 40, dar cel puțin de 8 feluri diferite (exemplu: 8 feluri de cărți, câte 4 din fiecare fel = 32 de cărți funcționale disponibile, din care jucătorul va primi o submultime random de 10 cărți, din care își va alege să păstreze 5). Personajele/jucătorii și punctajele lor sunt la latitudinea dezvoltatorilor (voastră). La fel și cărțile funcționale. La fel și numărul de cărți funcționale din fiecare tip. La fel și aptitudinile liderilor.

Reguli obligatorii

Numărul de runde: 3. În caz de egalitate se dă cu banul (câștigă, random, unul din jucători, dacă scorul rundelor câștigate este 1-1. Dacă este 0-0, scorul devine 1-1. Dacă este 1-0, scorul devine 2-1. Dacă este 0-1, scorul devine 1-2). Cărțile funcționale pot avea efecte asupra oricărei linii, asupra tuturor liniilor, sau asupra unui jucător anume, asupra unor naționale sau echipe de club, respectiv asupra jucătorilor cu punctaj mai mare sau mai mic decât un prag. Efectele pot fi asupra propriilor jucători, jucătorilor adverși sau tuturor jucătorilor.

Punctaj

  • Din totalul de implementare, 30% din punctaj se acordă dacă partea de conectare la server, startul jocului și alegerea cărților funcționează (corect).
  • Încă 40% din punctaj se acordă dacă plasarea cărților și calculul scorului funcționează pentru o rundă (și, implicit, calculul se face corect, atât când se joacă o carte personaj, cât și când se joacă o carte funcțională sau se activează abilitatea liderului).
  • Încă 30% din punctaj se acordă dacă runda se finalizează corect, dacă următoarele runde rămase funcționează, respectiv se stabilește corect învingătorul (și ambii utilizatori conectați sunt înștiințați asupra deznodământului).

Bonus

Se oferă bonus pentru orice feature al jocului neprecizat în cerință, în măsură în care asistentul apreciază volumul de muncă necesar realizării lui că fiind consistent. Exemple de feature-uri care sunt eligibile pentru un bonus de 10-20%:

  • Bonus 1: Unii jucători pot avea abilități speciale: Leadership mare, predispoziție la autogol, șansă mare de a marca din penalty, maestru al simulărilor. Puteți construi reguli noi (sau existente) pentru acești jucători, care se activează când este jucată cartea personajului în cauza (exeplu: Luis Suarez mușcă un oponent și ies amândoi de pe teren instantaneu).
  • Bonus 2: Terenul și arbitrul produc efecte asupra ambelor echipe. Selecția acestora este automată (random).
  • Bonus 3: Mecanism de login al utilizatorilor și cont cu cărțile disponibile ale acestora, într-un scenariu utopic în care fiecare jucător dispune de doar anumite cărți din pachet, și un istoric al partidelor jucate (adică al scorurilor obținute) până acum.

Recomandări

Pentru o mai bună caracterizare a personajelor, recomandăm consultarea site-urilor UEFA si EA Sports.

Precizări

Arhitectura si modulele/etapele aplicației sunt propuse de către fiecare echipa in parte. Tot echipa este responsabilă cu împărțirea in task-uri, planificarea, implementarea și testarea aplicației.

Bibliografie

Livrabile

Obligatorii și care trebuie prezentate:

  1. Demo al aplicației
  2. Cod (pe Git)
  3. SDD
  4. Raport de testare

Alte livrabile la latitudinea evaluatorilor:

  1. Prezentarea aplicației
  2. Meeting minutes (minimum 2)
mps/proiect/proiect-1.txt · Last modified: 2018/10/07 23:56 by iulia.stanica
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0