Csoport neve: SpeedCards





Felhasználói Dokumentáció




Gyakorlatvezető:

ÁRVAI LÁSZLÓ


Csoport tagok:


Baumel Márton O09CTQ marcibaumel@gmail.com
Korita Zsófia W63HPU korita.zsofi12@gmail.com
Edl Levente JEKPUI husi5644@gmail.com
Markó Roland FRNJTJ marko.roland.2000@gmail.com
Husóczki Dániel HLO5ZK husoczkidaniel@gmail.com




Történet


Dátum Verzió Leírás Szerző
2020.10.22 1.0 Dokumentum Létrehozás Baumel Márton
2020.10.24 1.1 Megbeszélés utáni javítások (Megjelenési Állapotok, Az alap GUI-ok jellemzése) Baumel Márton
2020.10.25 1.2 Képek bővítése Baumel Márton
2020.11.04 1.3 Formázás, kisebb javítások Korita Zsófia



Projekt terv

1. Bevezetés

2. Rendszerkövetelmények

3. Bejelentkezés

3.1 Bejelentkezési lehetőség

3.1.1 Regisztráció

3.1.2 Bejelentkezés

3.1.3 Kijelentkezés

4. Program Elindítása

5. Felhasználó Felület

6. A Termék Állapotok Jellemzői, Biztosított Szolgáltatások

6.1. Megjelenési Állapot

7. Termék Használatának előnyei

8. Termék Helye

9. Használhatóság

10. Teljesítmény/ Kockázati Lista

11. Dokumentáció Leírása




1. Bevezetés

A mi szoftverünk egy kártyajáték amely a népszerű kártyajátékok játékmechanikáit az RTS stílus alapjaival teremt egy új játékot. A játék alap koncepciója az, hogy egy fiktív jövőbeli világban létezik egy “SpeedCards” néven működő kártyajáték, amit az emberek szórakozás képen játszanak egymás ellen.
A játék grafikus stílusa egy disztópikus SCI-FI világ egy sötétebb tónussal, leginkább a Warhammer univerzumhoz lehetne hasonlítani. Játékosnak a játék közben stratégikusan kell gondolkodnia hogy ha meg szeretné nyerni a mérkőzést, mivel gyorsan kell döntenie, egy meccset úgy kell elképzelni mint egy sakk mérkőzést azaz minden egyes lépésünket pontosan meg kell tervezni, hogy később győzni tudjunk.


2. Rendszerkövetelmények

Az általunk fejlesztett játékszoftverhez az előre minimális számítógépigény minden felhasználó számára könnyen teljesíthető. A merevlemezen foglalt terület körülbelül 3 és fél gigabyte helyet fog foglalni, bár ez a későbbiekben növekedhet attól függően, hogy a végtermék mennyi textúrát fog tartalmazni és milyen részleteset. A memória követelmény 1 Gigabyte nagyságú lesz, bár ez megint csak változhat a végleges grafika minőségétől. A támogatott operációs rendszerek Windows 7 és újabb verziók, ez a későbbiekben bővülhet egyéb rendszerekre (pl. Android).
Későbbiekben játékhoz folyamatos internetkapcsolat is szükséges lesz, aminek legalább 250 Kb/s gyorsaságúnak kell lenni a megfelelő működéshez. Ahhoz, hogy játszani tudjunk vele, szükséges egy felhasználói fiók.
Követelmény:

3. Bejelentkezés

3.1 Bejelentkezés lehetőség

A játék menüjébe lesz lehetőségünk megnyitni a Profil fület ahol a felhasználói fiókunkat leszünk képesek menedzselni, ezt a átláthatóság elkülönítettük egy “Profil Management” felületre. Ha a felhasználó nincs belépve akkor 2 gomb válik elérhetővé, az egyik a bejelentkezés a másik pedig a regisztráció.

3.1.1 Regisztráció

Ahhoz, hogy a felhasználó be tudjon lépni a játékba regisztrálni kell egy Profilt-t amit a Profil Management felületen tehet meg. Ilyenkor meg kell adnia az email címét, a felhasználó nevét és egy szabadon választott jelszót amiben kell egy nagybetűs karakter és egy szám karakter. Ha helyesen adta meg akkor kapni fog egy visszaigazoló email-t ami után aktív lesz a profilja.

3.1.2 Bejelentkezés

Ha a felhasználó felhasználói fiókja aktív akkor a Bejelentkezés gombra kattintva a megadott adatok helyes beírásával képes lesz belépni a saját profiljába.

3.1.3 Kijelentkezés

Ha a felhasználó be van jelentkezve akkor lehetősége van kijelentkezni, ilyenkor ha a felhasználó megnyomja a Kijelentkezés gombot akkor az alkalmazás visszadob a bejelentkezésre szolgáló Profil Management felületre.


4. Program Elindítása

A játékot nem kell telepíteni, elegendő csak letölteni és már futtatható formában is van a játék, készen áll a használatra. Mielőtt azonban letöltjük a játékot előtte ellenőrizzük le hogy a gépünkön van-e Java JRE(Java Runtime Enviroment) telepítve, mivel ugyan a játékot nem kell telepíteni, de a java-t kell, mivel a játék java futtató környezetben fog csak működni , amiért a JVM(Java Virtual Machine) fog felelni.


5. Felhasználó Felület

A játékban 3 jól elkülöníthető felület van:

1. Főmenü

Ha felhasználó elindítja a programot ez lesz az első felület amit a felhasználó látni fog. Itt 3 gomb és egy profil gomb helyet foglalni. A Play gombbal tudunk belépni a játékba de előtte szükséges a belépés a profilba de ezt külön jelzi is a program. Az Options gombbal tudjuk beállítani a felbontást és a hangerőt. Az Exit gombbal tudunk kilépni az alkalmazásból. A Profil gomb a képernyő bal oldalán lesz elérhető, itt látható lesz, hogy hanyas szintűek vagyunk de ha rányomunk bejön a Profil Management felület.





menu-options




2. Profil

Ha a Főmenübe rányomunk a Profil gombra bejön a Profil Management felület. Itt leszünk képesek managelni a profilunkhoz kapcsolódó tevékenységeket: bejelentkezést, regisztrációt és a kijelentkezést.





menu-options





menu-options





menu-profil

3. Játék Felület

A sikerült bejelentkezni akkor leszünk képesek elindítani a Play gombbal egy játékot. Ilyenkor a egy 6 felé tagolt pályát fogunk kapni, de ez szimmetrikusan megegyezik ezért csak a mi szemszögünkből lévő 3 sávot fogom bemutatni. Az első sáv a kijátszható kártyákat tartalmazza, ezzel a sávval tud interakcióba kerülni a felhasználó, mellette pedig megtalálható lesz a játékbeli karakterünk aktuális tulajdonsága egy négyzetben alatta helyezkedik el az aktuális kör befejezésére szolgáló “End Turn” gomb. A következő sáv a légi egységek vannak és a harmadik sávban helyezkednek el a földi egységek ezekben a sávokban oldalt lehetnek lapok amik hatást fejthetnek ki később. Ha megnyomjuk az ESC gombot a billentyűzeten akkor egy Options ablak ugrik fel ahol képesek vagyunk beállítani a játék hangját vagy kiléphetünk a játékba vissza a Főmenübe.





menu-play






6. A Termék Állapotok Jellemzői, Biztosított Szolgáltatások

Alap adatok

:

Földi egységenként körönként kapunk 250 darab Kristályt amit elkölthetjük a lapok kijátszására. Nincs szabály, hogy hány lapot játszhatunk ki egy körbe, egyedül elkölthető Kristályoktól függ. Körönként a megmaradt Kristály mennyiség nem törlödik hanem össze adódik az új mennyiséggel.

Kártya tulajdonságok

:

6.1. Megjelenési Állapot/ Végtermék

A felhasználó be tud jelentkezni a játékba és saját profilt tud létrehozni ahol tapasztalati pontot kap a lejátszott mérkőzésekért ezenkívül érvényesülne a szezon rendszer és lehet már paklikat is vásárolni.

Ennek a változtatnak biztosítani kell végleges grafikus felületet. A program indításakor fő menübe találjuk magunkat ahol elindíthatjuk a játékot, elérhetjük a beállításokat, a profilt vagy kiléphetünk a programból. A kilépésnél bezáródik a program míg a játék indításakor betölt egy paklit választó felületet ahonnan ha kiválasztottuk a paklit utána kitudjuk választani, hogy valós felhasználó ellen szeretnénk játszani vagy gépi ellenfél ellen és el tudjuk indítani a mérkőzést, a profil gomb megnyomásakor elérhetővé válik a pakli generálás, bolt, a szezon tabella ahonnan megtudja szerezni a profiljához köthető jutalmat és itt tudja kinyitni a megszerzett paklijait, a beállításoknál pedig a hangerejét, játék grafikai részletességét és a játék fényességét lehet beállítani.

Ebben a állapotban már van lehetőség egyéni paklikat össze rakni a pakli generáláskor ilyenkor megjelenik a profilunk által birtokolt összes lap és azok közül tudunk építeni egy összesen 30 lapos paklit ezt pedig egy általunk választott “Karakterhez” tudjuk csatolni. A karakterek közötti különbség ott merül ki, hogy a mezőn lévő egységek tulajdonságai különbözni fognak. Ha kiválasztottuk a paklinkat a játék elindul a 0. Játék fázissal azaz a program automatikusan lerakja a “földi” és “légi” egységeket a hozzájuk rendelt sávra. Ezután pedig a megkapjuk a kezdő paklinkat amit 4 db lapból fog állni és emellett megkapjuk az alap elkölthető Kristály számunkat. A mi 4 lapunk számunkra látszik de az ellenfél nem látja őket és mi sem látjuk az ellenfél lapjait. Maximum 8 lap lehet nálunk egyszerre.

Ha a 0. Fázis befejeződőt akkor a 1. Játék Fázisra lép a program ahol is egy random generált számmal fogjuk eldönteni, hogy ki kezdje majd el a 2. Játék Fázist. Ha egyes, az ellenfél kezd ha pedig nulla, akkor mi kezdünk. Ennek az eredményét animációval íratjuk ki a fő képernyőre. Feltételezzük, hogy a véletlenszerűen generált szám 0 lett ekkor mi kezdjük el a 2. Játék Fázist. Ebben körben tudjuk majd kijátszani a lapokat és a hatásuk a leírásuk alapján érvényesül.

A lap kijátszása úgy történne meg, hogy a kezünkben lévő lapok egyikére nyomunk és ekkor megjelenik egy felugró ablak amin dönthetünk a kártya használatáról és elolvashatjuk a teljes leírását. A leírás tartalmazza a kártya által végzett változtató folyamatokat. Ilyenkor kijátszhatjuk a megnyitott kártyát vagy vissza is rakhatjuk a kezünkbe. Egy körben több lapot is ki játszhatunk attól függően, hogy mennyi Kristályunk van mert a lapok Kristályba kerülnek. A lap kijátszás ilyenkor már animációval történik meg. Ha befejezettnek ítéli a felhasználó ezt a fázist akkor a képernyőn fog találni egy gombot amivel befejezheti ezt a fázist. Ha megnyomta ezt gombot akkor a program a 3. Játék Fázisra lép át egy kisebb átvezető animációval, a Földi Egységünk véletlenszerűen megtámadja az ellenfél földi egységeit amit most már animációval is láthatunk.

A Földi Egységünknek a támadó pontja levonódik az ellenfél Földi Egységének élet erejéből, de ez fordítva is igaz, azaz az ellenfél egységének a támadó pontja is levonódik a mi egységünk élet erejéből. Ha a valamelyik Földi Egység életereje nullára csökken az a egység eltűnik a mezőről amit most már egy eltűnő animációval is jeleznénk. Ezután ha mindkét oldalon maradt Földi Egység akkor a játék tovább folytatódik a 4. Játék Fázissal ha valamelyik oldalon nem maradt több Földi Egység akkor a 5. Játék Fázis következik.
A 4. Játék Fázis értelmében a program 2. Játék Fázistól folytatódik az ellenfél szemszögéből. 2 fajta ellenfél lehet az egyik a gépi a másik pedig egy igazi felhasználó. Ha gép ellen játszunk akkor a kártyát úgy játssza ki, hogy az összes felhasználható Kristály mennyiségből, kiszámolja hogy tudja a lapokat úgy kijátszani, hogy a földi egység támadó pontja a legmagasabb legyen és azokat a lapokat fogja kiválasztani és lerakni a mezőre, ezután ha befejezte a lap lerakást automatikusan átlép a 3.Játék Fázisra és onnan a 4. Játék Fázisra de ha valós felhasználó ellen játszunk akkor a felhasználó olyan sorrendben dönt a lapok felhasználásáról ahogy jónak látja és utána neki is meg kell nyomnia a kör befejezéséről szóló gombot, ha maradt mindkét oldalon Földi Egység akkor mi kezdjük el a 2. Játék Fázisunkat.
Annak érdekében, hogy elkerüljük a felesleges időhúzást a 2. Játék Fázisunk maximum 2 percig tarthat ha lejárt az idő automatikusan következik a következő fázis.

Ha az egyik oldalon nem maradt több Földi Egység akkor a játék átlép az 5. Játék Fázisra. Az győz akinek maradt Földi Egysége, vagy ha megismétlődik a 4. Játék Fázis 15-ször akkor és nem születik abszolút győztes akkor az győz akinek a támadópontja több a jelenlegi mezőn. Ha olyan helyzet alakulna ki, hogy 15 kör alatt nincs abszolút győztes és a támadáspont is megegyezne akkor az győz aki a játék egésze alatt a legtöbb támadáspontot kiosztotta.

Animációval íratjuk ki a győztes fél nevét és ha az egér bal gombjával nyomunk egyet a képernyőre automatikusan visszadob a játék főmenü képernyőjére.

Gazdasági Megoldások:

A játék gazdasági modelljét 2 felé tudjuk választani a felhasználók igényeihez igazítva.

  1. Pakli Vásárlás
    Ha egy játékos egyszerűen csak bővíteni szeretné a kártya gyűjteményét az megteheti pakli vásárlással, egy pakli 5 véletlenszerű lapot fog tartalmazni.

  2. Szezon Bérlet
    Azok a játékosok akik jobban elkötelezettek azoknak lehetőség van a játékbeli szezononként előfizetést vásárolni, ilyenkor exkluzív ajándékokat kaphatnak a játékkal töltött idő függvényében. Ezt úgy oldanánk meg, hogy szintenként nyílna meg számukra egy jutalom egészen a 100. szintig.


7. Termék Használatának előnyei

Használati előnyök amit a termék biztosít


8.Termék Helye

A termék alapötlete egy játék, ezért a már kész szoftvert a játékiparban tervezzük elhelyezni. Itt több játékplatform is létezik ahol össze vannak gyűjtve minden kategóriából a játékok, ezek közül mi elsősorban a jelenleg leghíresebb platformot választottuk a Steamet, de a jövőben, ha a termék terjeszkedni fog más eszközökre is akkor telefonon a Play Store-ban és az Apple Store-ban is meg lehet lesz találni.

Napjainkban nagyon sok gyerek és felnőtt szereti elütni szabadidejét azzal, hogy videojátékokkal játszanak, ennek a játéknak is ez a célja, az emberek szórakoztatása szabadidejükben.

A fő célközönség a 14 és 30 éves felhasználók, mivel statisztikák alapján ez a korosztály intervallum játszik a legtöbbet online, viszont ez nem azt jelenti, hogy az intervallumon kívüli korosztály nem játszhat a játékkal, bármilyen kortól lehet vele játszani.

Mivel a kártyajáték alaptörténete egy érdekes SCI-FI világban játszódik mellesleg a stratégiai játékok és a kártyajátékok kedvelőit is nagymértékben csábítani fogja. A játék elsősorban asztali számítógépre van tervezve, de a jövőben mobil alkalmazásként is szerepet fog játszani, mivel a egy meccs nem tart hosszú ideig, így akár menet közben, kis időre is elővehetik és játszhatnak vele a felhasználók.

Több hasonló játék is létezik, már a játékiparban, ilyenek például azok a játékok, amiből a főbb ötleteket vettük, a HearthStone, a Yu-Gi-Oh és a Gwent. Ezek mind kártyajátékok, azonban ezek a játékok nem hasonlítanak egymásra, mint ahogy ez a játék sem fog hasonlítani a többire.

A történet, a játékmechanika és a játékmenete is egyedi, és különbözik a már meglévő alternatíváktól. Másféle megoldást alkalmaztunk a csaták lebonyolítására, a kártyák elhelyezkedésére, tulajdonságaikra, és a játékban lévő erőforrásokra.


9. Használhatóság

A játék elsősorban asztali számítógépen, majd a jövőben telefonos applikációként lesz elérhető. Mivel ez egy kártyajáték ezért, sem nagyobb pályákat, sem nagyobb modelleket nem kell gyorsan betölteni a rendszernek, mint például egy MMO-RPG-nél, ezért a játék hardverigénye viszonylag kicsi.

A játszáshoz szükséges lesz az internetelérés, mivel a tervek között szerepel a "játékos vs játékos" mód is, viszont a válaszidő nem a legfontosabb változó egy kártyajátékban, azonban lesz egy bizonyos határ ahol a rendszer kilépteti a játékost, majd lehetőség lesz újracsatlakozásra.

A felhasználó adatainak ( felhasználónév, jelszó, email) biztonságos tárolása fő prioritás, a feltörések, adatlopások elkerülése érdekében.

Az alap játékfelület letisztul és egyszerű lesz a jó átláthatóság érdekében, így könnyebb lesz a felhasználónak tájékozódni a menüben és a harcmezőn is.


10. Teljesítmény/ Kockázati Lista

Az eddigi fejlesztés során nem botlottunk olyan problémá(k)ba, ami a fejlesztés határidejét növelné, viszont a közeljövőben több ilyen kockázat is fel fog merülni becsléseink szerint:

  1. A játék grafikus megjelenítéséhez megalakult egy elképzelés a fejlesztőcsapat fejében, viszont nem tudjuk, hogy ez mennyire bonyolultan, nehezen megvalósítható, továbbá azt sem feltétlenül tudjuk, hogy ez mennyi időbe fog kerülni, hogy teljesen elkészüljön.

  2. Az adatbázis, amit a játék használ több alkalommal is bővítve lesz, viszont ez vezethet ahhoz, hogy egy idő után olyan naggyá váljon, ami már nehezen kezelhető, esetleg rosszabb esetben a programozási nyelv amin íródott, ne tudja azt megfelelően használni.

  3. Optimalizálás, ha szükséges. Ez a legtöbb játékgyártó cégnek egy igen csak nehéz feladat, amit általában nem tudnak a játék kiadása előtt megvalósítani, mi azonban ezt is meg akarjuk csinálni az előtt, hisz nem akarunk olyan szoftvert kiadni, amire mi sem lennénk büszkék. Erre akkor lenne szükség, ha teljesítménybeli problémák lennének, tehát a játék futása nem lenne folyamatos, időnként megakadna, talán folyamatosan akadozva menne. Másik megközelítésből pedig a véletlen folytán létrejött bugok kijavítása, esetleg az olyan problémák, mint a Memory Leak megszüntetése.

  4. A játék motorját nem mások által létrehozott motorra építenénk fel, hanem mi magunk csinálnánk meg, éppen ezért a megvalósítás több programozási problémába is ütközhet.

  5. A játékhoz tartozó szerverek létrehozása, ami 3 féleképpen lenne megoldható:

Kockázati tényezőket megszüntető/csökkentő intézkedések:

1. pont megoldása: Grafikus felület minél egyszerűbbé, de annál stílusosabbá és használhatóbbá tétele.

2. pont megoldása: Egy olyan határ meghúzása, amit átlépve már nem bővítjük az adatbázist, csak ha feltétlenül muszáj.

3. és 4. pont megoldása: Átlagosnál nagyobb odafigyelés és több rászánt időt kell ezekre fordítani.


11. Dokumentáció Leírása

A weboldalon a H-s sorszámmal ellátott dokumentációk meghatározott időpontban, HTML formátumban fognak megjelenni. Ezeknek a dokumentumoknak a célja, a projekt előrehaladását monitorozni.
Munkanapló a weboldalon lesz elérhető HTML formátumban, itt lehet nyomon követni ki mit is csinált és ez mennyi időt vett igénybe.

A dokumentációknak a webes felületen kell, hogy elérhetők legyenek. Ezek bizonyos időközönként megjelenő "Dev Diary" típusú üzenetek lennének, hogy tudassuk a játékosokkal, hogy is halad a fejlesztés menete.

Később a játékban történő változásokról "Patch Notes" formájában jeleznénk a játékosoknak. Ezekben a bejegyzésekben inkább a játékmenetben történt változásokról esne szó. Például: egy adott lapnak az értéke/képessége változót-e az előző frissítéshez képest és ha igen az, hogyan változtatta meg az adott lapot.