Csoport neve: Nil

Feladat sorszáma: 6

Feladat címe: Stratégiai játék






Vízió dokumentum




Gyakorlatvezető::

Répási Tibor


Csoport tagok:


Szmetankó Gábor

EMS4D7

szmeti@chello.hu

Farkas Dániel

VGF0AV

farkasd@gmail.com

Borsody Péter

XRCMHR

borsody@iit.uni-miskolc.hu

Borsody Zsombor

AV8VOD

borsody_zs@freemail.hu

Herczeg Ádám

F8T8FT

herczeg@iit.uni-miskolc.hu

Soós Dániel

BJFFAF

soos1@iit.uni-miskolc.hu


2006.03.03.


Történet


Dátum

Verzió

Leírás

Szerző

2006.02.26.

0.3

Kezdeti verzió

Szmetankó Gábor, Farkas Dániel, Borsody Péter, Borsody Zsombor, Herczeg Ádám, Soós Dániel



Tartalomjegyzék

1. Bevezetés

2. Az alkalmazás helye

2.1 Üzleti lehetőségek

2.2 A probléma megfogalmazása

2.3 Az elkészült termék helye

3. Érintettek és felhasználók

3.1. Az érintettek összefoglalása

3.2. A felhasználók összefoglalása

3.3 Felhasználói környezet

3.4. Illetékesek adatai

3.5. Felhasználók adatai

4. A végtermék áttekintése

4.1 A termék kapcsolatai

4.2. A termék használatának előnyei

4.3. Feltételezések és függőségek

4.4 Költségbecslés

4.5. Installáció

5. A végtermék jellemzői, biztosított szolgáltatások

6. Korlátozások

7. Minőségi elvárások

8. Dokumentációkkal kapcsolatos követelmények

9. Kockázat lista

10. Szótár





1. Bevezetés

A továbbiakban a NIL csoport által fejlesztett játékprogram paramétereit, tulajdonságait vázoljuk nagyvonalakban. Az itt bemutatásra kerülő „Wüstenplanet Project” lényege az, hogy a korábbi stratégiai játékoknál felmerülő problémákat megoldjuk és a hiányosságokat pótoljuk. Ezért a NIL csoport célkitűzése a projekttel kapcsolatban, hogy a majdan elkészült termék minél szélesebb rétegek számára elérhető legyen és jelentsen számukra felhőtlen szórakozást. Ehhez többféle feltételt kell biztosítanunk, amire a korábbi népszerű stratégiai játékok nem voltak képesek vagy a fejlesztőik nem is akarták megvalósítani.

Legfontosabb cél számunkra a teljes platform függetlenség. Ezzel lehetővé szeretnénk tenni a felhasználók számára, hogy a különböző operációs rendszerek elkötelezettjei felhőtlenül játszhassanak egymással. Az egész projekt nyílt forráskódú, azaz a teljes kód hozzáférhető bárki számára a, így - a felhasználási engedély alapján - bárki módosíthatja, javíthatja és tovább írhatja térítés ellenében Ez segíti a projekt gyors fejlődését, hisz tömegek számára nyílik meg a lehetőség e nagyszerű program fejlesztésére.

Szándékunk szerint azok a felhasználók is képesek lesznek futtatni az általunk készített programot, akik gépüket főleg munkára használják, ugyanis az nem igényel majd különösebb grafikus támogatást. A platformfüggetlen fejlesztéshez kitűnő eszközt nyújt a Java mely széles körben elterjedt programozási környezet. Így a felhasználónak egyetlen feladata – hogyha korábban még nem tette volna meg- a JVM telepítése, ezzel Java kompatibilissé téve számítógépét. Ennek megvalósításához egy olyan hátteret kellett találnunk amely az emberek számára hasonlóan „platform független”. Ez Frank Herbert Dűne univerzuma, amely egy széles körben ismert történet. Reményeink szerint, ezzel háttértörténettel a jövendőbeli felhasználók könnyebben beleélhetik magukat a játék nyújtotta élményekbe.
Egyik alapelvünk az, hogy egy játéknak az ember gondolatait nem a grafika látványosságával kell lekötni, hanem az érdekes játékmenettel, az intelligens gépi ellenfelekkel, és a kihívást jelentő, de nem teljesíthetelen küldetésekkel. Másik alapelvünk, hogy a felhasználónak ne kelljen rendelkeznie különösebb számítástechnikai ismeretekkel, az első indítás után is könnyedén eligazodjon a program használatában. A programunk rugalmasságát a széleskörű konfigurálhatóság és a pálya szerkesztő teszi teljessé. Programunkat ezen elveket szem előtt tartva próbáljuk meg fejleszteni.


2. Az alkalmazás helye



2.1 Üzleti lehetőségek

A játékprogram széles körű elterjedése a cég nemzetközi piacon való terjeszkedését elősegíti, valamint a magyarországi játék szektoron belüli részesedése tovább javul.



2.2 A probléma megfogalmazása

A „Wüstenplanet Project” célja egy, Frank Herbert Dűne című könyvén alapuló RTS stratégiai játék létrehozása. Célunk a felhasználó szórakoztatása, igényeinek kielégítése. A tervezés során figyelembe vesszük elvárásaikat, törekszünk a „Dűne Univerzumhoz” minél hűbbek maradni. Mindazonáltal igyekszünk a játékmenetet minél izgalmasabbra, a grafikát minél látványosabbra megalkotni. A program a napjainkban méltán népszerü 2.5D-s ábrázolási módot fogja alkalmazni. Fontos a jól felépített, átlátható, könnyen kezelhető menürendszer, a kívülállók számára is egyértelmű használat, konfigurálhatóság.


Felhasználók

A program mindazoknak szól, akik szerették, szeretik a Dűnét, és azoknak is, akik még nem hallottak róla, de szeretnének egy jó, látványos, izgalmas játékkal kikapcsolódni. Előreláthatólag a fiatalok között lesz a legnépszerűbb. Célunk, hogy mindenki, aki a Wüstenplanet által nyújtott élményt meg szeretné tapasztalni, az ezt megtehesse, ezért nem csak a Windows operációs rendszerrel rendelkező számítógépeken fog futni, ezenkívül futtatható lesz régebbi, gyengébb számítógépeken is. A kor követelményeit figyelembe véve lehetőség nyílik arra is, hogy egyszerre többen játszanak, akár helyi hálózaton (LAN), akár az Interneten. Fontos feladat a fejlett mesterséges intelligenciával rendelkező gépi ellenfél létrehozása is, így olyanok is használhatják, akiknek csak kevés idejük van, vagy pusztán egyedül akarnak játszani. A játékosoknak nem egyszerűen, gondolkodás nélkül „kattintgatniuk kell”, hanem megfontoltan, összetett stratégiát alkalmazva kell elérni céljaikat. (Ezt segíti a fejlett mesterséges intelligencia és a nem lineáris játékmenet.) Így látatlanul fejlődnek logikai, problémamegoldó és vezetési képességeik. (Ezért a fiatalabb játékosok szülei is kedvelni fogják a játékot.) A program rengeteg pályát fog tartalmazni, ezen kívül az átlagos számítástechnikai ismerettel rendelkező felhasználó számára is egyszerűen hozhatóak majd létre pályák a beépített pályaszerkesztőnek segítségével.


Általános tulajdonságok

A kikapcsolódást fogja szolgálni a szép grafika és a játékélmény is. A grafika a szépség és a minél alacsonyabb erőforrásigény közti optimumot fogja képviselni, ezért az „ál 3D-s” lesz. (Ábra 01.)


(Ábra 01.)

Több felhasználó egymás elleni játékát a hálózat használata teszi lehetővé.


Működés

A felhasználó a játék megkezdése után egy három dimenziós világot lát, növényzettel, épületekkel, emberekkel. Itt a kurzor segítségével egy épület vagy emberek választhatók ki. Ekkor a kiválasztott objektum(ok)nak parancsok adhatók (pl. menj ide, harcolj ezzel, épületnél: gyárts egy embert, stb.). A játék tulajdonképp abból áll hogy a játékos objektumokat választ ki és parancsot ad nekik. A cél minden pályán a pálya befejezése feltételeinek teljesítése, mint az ellenfél egy adott épületének vagy egységének az elpusztítása.

A „menj ide” utasítás során a felhasználó a térképen történő kattintással jelzi a célt, ekkor a program kiszámítja, hogy az egység milyen úton juthat el az adott helyre. Az egység mozgása valós időben történik, a kívülálló szemlélő úgy látja, hogy az percről-percre közelíti meg célját, a program azt adott időközönként az útvonalán mozgatja (adott távolsággal később újra rajzolja), mely így eléri célját. (Ábra2)


(Ábra 02.)


Az egységek mozgását nehezítik a különféle terepakadályok (növények, épületek), amiket egy algoritmus segítségével ki tud kerülni.

A „támadd meg” utasítás során egy egység megtámad egy épületet (A eset), vagy egy másik egységet támad meg (B eset). A eset során adott E1 pozitív egész szám, amellyel az épület rendelkezik, és egy T1 pozitív egész szám, amivel a támadó. A támadás során időegységenként E1=E1-T1 (E1-ből levonjuk T1-et), ez egészen addig folytatódik, amíg E1 el nem éri a nullát, ekkor az épület elpusztul. B eset során a támadó egység rendelkezik T1, E1 értékkel, a támadott T2, E2 értékel. Ekkor időegységenként az véletlenszerűen az egyik egység E értékéből levonjuk a másik egység T értékét, ez addig folytatódik, amíg valamelyiküknek E értéke el nem éri a nullát.

Adott egy harmadik utasítás is, a „hagyd abba”, amely során a kiválasztott objektum abbahagyja az éppen végzett tevékenységet, és ott megáll, ahol van.

Az ellenfél játékosát irányíthatja egy másik ember vagy a számítógép. Ekkor a számítógép mesterséges intelligenciával rendelkezik, számára is a cél az előírt feltétel (egység vagy épület elpusztítása) teljesítése. Ennek elérésére logikus stratégiát alkalmaz.




2.3 Az elkészült termék helye

A program fajtája stratégiai játék, célja kikapcsolódás biztosítása. Ezt a témakört már több, korábban megjelent alkalmazás is feldolgozta, azonban ezek mind idősek, elavultak. A „Wüstenplanet Project” egy új, mai elvárásoknak megfelelő játékélményt nyújt, ezenkívül megpróbálja felülmúlni az eddigi hasonló témájú játékokat, azok hibáinak kijavításával, új technológiák alkalmazásával. A játékpiacon manapság kevés RTS jelenik meg, így egy mostanában elhanyagolt, mégis sokak körében népszerű témával, mint a Dűne, komoly sikerek elérésére nyílik lehetőség. Tartalmazni fog minden olyan elemet, ami egy jó RTS-hez szükséges, viszont semmi olyan nem lesz benne, amit a felhasználók nem szeretnek. (Más játékok tapasztalatai alapján.) Azonban nagy siker eléréséhez nem elég a klasszikus, népszerű történet és a már bevált formulák, újat is kell nyújtani. A program nem pusztán szórakozási lehetőséget biztosít, hanem fejleszti a fiatal játékosok logikai és egyéb készségeit, és közösségi élményt biztosít: a kész alkalmazás fejlett hálózatkezelő rendszerrel fog rendelkezni, ami lehetőséget nyújt a gép elleni játékon kívül más felhasználókkal való játékra is. Tehát ez a program nem szigeteli el azt, aki olyan jónak találja, hogy nagyon sokat játszik vele. A hálózatkezelést is biztosította már ezelőtt néhány program, azonban a következőekben leírt jellemzőkkel még biztosan egy stratégiai játék sem bír. Cél a platformfüggetlenség ami által sokkal szélesebb körben képes elterjedni, akár két olyan játékos is képes hálózaton játszani, akik különböző operációs rendszert futtató számítógépet használnak. Az egyjátékos mód sikeréről pedig a minden eddiginél fejlettebb, szinte már egy embert utánozni képes mesterséges intelligencia gondoskodik. Továbbá a programhoz bármelyik közepes tudású felhasználó képes lesz pályát készíteni, ami az ütközetek végtelen tárházát nyitja meg. Azért, hogy minél többen használhassák, a sebességet nem áldozzuk fel a filmekre hasonlító grafika oltárán. Az optimumot megtalálva a szépség és sebesség között, akár régebbi gépeken is képes lesz futni. Ezenkívül internetes szerverek működtetésével lehetőséget biztosítunk kiegészítések ingyenes letöltésére is, ami túlmutat a játékok kategóriáján: a frissítések automatikusan letöltődnek, hogy a felhasználó kényelmét ezzel se zavarjuk meg.



3. Érintettek és felhasználók



3.1. Az érintettek összefoglalása

Elnevezés

Leírás

Szerep

Fejlesztő

A fejlesztő felelős a játékprogram tervezés fázisának megfelelő kivitelezéséért.

Szoftver komponensek megvalósítása, karbantartása.

Játékos

A szoftver elsődleges használója.

Népszerűsíti a játékot, visszajelzést szolgáltat a fejlesztőknek. Megfelelő körülmények esetén fejlesztő szerephez is juthat.

Tartalomfejlesztő

A játék történetének, tartalmának, karaktereinek, eszközeinek, fegyvereinek ötletgazdája.

A fejlesztők által biztosított eszközökkel hozza létre és frissíti az előbb említett játékelemeket.

Tesztelő

Feladata a játékos szemszögéből kritikusan szemlélni a szoftvert.

Segítségével az esetleges szoftver hibákról, újabb ötletekről, fejlesztési lehetőségekről értesülhetnek a fejlesztők.



3.2. A felhasználók összefoglalása

Elnevezés

Leírás

Illetékes

Játékos és fejlesztő egyben A szoftver jogos felhasználójának lehetősége nyílik a játékprogram forrását tovább írni. Fejlesztő

Játékos

A szoftver elsődleges használója.

Tesztelő

Tartalomfejlesztő

A játék történetének, tartalmának, karaktereinek, eszközeinek, fegyvereinek ötletgazdája.

Fejlesztő



3.3 Felhasználói környezet

A játékprogram bármilyen modern operációs rendszer alatt futtatható lesz, ahol megtalálható a Java futtató környezet(pl. Windows 98, Windows XP, Linux, Solaris stb.). A Java környezet miatt külön telepítő szoftver nem szükséges, elegendő a Java Virtual Machine megléte a futtató számítógépen. A kiegészítő szolgáltatások kényelmes eléréséhez ajánlott nagy sebességű Internet kapcsolat.

A szoftver egyidejűleg 4-8 játékos részére biztosít feledhetetlen játékélményt és felhőtlen szórakozást. A rendszer támogatja akár 16 játékos kiszolgálását is, valamint Interneten keresztüli játékra is lehetőség nyílik. Amennyiben a megnövekedett felhasználói igényeket ez létszám korlát nem elégítené ki, akkor további fejlesztéssel a megadott limit kiszélesíthető.

Az átlagos felhasználó naponta 2-3 órát tölt a játékkal, ennél hosszabb játékidő esetén kisebb szünetek tartása javasolt. A küldetések végigjátszásához átlagosan 40-50 óra szükségés, így a játék akár több héten keresztül biztosít tartalmas szórakozást minden felhasználója számára.



3.4. Illetékesek adatai

Konzulens

Répási Tibor

Miskolci Egyetem
Általános Informatikai Tanszék
3517 Miskolc-Egyetemváros
Informatikai Intézet I/108.

E-mail: repasi@iit.uni-miskolc.hu

3.5. Felhasználók adatai


Az alkalmazás elsődleges felhasználói a játékosok, akik közül néhányan be lesznek vonva a projektbe, hogy segítsék a fejlesztők munkáját.

4. A végtermék áttekintése



4.1 A termék kapcsolatai

Az elkészült szoftver több nagyobb komponensből tevődik össze. A legfontosabb összetevők a következők:



4.2. A termék használatának előnyei



A megrendelő haszna (előnyei)

Az ezt támogató rendszer jellemző(k)

Piaci részesedés

N/A

Referencia későbbi projektekhez

N/A



 

4.3. Feltételezések és függőségek

A fejlesztés teljes időtartama alatt szükséges a Java fejlesztői környezet megléte, ennek hiányában a projekt megvalósítása meghíúsul. Későbbi grafikai fejlesztés esetén szükség lehet az OpenGL grafikus könyvtár támogatására. Mivel a játék Interneten keresztül is játszható lesz, így az Internet kapcsolat folyamatos biztosítása elengedhetetlen. A játékprogram mérete nem haladhatja meg a kor követelményeinek megfelelő szoftverek tárhely igényét. A szoftver multimédiás tartalmainak előállításához fontos a következő programok megléte:



4.4 Költségbecslés



4.5. Installáció

A Java platformnak köszönhetően az alkalmazás telepítése mindössze a hozzá tartozó fájlok másolását teszi szükségessé. Amennyiben a célszámítógép nem rendelkezik Java futtató környezettel, akkor a megfelelő verzió telepítése szükséges, illetve a megrendelő igénye esetén ez a futtató környezet integrálható az alkalmazásba.



5. A végtermék jellemzői, biztosított szolgáltatások

Az elkészült alkalmazás a manapság népszerű stratégiai játékok kategóriájába tartozik. A játékos egy kiválasztott nép vezetőjeként kapcsolódik be a történetbe. Feladatai közé tartozik egy virágzó gazdaság felépítése, ami az ellenfelek tevékenysége miatt korántsem egyszerű célkitűzés. Gondoskodnia kell a nyersanyag készletek megszerzéséről és azok optimális felhasználásáról, az épületek célszerű elrendezéséről, egységek létrehozásáról és ezek irányításáról, kiképzéséről, valamint felszereléséről. Lehetősége nyílik a többi résztvevővel diplomáciai kapcsolat kiépítésére, kémkedésre, szövetségesi illetve ellenséges viszony fenntartására.

A kor követelményeinek megfelelő multimédiás elemek szinesítik az alkalmazást. Előre kidolgozott átvezető animációk vezetik át a küldetéseket, teszik folytonossá a történetet. A grafikai megjelenítés napjaink elvárásaihoz igazodik. A program a piacon elterjedt 2.5D-s nézőpontbeli ábrázolást alkalmazza, támogatva a különböző képernyő felbontásokat, így a felhasználó kényelmesen testreszabhatja a saját igényeihez igazítva. Jól tagolt és könnyen átlátható menürendszer, gyorsan elérhető funkciók, átgondolt elrendezés. A játékelemek prezentálása valóságos vizuális élményt nyújt, és megfelelően tükrözi a mögöttük húzódó szemantikai tartalmat. A játékos tájékozódását nagyban megkönnyítik a szemléletes vezérlő elemek. A tökéletes játékélményhez hozzájárulnak a jó minőségű hangeffektek, amelyek magukkal ragadják a felhasználót. A hangulat jobb átéléséhez nagyban hozzájárul a háború borzalmaihoz tökéletesen illeszkedő aláfestő zene.

A játékos több üzemmódban is használhatja az alkalmazást, választhat egyjátékos illetve többjátékos ( multiplayer ) játékmódot. Mindkét típusban választhat gépi ellenfeleket is, amelyek valódi játékosokat megszégyenítő mesterséges intelligenciával vannak felvérteze. Többjátékos üzemmódan akár tizenhat játékos társával is felveheti a küzdelmet. Erre lehetősége nyílik otthoni hálózaton és szélessávú internet kapcsolaton keresztül is. Az elért pontszámok alapján különböző rangsorolásokra nyílik mód, melyek központi nyílvántartásba kerülnek. Önfeledt játék közben cseveghet barátaival, ismerőseivel és újabb ismerettségekre tehet szert.

A játék által biztosított virtuális világban az alapvető nyersanyag a különleges fűszernövény. Ebben a kies világban ennek megszerzése az elsődleges cél. Ennek felhasználásával épületeket emelhet a magasba, amelyek fejlesztésével újabb és újabb egységek előállítására válik képessé. A szerteágazó fejlesztések biztosítják a sokszínű játékot. Lehetőség van különböző funkcionalitású építmények építésére, többek közt termelő, védekező, raktározó, és begyűjtő létesítményekre. Az egységek változatos módon irányíthatóak, egyénenként és összefogva is. Formációkba szervezhetők, ezt elősegítik a gyárilag beépített alakzatok, így téve hatékonnyá az egységeket. Az egységeknek széles skálája található meg a játékban:

Ezek egyénenként tovább fejleszthetők, fejlődnek a harc során, és egyre hatékonyabb eszközei lesznek a hadviselésnek. A játék menetét az időjárási viszonyok folytonos változása jelentősen befolyásolja. Hatással van a az egységek mozgásának sebésségére, célzási pontosságára, és a nyersanyagok termelődési folyamatára.

A felhasználónak lehetősége nyílik a program jellemzőinek széleskörű paraméterezésére, így saját igényeihez testreszabható. Ezen felül hozzáférhet a játék teljes anyagához, a szépen tagolt forrás kódhoz, hogy akár saját maga tökéletesítse azt tovább! Fejlesztő kedvű játékosaink tanulhatnak a szoftver struktúráiból, megvalósításaiból. A játék módosításával elképzelhető mobil eszközökön való futtatás is. Az alkalmazás nyelvtámogatása igen fejlett, ezáltal több biztosított nyelv közül is választhat. Állítható a játék nehézsége, amely megváltoztatja a gépi ellenfelek intelligenciáját és a pálya egyéb viszonyait. A grafikai megjelenítés részletességét tetszőleges mértékben változtathatja meg a játékos. A következő jellemzők hangolhatók :

Természetesen ezeket a paramétereket a szoftver képes automatikusan beállítani, hogy a felhasználó optimális teljesítményt érhessen el.

6. Korlátozások

A szoftver futtatásához és fejlesztéséhez Java kőrnyezet megléte szükséges. Ez a korlátozás egyrészt rontja a teljesítményt, másrészt viszont ezt a hátrányt nagyban kompenzálja a Java által biztosított platformfüggetlenség, illetve a fejlett hálózati szolgáltatások. A "Wüstenplanet project" egyik fő célkitüzése, hogy az alábbi minimális hardware konfiguráción is kielégítően fusson:



7. Minőségi elvárások

A program által a felhasználó cselekedeteire adott válaszoknak nem szabad meghaladnia egy megengedhető értéket, ezáltal biztosítva a külső szemlélő számára a folyamatosság képzetét. A játék és a küldetések betöltése sem vehet igénybe 30 másodpercnél többet. A hálózati komponenseknek teljesíteniük kell azt az elvárást, hogy a gépek közötti válaszidő ne haladja meg a maximális 200 milliszekundumos időt.

Fontos megoldandó feladat, hogy a felhasználó első használatkor már képes legyen eligazodni a játék kezelésében. Ezek közé sorolandó a jól kivitelezett, áttekinthető, könnyen és egyszerüen kezelhető menürendszer, és a játék főbb funkcióinak elérésére szolgáló irányító szervek megfelelő kivitelezése.

További célkitüzés, hogy a szoftver egyes komponensei későbbi projektek során újrafelhasználhatóak legyenek, így lényeges minőségi elvárás, hogy a játék motor, valamint a grafikus motor jól elkülöníthető legyen az alkalmazás többi részétől.

A kész alkalmazás akkor tekinthető minőségileg elfogadhatónak, ha fentebb leírtaknak eleget tesz. Ennek ellenőrzésére a játék futtatásával és tesztelésével nyílik mód.



8. Dokumentációkkal kapcsolatos követelmények

A szoftver fejlesztése során az alábbi dokumentációk elkészítése szükséges:



9. Kockázat lista

A nem megfelelő kommunikáció a fejlesztő csapat tagjai között a határidők eltolódásához vezethet. Ennek érdekében szükségszerü a csapattagoknak a rendszeres kapcsolattartása, a véghezvitt fejlesztésekről és eredményekről történő folyamatas egyeztetés.

A fejlesztési dokumentumok és forráskódok különleges védelmet igényelnek, mivel eltulajdonításuk, a konkurrencia általi megszerzésük számottevő többletköltséget jelent és a hátáridők csúszásához vezethet.

A hardware eszközök meghibásodása, illetve káros környezeti behatások által bekövetkező adatvesztés jelentős kockázati tényező, amely szintén hátráltathatja a projekt tervszerinti előrehaladását. Ezen problémák elkerülése érdekében a folyamatos mentés, illetve archiválás nélkülözhetetlen.



10. Szótár