Applying microservice architecture pattern to a design of an MMORPG backend
1University of Oulu, Faculty of Information Technology and Electrical Engineering, Department of Information Processing Science, Information Processing Science
|Online Access:||PDF Full Text (PDF, 1.5 MB)|
|Persistent link:|| http://urn.fi/URN:NBN:fi:oulu-201712013266
|Publish Date:|| 2017-12-01
|Thesis type:||Master's thesis
Massively multiplayer online role-playing game (MMORPG) is a game genre which allows thousands of people to connect and role-play in a virtual world. Typically, these games are experienced by controlling an in-game character which properties, such as name, race and skills can be customized. Hence, a big part of these games is about progression through quests and combat, because unlike FPS games, MMORPGs allows players to create characters which lasts between different gaming sessions. However, very little is known how these games are implemented in practice.
The objective of this master’s thesis is to study how MMORPG backend can be designed using the microservice architecture pattern? In this context, MMORPG backend means a server-side game system which needs to be in place for thousands of people to connect and role-play in a same or separate instances of a virtual world. On the contrary, an application based on the microservice architecture pattern means a distributed system which is composed by a set of services, each of them designed to perform separate and well-defined task.
The research was conducted with design science research methodology. Consequently, the search problem was approached by building a proof of concept implementation of an MMORPG backend which was developed according to principles of a microservice architecture pattern. These principles along the requirements of the system were derived from the existing literature because the research was not conducted in a company setting. The knowledge base of this research was the existing work towards designing MMORPG architectures, and the studies describing microservice architecture pattern in more detail. The developed system was rigorously evaluated by comparing the design against the principles, and the functionality against the requirements using three different test strategies: unit testing, service testing and end-to-end testing. From the results of the evaluation, and the process of developing the system, the research problem could be addressed.
The results showed that there are multiple steps in the process of designing an MMORPG backend using the microservice architecture pattern, but the requirements engineering is the most important. Having a detailed understanding about the game requirements makes it possible to construct a distributed system in which multiple microservices works together to serve player goals. Hence, the architectural design developed in this research helps game developers to construct their very own MMORPG backend.
© Mauno Vähä, 2017. This publication is copyrighted. You may download, display and print it for your own personal use. Commercial use is prohibited.