Csoport neve: HALSEQ
Feladat sorszáma: 6
Feladat címe: Stratégiai játék
Software követelmény specifikáció
Gyakorlatvezető:
Répási Tibor
Csoport tagok:
|
Molnár Róbert |
ABWPRJ |
|
|
Barczi Judit |
EA1W60 |
|
|
Kürti Áron |
Q0U0NM |
|
|
Mayer Gábor |
LLIFO4 |
|
|
Nagy Viktor |
SGGG8D |
|
|
Danyi Dávid |
H4VTBK |
Történet
|
Dátum |
Verzió |
Leírás |
Szerző |
|
2006. 03. 20. |
1.0 |
Software követelmény specifikáció első példánya |
Molnár Róbert Barczi Judit Kürti Áron Mayer Gábor Nagy Viktor Danyi Dávid |
|
|
|
|
|
|
|
|
|
|
Tartalomjegyzék
3.2 Felhasználói Use Case diagramm [Layer1/2]
9. On-line dokumentáció és Help rendszer
10. Felhasznált kész komponensek
11.1. Felhasználói interfészek
11.4. Kommunikációs interfészek
12.1. Kötelezően alkalmazandó szabványok
12.2. Választás alapján alkalmazott szabványok
A készítendő alkalmazás általános leírása
A feladat olyan alkalmazás fejlesztése, amelyben a felhasználók minél élvezhetőbb körülmények között tudják eltölteni szabadidejüket. Az elkészítendő játék jó kikapcsolódási lehetőséget nyújt a leendő használói számára és emellett fejleszti logikai és stratégiai készségüket, de lőfegyvere, és humanoid ellenség hiányában semmiféle negatív pszichikai ráhatással nincs a játékosra.
A készítendő program neve: A leendő alkalmazás felhasználói: - kb 60%-ban általános iskolás fiatalok - kb 30%-ban középiskolás fiatalok - kb 10%-ban a stratégiai játékokat szerető felnőttek Néhány jellemző az elkészítendő alkalmazásról: - egyszerű használhatóság - könnyű kezelhetőség - egyszerű menürendszer - véletlen pályák, és "küldetés mód" - játékállás elmentése, és visszatöltése - élvezhető 2D-s grafika - izgalmas játékmenet
2.1. A Termék környezete: Az alkalmazás minimális gépigénye: Intel Pentium III mikroprocesszor - 600Mhz Központi memória: min. 64Mbyte RAM Videókártya: min. 64Mbyte memóriával Monitor: SVGA monitor Input eszközök (billentyűzet, egér) Várhatóan: - Ez a platform követelmény nem fog változni. Hosszútávú követelmények megvalósításakor a memóriakövetelmény esetleg megnőhet(128-256Mbyte Ram) - a rövidtávú implementáció Single User típusú lesz. - a hosszútávú implementáció Multi User és Online típusú lesz. - az egyszerű menürendszer könnyű kezelhetőséget tesz majd lehetővé - mivel a program elsődleges célja a szórakoztatás, és a kellemes időtöltés, ezért használatához semmilyen előképzettségre nem lesz szükség 2.2 Legfontosabb megvalósítandó funkciók: - menürendszer létrehozása, egyszerű navigáció a menüpontok között - küldetés mód - építkezés megvalósítása - harc megvalósítása a homokférgekkel - játékállás elmentése - játékállás visszatöltése - véletlenpáyás gyakorlómód 2.3. A leendő felhasználók jellemzői:
Az alkalmazás megírása úgy történik, hogy sem a telepítés, sem a használat során nem igényel semmiféle plusz informatikai ismeretet. Persze lesz egy rövid idő a program használatának az elején, míg a felhasználó megszokja a játék irányítását, de ezt 1-2 véletlen pályán könnyen és gyorsan elsajátíthatja. Ha ez megtörtént, akkor már semmilyen akadálya nem lesz a programmal való kellemes időtöltésnek. A rövidtávú célok között Single User mód szerepel, melyet a felhasználók saját otthoni számítógépükön, illetve munkahelyi gépeiken tudnak futtatni. A hosszútávú céljaink között szerepel az online játék, amihelz internetelérés szükséges, de a munkahelyeken szinte mindenhol, valamint az otthonok túlnyomó többségében is megtalálható ma már az internet.
2.4. Feltételezések és függőségek: Platform igény: Windows 9x, Linux, MacOs
A termék használata előtt ellenőrizni kell, hogy videókártyánk OpenGl támogatású e. Ha igen, akkor a program azonnal működik, de ha nem, akkor szükséges egy DirctX 6.3-as programcsomag telepítése. Ám ehez sem kell semmilyen informatikai többletismeret, mert csak el kell indítani a mellékelt directx63.exe file-t, a többit a telepítő elvégzi a felhasználó helyett.
Ezen fejezet célja tisztázni a software rendszer funkcionális követelményeit. Elsősorban UML szabványnak megfelelő Use Case diagrammokkal reprezentáljuk ezeket a követelményeket.
3.1 Contex Use Case diagramm
![]()
A diagrammon lévő Aktor_1 a felhasználó: Egy ilyen kontextusban a felhasználó (játékos ,játékokra jellemző kontextus) csak szolgáltatást kap a programtól és minimális kényelmi beállításokat változtathat a rendszeren. A diagrammon szereplő use case-ek: MSXP: A számítógép operációs rendszere, amelytől nagyban függ a játék teljesítménye. OpenGL: Grafika program és hardware rendszer. A több dimenziós nagy teljesítményű és nagy sebességű rajzolást megvalósító rendszert. DirectSound: Audió lejátszó rendszer, amely főként játék programokhoz készült.Főként a játék hang effektusaiért és zenéjéért felelős. Prekondociók: Az illető játék csak akkor futtatható, ha mind a hardware és software csomagok megfelelően működnek. Postkondiciók: A játék használata Szokásos működés(Main Flow): A szokásos singeluser módban 1. nincs hálózati szolgáltatás kérés. 2. nincs külön adatbázis kezelő szolgáltatás. A játék belső saját adatkezelés használ. Az os szerepe csak a diszk kezelésben és memória menedzselésben mutatkozik meg. Ám ezek egy részét a DirectSound és Messa OpenGL rendszerek elrejtik még a játékprogram elől is. Alternatív esetek (Alternativ Flows):
Kivételes esetek (Exeption Flows):
3.2 Felhasználói Use Case diagramm [Layer1]:
![]()
![]()
![]()
![]()
A diagrammon lévő Aktor_2 a felhasználó : Egy ilyen kontextusban a felhasználó (játékos, játékokra jellemző kontextus) csak szolgáltatást kap a programtól és minimális kényelmi beállításokat változtathat a rendszeren. A diagrammon szereplő use case-ek: Reklám: A program indítása után közvetlenül megjelenik(mozifilm szerűen) a készítő csapat neve, készítés dátum és a programozók nevének listája. [ Keypressed esemény hatására átugródik ] Felhasználó felület1(főmenü): A kezdő vagy kiindulásipont.A használható szolgáltatásokat mutatja mindig. Help:Megmutatja kisebb példák segítségével hogyan kell a programot használni. A helpfile-ok a html(célja: interneten utólagosan is bővíthető)szabványt követik, így akár külső böngészővel is megtekinthetők. Keresés: Képes egy kulcsszóra keresni a htmlfile-okban. Oldalanként:A helpet ömlesztve kidobja a képernyőre, melyben a cursorral mozoghatunk. Tárgymutató:A htmlfileok tartalomjegyzékében böngészhetünk. Ha kiválasztottuk a megfelelőt, duplán rá "click"-elve bejön a hozzá tartozó html oldal. NewGame:Új játék elkezdése. Mission: Előre megírt missziókat kell teljesítenünk meghatározott időrendi és nehézségi sorrendben. Generated:Egy intelligens pálya generátor modul készít a felhasználónak egy véletlenszerű missziót. Load Game: A mentett játék állások visszatöltése. Betölt: Egy adott listából (Saved jegyzékben található .sav kiterjesztésű fileok) választhatjuk ki a cursor billentyűk segítségével(enter-t nyomva rá ) a visszatöltendő mentést. Mentés törlése: Maga a program lehetőséget ad a fölösleges mentések törlésére.(Enter helyett Del gomb lenyomása) Option:Főként kényelmi beállítások. / Amelyek inimális hatással lehetnek a játék teljesítményére/ Felbontás: A képernyő felbontás beállítása. A játéktér növelhető vagy csökkenthető diszkrét értékekkel.(pl: 480x640 600x800 1024x768) Kontraszt: A képélesség változtatható egy százalékos skálán. Game speed: A játék sebessége állítható egy százalékos skálán.(a gépi válaszidő csökkentés vagy növelése) Fényerő: A kép fényerőssége változtatható egy százalékos skálán. Exit: A programból való kilépéshez az exit menüpontot kell kiválasztani vagy az Esc billentyűt megnyomni. Stáblista: A program bezárása esetén egy rövid pillanatra (2-3mp) felvillan egy lista, amin a készítők, a cég neve és a szponzorok találhatók. Prekondociók: Az illető játék csak akkor futtatható, ha mind a hardware és software csomagok megfelelően működnek. Postkondiciók: A menü használata Szokásos működés(Main Flow): A menü használata. A menü elemekre kittintgatva választhatjuk ki az igényelt szolgáltatást. Alternatív esetek (Alternativ Flows):A menüben nincsenek alternatív esetek implementálva. Kivételes esetek (Exeption Flows):A menüben nincsenek kivételes esetek implementálva. (nincs rá szükség, mert nincs file írás) 3.2 Felhasználói Use Case diagramm [Layer2]:
A diagrammon lévő Aktor_2 a felhasználó: Egy ilyen kontextusban a felhasználó (játékos ,játékokra jellemző kontextus) csak szolgáltatást kap a programtól. A diagrammon szereplő use case-ek: Game: Maga a játék felület, ami előtt a felhasználó idejének nagy részét tölti. Control: A program egérrel és billentyűzettel irányítható. (egérrel a játéktérben dolgozunk, billentyűzettel a játékteret mozgathatjuk) Gamemenü: Exit: Visszatérés a főmenübe. Qwick save: Játék állás mentése. (külön névmegadás nélkül) Qwick load: Játék állás betöltés. (külön névmegadás nélkül) Save: Játék állás mentése. (külön névmegadással) Game body: Game head: Információs panel a képernyő felső sávjában. A megszerzett pontjainkat írja ki a felső sorban. Monitor: M billentyűvel hívható elő. Részletesebb statisztikákat hoz a felhasználó elé. Game Gui: Maga a képernyőn látható 2.5D-s játéktér. (fekete térben egy elforgatott sík) Prekondociók: Az illető játék csak akkor futtatható, ha mind a hardware és software csomagok megfelelően működnek. Postkondiciók: A játék használata Szokásos működés(Main Flow): Alternatív esetek (Alternativ Flows): Kivételes esetek (Exeption Flows): Hirtelen fagyás és áramszünet esetén. ===> Időközönkénti mentés szükséges. (a felhasználó nem látja automatikusan történik)
4.1.A rendszer megismerése és betanulása: A program jellegéből adódóan, azaz, hogy egyszerű, átlátható és könnyen kezelető nem teszünk különbséget kezdő és gyakorlott felhasználó között. Előző okok miatt ugyanis a kezdő felhasználó is elsőre úg érzi, hogy mindent ismer, mindent tud. Ezen egyszerűség motivációs tényezőként is jelentkezik az esetleges kezelési nehézségek legyőzésében. A mégis fellépő problémák megoldása (pl: telepítés folyamata) megtalálhatók a kezelési- és telepítési útmutatóban. - becsült betanulási idő: 30 perc 4.2. A rendszerrel kapcsolatos tevékenységek(teljes játékidő megbecslése): A piacon kapható hasonló témájú és kategóriájú alkalmazásokkal összevetve hosszabb, intenzívebb és nem utolsó sorban fordulatosabb a játkmenet. A felhasználó a játék első indításától a játék végéig azért fogja használni, mert tetszik neki a mindig megújuló cselekménysor, és nem csak azért, mert ha már belekezdett, akkor be is illene fejezni. - becsült teljes játékidő: 9-12 óra 4.3. Kisegítő lehetőségek: A legfontosabb ilyen a játék mentése.Lehetőségünk van az éppen aktuális állás elmentésére. Ennek menete: a játékban a kívánt pillanatban az F3 billentyű lenyomásakor megjelenő 20 soros mentési tömb bármelyik sorába egyedi elnevezéssel egy bejegyzést illeszthetünk az aktuális állásról. A bejegyzés tartalmazza a megadott egyedi nevet, a dátumot és a küldetés adatait.Ezen mentési bejegyzéseket bármikor vissza lehet tölteni és onnan folytatni a játékot, ahol abbahagytuk. - becsült elsajátítási idő: 5 perc 4.4. Összehasonlítás: Összehasonlítva más hasonló alkalmazásokkal megfigyelhető, hogy nagy eltérések az alapvető felépítésben nem tapasztalhatók. Eltérések a cselekményben, képi és hanghatásokban figyelhetők meg.Cél a fejlesztés során az volt, hogy a régi bevált módszereket és szerkezetet megtartva az eddigieknél sokkal érdekesebb,látványosabb élvezhetőbb program kerüljön a piacra. 4.5. Párhuzamos alkalmazások: Önálló játékprogram lévén semmilyen egyéb alkalmazás párhuzamos futtatása nem szükséges.
5.1. Rendelkezésre állás: A rendelkezésre állást ha százalékosan akarjuk kifejezni, akkor egy játékprogramnál, mint ez is csak a 100% fogadható el. Teljes használhatóság: - jelenlegi verzió: 100% - továbbfejlesztett verzió (tervezett): 99% Karbantartási idö: - nincs ilyen tényező (nem ígényel karbantartást) Korlátozott használhatóság: - nem elképzelhető 5.2. MTBF (Mean Time Between Failures - hibák között eltelt átlagos idő): A hibák előfordulása ebben a rendszerben gyakorlatilag 0%. Ha mégis a hiák előfordulsáról kivánunk szót ejteni, inkább a hibák milyenségére kell koncentrálni. A játék menete közben fellépő bármilyen jellegű hiba maximum kellemetlenségnek tekinthető, hiszen a rendszer mentő - visszatöltő mechanizmusa lehetővé teszi a folyamatos és zavartalan szórakozást. Ha mégis időben kellene jellemezni, akkor hetekben mérhető a hibák közt eltelt átlagos idő. 5.3. MTTR (Man Time To Repair - egy hiba utáni javítás átlagos ideje): Rengeteg teszt és kísérletezés után megállapítható, hogy a rendszer önjavító a hibákkal szemben. Ezáltal egy hiba utáni javítás átlagos ideje nem igazán mérhető, több tíz felhasználó és hibajavítási óra után a hibák számát nullára csökkentettük. 5.4. A rendzser eredményeinek pontossága: Mivel a programan olyn eredmények nem keletkeznek, melyekkel a felhasználónak klasszikus értelemben dolgoznia kellene, ezért eredmények pontsságáról ebben az esetben nem beszélhetünk. A program szinte csak önmagának fontos és nélkülözhetetlen eredményeket generál, melyek pontossága a fejlesztés során folyamatosan kaibrálva lett.
Performance 6.1 Erőforrásigény A program stabil futásához szükséges erőforrások leírása. Minimum rendszerkövetelmény: - Intel Pentium 133 MHz CPU - 128 MB RAM - 4x CD-Rom - 200 Mb HDD tárhely - DirectX 6.3 - OpenGL Támogatású VGA kártya (min. 16 MB RAM) - DirectSound kompatibilis hangkártya - Billentyűzet, egér - Windows 9.x / Unix / MacOs - 56 Kbps modem, internetkapcsolat Mivel a program egy játék, így a gépigénye viszonylag magas, ami leginkább a grafikára van kiélezve. Memóriaigényes program. A háttérben futó alkalmazások jelentősen csökkenthetik a program által használható memória méretét, ami sebességcsökkenéshez vezethet. Ez főleg a csekélyebb teljesítményű rendszerek esetén jelenthet némi problémát. Optimális rendszerkonfiguráció: - Intel Pentium II / III 900 MHz - 256 / 512 MB DDRRam - 64 / 128 MB DirectX 8 VGA kártya - 48x CD-Rom - Sound Blaster 5.1 hangkártya - Billentyüzet, egér - 700 Mb HDD tárhely - Windows 9.x / Unix / MacOs - ADSL internetkapcsolat Egy ilyen optimális architektúra az esetleges későbbi fejlesztések, frissítések adaptálására és stabil használatára is alkalmas. A mai, modernebb számítógépek esetén már egy viszonylag kisebb potenciálú rendszer is megfelelő a program ideális futását tekintve. 6.2 Válaszidők Optimális rendszer esetén 0.3 , 0.5 secundumos válaszidők várhatóak. Ez függ a játék éppen aktuális bonyolultságától, játékállástól ( nyilván a több történés, karakter, és mesterséges intelligencia növelheti a válaszidőt a játékon belül). A játékmenet gyorsaságát szabályozhatjuk a beállításoknál, így igen eltérő sebességeket érhetünk el ( nyilván ésszerű körülmények között ).
Supportability 7.1 Szabványok Mivel a program C++ programozási nyelven írodott, így a kódolás az ANSI C szabvány szerint történt. Ezen felül a fejlesztő gárda a Miskolci Egyetem, www.iit.uni-miskolc.hu/ficsor webcímen megtalálható belső, házi szabványát és konvencióit követte a fejlesztés során. 7.2 Karbantartói funkciók A program felépítése és működése nem teszi indokoltá a külön karbantartói és üzemeltetői funkciók beépítését. A üzemeltetési feladatok nagyjából a program felinstallálásában és a helyes konfigurálásban merülnek ki, amit legtöbb esetben a végfelhasználó maga végez el. Az eltérést az installálás során a mód választásakor lehet észlelni. A 'Tipikus' telepítés során alapértelmezett útvonallal és tárhellyel kerül a rendszerünkre a program. A haladó felhasználók, üzemeltetők, rendszergazdák számára ajánlott 'Egyéni' telepítés lehetőséget ad a paraméterek egyéni ízlés szerinti megadására. 7.3 Naplók A telepítés során létrejön egy setup.log fájl, ami a telepítés naplója. Ebbe feljegyzésre kerülnek a telepítési beállítások, a telepített system fájlok, és a rendszerkonfiguráció. A játékmenet megszakadásakor egy error.log fájlba kerül a hibanapló.
8.1 A kívánatos architektúrára vonatkozó előírások Az alkalmazást felépítő architektúra részek: -3MS: A valós 3 dimenziós modellek ábrázolásáért felelős egység -BGS: A statikus grafikus ábrázolást megvalósító egység -Logikai rendszer -Input kezelő részek: -egér:mozgás, kattintás, kijelölés -billentyűzet:adatok beírása, billentyű parancsok -Főmenü kezelő -Fájlkezelő rész: mentett játékok készítése és betöltése -Hibakezelés 8.2 Használt programozási nyelv A fejlesztés során a C++ nyelvet fogjuk alkalmazni, mely teljesíti a feladat kiírásban megkövetelt feltételeket: - Objektum orientált - Platform független A C++ proramozási szabvány betartásával pedig elérhetjük, hogy a játék kódja a későbbi továbbfejlesztés és javítás során átlátható legyen. 8.3 Használt fejlesztőeszköz Fejlesztőeszköznek a DevCpp 4.0 programot választottuk többek között hozzáférhetősége, jól kialakított kezelőfelülete és kis mérete, hordozhatósága miatt. Meghatározott hardver platform a fejlesztés során: -Pentium 4 1600MHz -DVD-meghajtó -512Mbyte RAM -ATI Radeon 9600 Xt vidókártya / 256Mbye video RAM -19” CRT monitor -optikai egér -billentyűzet -deskjet nyomtató 8.4 Az alakalmazásba beépülő újrafelhasználható elemek -3 dimenziós modellek, melyek tetszőleges grafikai alkalmazásba importálhatók -Logikai rendszer csomagja, osztályai, mely szintén alkalmazható hasonló jellegő programoknál -Bármely kellő hordozhatósággal bíró kódrészlet, mely lehet osztály vagy akár egy metódus -Új játékterek (pályák) -Bizonyos értelemben a mentett játék is újrafelhasználható elem, azonos verziószámú program egy másik gépen futó példányánál hiba nélkül felhsználható 8.5 A fejlesztési módszertan A projekt során a RUP (Rational Unified Process) módszertant és dokumentum formáit alkalmazzuk, melyek körülbelül megegyeznek az IEEE szabvány ajánlásával. Tulajdonságai: -Keretrendszer a fejlesztésre, a feladat tulajdonságainak figyelembe vételével -Jól definiált munkafolyamatok -Testreszabással alkalmassá tehető egy konkrét feladatra -Számos dokumentációs sablon Használt technikaként szerepel az UML (Unified Modelling Language). Ennek keretében igénybe vesszük a Use Case-, az Osztály- és Viselkedési diagrammokat a feladat egyértelmű megfogalmazására. A munka során törekedni kell a használt módszertan (RUP) és a technika (UML) szabályainak, jelöléseinek, formátumainak feltétel nélküli betartására. Elsősorban annak érdekében, hogy az ezeket ismerő külső személy (megrendelő) egyértelmű képet alkosson a fejlesztő csoport elképzeléseiről és ha úgy ítéli változtatásokat javasoljon. Akár ugyanezen módszer és technika alkalmazásával.
A program igen egyértelmű és könnyen kezelhető lesz, még a kezdő felhsználók számára is. Ezt a külső személyekkel tervezett alapos tesztelési folyamat biztosítja. A program szállításakor a Telepítő cd-n helyet kap egy felhsználói dokumentáció. Ez tartalmazni fogja a használat módját és az esetleg felmerülő kérdéseket és válaszokat. Az egyszerű felépítés miatt a használatról szóló dokumentáció rész átolvasása elegendő és nem teszi szükségessé Help rendszer beépítését a programba. Szükség esetén a fejlesztőkkel is felvehető az kapcsolat, akik minden, a programmal kapcsolatos kérdésre meg tudják adnia a választ. A termék weboldalán az érdeklődők szintén juthatnak információkahoz. Előreláthatólag a játékosnak csak a játékmenet során fellépő stratégiai feladatok hatékony megoldása okozhat majd problémát azonban a fejlesztők célja nem ezek megoldása hanem éppen megalkotása volt.
Az általunk készített játékba a felhasználói élmény fokozása érdekében néhány olyan - már korábban elészített - kész program komponenst integráltunk, melyet támogatnak a mai modern számítógépek. Ezen komponensek a következők:
- Direct Sound: Ez a program a DirectX 9 beépített modulja, így minden korszerű pc ismeri és könnyen tudja kezelni. A program működése végtelenül egyszerű, hiszen ha a Direct Sound Standard Inputjára egy hang fájlt küldünk az azonnal lejátssza azt.Ilyen módon a felhasználó a program futása közben a játék szerves részének érzékeli a hangokat is. - Open GL: ez egy olyan software, melynek támogatására a számítógépek gyártói hardware szinten is gondoltak, így mondhatjuk,hogy a 2D és 3D grafikai elemek megjelenítését a rendszer mind program, mind hardware szinten támogatja. Így lehetséges, hogy a játék futása a lehető legzökkenőmentesebb legyen ezen előre megírt komponens lefutásakor.
A felhasználói interfész célja: Kapcsolattartás a program és a felhasználó között. A játék user interfészének jellemzője: Nem követ semmilyen szabványt ===> teljesen egyedi desing-szerint lesz kialakítva. Az U.I. égrrel és billentyűzettel lesz kezelhető. Két fő részre kell osztani funkció szerint a U.I.-t. 1. Menü rendszer ( virtuális gombokból és egy animált háttérből áll ) 2. Maga a játék (jóval bonyolultabb) Az U.I. elkészítésére vonatkozó kritériumok: A fejlesztés során szem előtt kell tartani az alábbi triviálisnak tűnő konvenciókat ===> Ne terheljük túl a képernyőt(egyszerre mindig csak annyi gomb legyen látható, amely minimálisan szükséges és ezek jól el legyenek osztva a képernyőn). Egyszerű és világos kezelhetőség.
Nincs szükség külön hardware interfészekre, mert csak olyanokat használunk amelyek a MS WinXP SuSE 7.3 MAC Os X alatt működő hardware-be alapból be vannak építve.
DirectX --> sound interfészét az Opengl --> grafikai és --> esemény kezelő interfészét és az OS i/o kezelő interfészét használjuk. (a DirectSound helyett Linux alatt sound demon-okat használunk)
Az ábra megmutatja az interfészek közötti kommunikáció irányát is.
Egy jó program megírásakor feltétlenül alkalmazni kell az adott programnyelvere vonatkozó szabványokat.Ez azért fontos, mert ez teszi a programot mindenki számára átláthatóvá, könnyen értelmezhetővé, s ez által megadja a lehetőséget a későbbi továbbfejlesztésre is. Amennyiben nem tartjuk be a szabványban előírtakat a programozáskor, könnyen előfordulhat, hogy nem csak a további fejlesztéseket gátoljuk meg a munkánkat folytatni kívánó programozóknak, de könnyen "tévedhetünk el" mi is saját forráskódunkban. Ennek elkerülése érdekében az alábbi szabványt, mint kötelezően használandó szabványt használja minden programozónk: -Miskolci Egyetem Általános Informatikai Tanszék kódolási szabványa C nyelvhez
Programunk OpenGL kódrészeinél a MESSA OPENGL SZABVÁNY előírásait választottuk kötelező érvényűnek.Ez a szabvány egy világszerte ismert és elismert kódolási követelményrendszer, melyet más programkészítők is szívesen alkalmaznak.
-Interaktív grafika - Füzi János -A c programozási nyelv - Brian W. Kernighan , Dennis M. Ritchie -A C++ programozási nyelv - Bjarne Stroustrup - C kódolási szabvány