Regisztráció és bejelentkezés

Játékkészítést támogató függvénykönyvtár

Játszani mindenki szeret, azonban keveseknek van lehetősége saját játékprogramot készíteni. Nagyon sok grafikus könyvtár létezik, ezek használata azonban kezdők számára gyakran nehézkes, gyakran túl általánosak, nem csak játékok fejlesztésére tervezték őket. Legfontosabb célom a függvénykönyvtár készítésekor az volt, hogy könnyen használható legyen kezdőknek is, ezért a legtöbb hasonló programmal ellentétben sok magas szintű funkciót tartalmaz, amelyek használatát példaprogramokkal is bemutatom. Elsősorban kezdőket próbáltam segíteni, ezért főleg kétdimenziós játékok fejlesztésében nyújt segítséget a könyvtár, mert azokat könnyebb megérteni, fejleszteni. Célom nem egy új grafikai könyvtár készítése volt, hanem a játék logika egyszerűsítése. Persze a játékokban megkerülhetetlen a grafika, ezért számos grafikai elemet biztosít a könyvtár. Jelenleg a grafikus elemek megjelenítését saját implementáció és OpenGL végzi, azonban egyszerűen illeszthető hozzá tetszőleges grafikus könyvtár. Ez a modularitás teszi lehetővé a platformfüggetlenséget.

A Gnome asztali környezet és alkalmazásainak alapját képező GLib/GObject keretrendszer az alapja a játékkészítést támogató függvénykönyvtáramnak. Sebességben nem marad el a többi játékkészítő környezettől, hiszen teljes egészében C nyelven íródott, mégis a GObjectre építve teljesen objektum-orientált. A GObject keretrendszer részben lehetővé teszi a futásidejű reflexiót is, valamint a függvénykönyvtárak más nyelvekhez nyelvekhez illesztését, így a játékok egyaránt készíthetőek C nyelven, és más objektum-orientált nyelveken. A keretrendszer referencia számlálást alkalmaz, így C nyelven ügyelnünk kell arra, hogy a nem használt objektumokra megszüntessük a referenciát, ez az objektum-orientált nyelveken mint a Vala automatikusan megtörténik.

A játékkészítő könyvtár magas szintű felületet biztosít a fejlesztéshez, alapeleme a játéktér és az benne mozgó objektumok. A játékteret a felhasználó nézeteken keresztül látja, a nézetek transzformációkat is végezhetnek, így például a megjelenítés lehet izometrikus, úgy hogy a játék logikában ez nem jelenik meg. Egy játéktérhez több nézet is kapcsolható, így létrehozhatunk osztott képernyős játékot, vagy készíthetünk apró térképet ami segít eligazodni a felhasználónak egy nagyobb pályán.

Az objektumok rendelkeznek sebességgel és iránnyal, mozgathatóak kijelölt útvonal mentén vagy követhetnek egy másik objektumot. Minden objektumhoz pontosan egy grafikus elem rendelhető, ez felelős annak megjelenítéséért. Az objektum funkciói származtatással tovább bővíthetőek.

szerző

  • Varga Dániel
    mérnök informatikus
    nappali

konzulens

  • Bányász Gábor
    , Automatizálási és Alkalmazott Informatikai Tanszék