Valós idejű online multiplayer játék készítése RxJS és Canvas API használatával

OData támogatás
Konzulens:
Szabó Gábor
Automatizálási és Alkalmazott Informatikai Tanszék

Napjainkban nagy népszerűségnek örvendenek a számítógépes játékok, ezek közül is a valós idejű online multiplayer játékok műfaja az egyik legnépszerűbb. Az ilyen játékok vonzása az, hogy más emberekkel mérhetik össze képességeiket a játékosok, de a játékosok fizikai távolsága irrelevánssá válik.

Az online játékok többsége szerver-kliens architektúrájú, ahol a kliens általában egy natív alkalmazás. Másik oldalról a webes technológiák fejlődése miatt reálissá vált az ilyen játékkliensek webböngészőben történő futtatása. Ennek előnye az, hogy a felhasználónak nem kell a klienst telepítenie a számítógépére.

A dolgozat témájaként egy ilyen játék webböngészőben futó kliensének elkészítését tűztem ki célul. A kliens fő feladata egy könnyen kezelhető és átlátható felhasználói interfész szolgáltatása a felhasználó számára. Egyrészről ez azt jelenti, hogy a felhasználó cselekvéseit jelzi a játékszerver felé, másrészt a szerver által karbantartott játékállapotot megjeleníti a játékos számára. Az online játékoknál fizikailag és időben is szétválik a játékállapot és a megjelenítés, ennek oka a hálózati késleltetés. A kliens egyik fontos feladata, hogy az offline játékokhoz képest ritkábban frissülő játékállapotok között szimulálja a szerver működését, és így biztosítson folyamatos és élvezetes játékmenetet. A kliens grafikai megjelenítése a Phaser játék keretrendszerrel készült el, a kliens és a szerver közti kommunikáció pedig az RxJS és a SignalR használatával lett megvalósítva. A játék lényege, hogy a felhasználó egy tengeren úszó hajót irányítva megsemmisítse az ellenfelek hajóit.

Letölthető fájlok

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