Játékfejlesztés Unreal környezetben

OData támogatás
Konzulens:
Dr. Blázovics László
Automatizálási és Alkalmazott Informatikai Tanszék

A játékiparban megfigyelhető egyre növekvő igények kielégítésére folyamatosan erősödik a törekvés minél összetettebb és valósághűbb virtuális valóságot megvalósító játékszoftverek készítése iránt. A terület egyik legfontosabb követelménye mégis az észlelhető szoftverhibák minimalizálása és lehetőség szerint azok láthatatlanná tétele a játékos számára – ugyanis ezek nagymértékben rontják a játékélményt. Az előálló követelményekből adódóan az újabb és újabb szoftverek architektúrája folyamatosan egyre bonyolultabb tervezést igényel, hogy költséghatékony és célszerűen a későbbiekben újrafelhasználható munkák születhessenek.

A diplomamunkámban egy olyan játékszoftver elkészítését tűztem ki célul, amely kísérletet tesz a fenti igényekre egy architektúrálisan jól megtervezett megoldással válaszolni. A játék maga egy labirintus köré épül, a „The Maze Runner” című filmből merített ötletek alapján. Az alkalmazást az Unreal Engine játékmotor felhasználásával készítettem el.

A dolgozat során bemutatom a kialakított játékmenetet, és nagy hangsúlyt fektetek az architektúrális tervezésre, mellyel egyúttal a megvalósítandó kódbázisra nézve minél nagyobb arányú platformfüggetlenség fenntartására is törekszem. A labirintus elkészítésekor felmerülő matematikai vonatkozású problémákat részletesen kifejtem.

Az elkészült architektúra a Model-View-Presenter mintán alapul, mely használatával kizárólag a View összetevő megvalósítása platformfüggő. A szétválasztásból adódóan a további komponensek egységtesztekkel lefedhetőkké válnak, ezzel akár a hibák számának csökkentését is lehetővé téve. A platformfüggetlenséghez elengedhetetlen egy saját eszközkészlet létrehozása, melybe segédosztályokat és tárolókat valósítottam meg a feladat megoldásához.

A kialakított architektúra sikerességére gyakorlati bizonyítékot ad a minimális mennyiségű platformfüggő kód, melyet az Unreal Engine-ben való megvalósításhoz kellett elkészítenem. A továbbiakban az architektúra rugalmasságáról például egy jól átgondolt tesztkészlet és eltérő játékmotorral való megvalósítás is további biztosítékot adhat. A játékélmény fokozása érdekében érdemes újabb játékelemekkel színesíteni a szoftvert.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.