Závěrečná práce: Daniel Mikula: Server hry pro mnoho hráčů založený na databázi
Bakalářská práce
Server hry pro mnoho hráčů založený na databázi
Massive multiplayer game server based on database
Anotace
Cílem práce bylo navrhnout a implementovat vysoce škálující server jednoduché hry pro mnoho hráčů. Hra vznikla pro otřeby průzkumu technologií vhodných pro nasazení v potenciálním budoucím projektu zapojené firmy. Důraz byl kladen predevším na použití existujících nerelačních databází jako nástrojů na zajištění perzistence herního světa.
Abstract
The goal of the thesis was to design and implement a highly scalable server of a simple massively multiplayer game. The game was conceived as a research tool for evaluation of technologies suitable for deployment in a prospective project of an involved company. Stress was laid on the utilisation of existing non-relational databases as a means for securing the persistence of the game world.
Zadání práce
Hry pro mnoho hráčů implementované s využitím modelu klient-server kladou vysoké nároky na serverovou část. Server musí být schopen obsloužit velké množství hráčů a zároveň musí být schopen zajistit dostatečnou odezvu pro všechny hráče, aby nedocházelo k degradaci kvality či spravedlivosti hry. Má-li existovat pouze jedna instance herního světa sdílená všemi hráči, musí být serverová část hry schopna škálovat přes více procesorů či více výpočetních uzlů. Server by měl být také odolný vůči výpadkům -- ať už udržením dostatečně aktuální a konzistentní podoby herního světa při totálním výpadku, nebo i možností přežít výpadek menšího množství výpočetních uzlů.
V rámci průzkumu možných technologií použitelých pro vývoj vysoce škálujícího serveru umožňujícího masivní zapojení hráčů bude implementováno jádro jednoduché hry. Ta bude umožňovat hráčům pohybovat se po prostorové mapě (dané trojrozměrnou pravidelnou mřížkou), kdy každý hráč obarvuje svou barvou ta políčka, která navštíví. Hráči také mohou vzájemně políčka obchodovat. Jádro hry tak demonstruje dva stěžejní problémy her pro mnoho hráčů: aktualizaci jedné velké datové struktury všemi hráči (aktualizace políček mapy) a provádění atomických operací (výměna vlastněných políček).
Úkolem studenta je navrhnout a implementovat herní server s využitím existujícího databázového systému. Student nejprve prozkoumá existující přístupy a jejich možný přínos s hlediska výkonu, škálovatelnosti a tolerance výpadků (jedná se především o možné zapojení NoSQL databází), následně implementuje jádro hry využívající tuto databázi. S pomocí simulátoru klientské části hry (vzniká v rámci jiné práce) vyhodnotí výkon, škálovatelnost a odolnost na výpadky své implementace.
Práce je vypisována v rámci projektu OP Vpk s názvem Platforma výzkumné a vzdělávací spolupráce FI MU v oblasti zpracování dat, reg. číslo CZ.1.07/2.4.00/12.0049.
6. 1. 2012 17:04, doc. RNDr. Jiří Filipovič, Ph.D., učo 72898
Vedoucí
Práce na příbuzné téma
Seznam prací, které mají shodná klíčová slova.
-
Testování a srovnání SQL a NoSQL databázových systémů se zaměřením na metodiku testování
Mgr. Maroš Grman -
Database management as a cloud-based service for small and medium organizations
Mgr. Dipl. Ing. Dime Dimovski -
Suitability of graph data models for different cases of data cohesion
Mgr. Matúš Štovčik -
Comparison of a multi-model database with its single-model variants
Bc. Michal Merjavý -
Data management of the web-based visualization supporting criminal investigations
Bc. Daniel Plakinger, učo 482849 -
Škálovatelný systém pro monitoring rádií s mobilní aplikací
Mgr. Petr Suchý -
Comparison of a multi-model database with its single-model variants
Bc. Michal Merjavý -
Přehled nástrojů a metod pro práci s velkými daty
Bc. Matej Zubo




