[wouso-dev] Interfata pentru gestiunea grupurilor (rase, clase, ghilde, echipe etc.)

Razvan Deaconescu razvan at rosedu.org
Mon Aug 11 22:46:47 EEST 2014


Salutare.

E un mail lung, dar nu am  știut cum să-l structurez altfel. Să-l
parcurgeți, vă rog, cred că e destul de important pentru mecanica
jocului.

Interfața curentă pentru gestiunea grupurilor este link-ul "Races &
Groups" din sidebar-ul din Control Panel. De acolo se pot adăuga rase și
grupuri.

Cred că interfața trebuie actualizată ținând cont de faptul că ne dorim
un engine generic peste care să contruim mai multe instanțe jocuri (unul
fiind WoUSO la anul 1). Și înainte de interfață să ne gândim la ce
funcționalități vrem să ofere.

Din punctul meu de vedere, aș denumi link-ul doar "Groups" și aș vorbi
de grupuri în mod generic ca fiind o mulțime de jucători, actualizabilă
în mod dinamic (adăugare, ștergere). Clasa este un grup, rasa este un
grup, echipele de Special Quest sunt grupuri etc. Grupurile se vor numi
altfel în alte jocuri; poate chiar în instanțele diferite de WoUSO are
sens să le spunem altfel; în povestea 2011, 2012, 2013 avea sens rase și
clase, poate în altele nu.

Ergo, aș porni de la ce acțiuni să ofere interfața. O să precizez doar
acțiunea de adăugare, dar se subînțelege cea de "ștergere" și de "editare".


1. Adăugare tip de grup ("Group Type"): adică numele tipului de grup,
adică "Class" sau "Guild" sau "Race" sau "Council" sau "Crew".

La această acțiune se precizează două lucruri:
* Numele tipului de grup
* Tipul de grup părinte (acesta poate fi "None" sau poate fi tipul
"Race" pentru tipul "Class"; adică un grup de tip "Class" este tot
timpul un subgrup al unui grup de tip "Race"


2. Adăugare grup: adică un grup dat, cu un nume "Ghilda Minerilor",
"Casa Borea" etc. În acest grup vor fi adăugați participanți.

La această acțiune se precizează:
* Numele grupului
* Un logo/banner (imagine reprezentativă)
* Un slogan al grupului
* Tipul grupului (selectat din tipurile deja adăugate); nu poți adăuga
un grup dacă nu ai un tip de grup adăugat
* Grupul părinte, pentru cazul în care tipul grupului are un tip de grup
părinte


3. Adăugare jucător la grup


Se poate face din două interfețe: o interfață specifică jucătorului
sau una specifică grupului.

Din interfața specifică grupului, se alege o acțiune "Add player(s) to
group" și apoi se caută jucători și se adaugă la grup.

Din interfața specifică jucătorului, se alege o acțiune "Add player to
group" și se caută grupul/grupurile din care jucătorul să facă parte. Un
jucător poate face parte din mai multe grupuri, dar, dacă există o
ierarhie, dintr-un singur grup pe un nivel.

Iată și pe concret un exemplu pornind de la WoUSO 2011, 2012:

1. Adăugăm tipul de grup "Race" având că tip de grup părinte "None".

2. Adăugăm tipul de grup "Class" având ca tip de grup părinte "Race".

3. Adăugăm grupul "Oxynia" (cu un logo și un slogan) de tipul "Race".

4. Adăugăm grupul "Zota" (cu un logo și un slogan) de tipul "Race".

5. Adăugăm grupul "Nifes" (cu un logo și un slogan) de tipul "Race".

6. Adăugăm grupul "Academia Ashurbanipal" de tipul "Class" având ca grup
părinte grupul "Oxynia".

7. Adăugăm grupul "Academia Dawkins" de tipul "Class" având ca grup
părinte grupul "Oxynia".

8. ...
9. ...
10. ...

11. Adăugăm grupul "Casa Leste" de tipul "Class" având ca grup părinte
grupul "Zota".

12. ...
13. ...
14. ...
15. ...

16. Adăugăm grupul "Ghilda Minerilor" de tipul "Class" având ca grup
părinte grupul "Nifes".

17. ...
18. ...
19. ...
20. ...

21. Adăugăm jucător în fiecare clasă. Se propagă automat și în
rase. Nu putem adăuga un jucător în clase diferite sau într-o clasă și
rasă care nu sunt pe aceeași arborescență.

22. Adăugăm tipul de grup "Special Quest Team" având ca tip de grup
părinte "None".

23. Adăugăm grupul "Spărgătorii" (cu logo și slogan) de tipul "Special
Quest Team".

....

În final adăugăm jucători la grupurile de tip "Special Quest Team" ca să
poată juca special quest.


Cam asta ar fi. Ideea este că pe o astfel de implementare, putem
construi ușor orice fel de ierarhie și denumire de grupuri dorim;
păstrăm engine-ul generic și îl putem adapta la instanța noastră de
World of USO pentru studenții de anul 1.

Ce ziceți?

Răzvan


More information about the wouso-dev mailing list