Valósidejű multiplayer böngészős játék fejlesztése

OData támogatás
Konzulens:
Dr. Mezei Gergely
Automatizálási és Alkalmazott Informatikai Tanszék

A számítógépes játékokkal szemben számos követelményt támasztanak a felhasználók, ilyen pl. az igényes grafika, valós idejű többjátékos üzemmód. Ezeket az igényeket korábban a böngészőkön keresztül elhozni a felhasználókhoz lehetetlen volt, azonban a modern, web alapú technológiák megjelenésével ez megváltozott: a WebGL által a natív megoldásokkal összemérhető teljesítményű grafikai megjelenítést vagyunk képesek megvalósítani, a WebSocket technológia által pedig képesek vagyunk a full-duplex valós idejű kommunikációra, mindehhez csupán egy böngészőre van szükség.

A diplomatervem célja a jelenleg elérhető webes technológiák bemutatása, illetve a segítségükkel egy játék elkészítése, a fejlesztés végigkövetése a tervezéstől kezdve a tesztelésen át az üzemeltetéssel bezárólag. A megvalósítás egy Node.JS alapú szerver, illetve egy böngészőben futtatható JavaScript kliens alkalmazásra terjed ki. A szerver egy PostgreSQL adatbázist használ adattárolásra, a klienssel történő kommunikáció WebSocket protokollon keresztül történik, a felhasználói felület pedig a Reacthoz hasonló virtual DOM alapú Inferno keretrendszerrel, és WebGL technológia segítségével készült.

Az alkalmazás éles környezetben egy nginx reverse proxy mögött fut egy virtuális szerveren, melyre az élesítési folyamatot az Ansible segítségével automatizáltam.

Letölthető fájlok

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