Multiplatformos játékszoftver fejlesztése LibGDX Java keretrendszerben
Absztrakt
Alapvetően mindig is webes technológiák iránt érdeklődtem, webalkalmazások fejlesztésében már több éves tapasztalatom van. Azonban a játékfejlesztés kérdései évek óta foglalkoztattak: Egy játékszoftver elkészítése mégis milyen folyamatokból áll? Az elkészült játék mögöttes logikájában a részegységek miképpen kommunikálnak egymással, és ezek hogyan alkotnak egy teljes működő játékszoftvert? Mivel eddig még komplex játékot nem fejlesztettem le soha, ezért nem akartam túl nagy kihívás elé állítani magam a fejlesztői eszközök választása során, így a C/C++ nyelveknél mindenképpen valami egyszerűbbet szerettem volna, ahol nem kell annyira figyelni a memóriakezelésre. Viszont annyira pedig nem akartam egyszerűt, mint amilyen egy kész játékmotor, pl. a Unity Engine, ugyanis a Unity-ben a fejlesztő előtt egy teljes grafikus eszközkészlet rendelkezésre áll, ilyen a kód editor, a 3D editor, és még sorolhatnám. A Unity-ben egy egyszerűbb játék elkészítését akár komolyabb kódolás nélkül meg lehet valósítani. Ezzel szemben azt szerettem volna, hogy a saját elkészített játékom működését teljes mértékben megérthessem az általam írt kódon keresztül. Így játékmotor helyett inkább egy keretrendszerre volt szükségem. A játékfejlesztői keretrendszerek a piacon lévő játékmotorokhoz képest nagyobb szabadságot adnak. A Java programnyelvet szeretem az objektumorientáltsága miatt, így ahhoz választottam egy keretrendszert, ami nem más, mint a LibGDX: egy keresztplatformos, OpenGL-en alapuló Java keretrendszer, mely tökéletesen használható 2D játékok elkészítéséhez, de még 3D játékot is lehet benne írni. Kezel hangot, billentyűzet/egér bevitelt, és natív Android támogatása is van. Emellett teljes szabadságot ad a fejlesztőnek, nem erőlteti egy adott dizájn vagy kódolási stílus használatát.