Design and Implementation of a
MMORPG gaming service deployed on
a Cloud Platform and using the
microservices architectural pattern
by
Luigi Vanacore
This proposal has been submitted in partial fulfillment for the
module Computing Research and Practice.
in the
Faculty of Engineering and Science
Department of Computer Science
August 2019
Declaration of Authorship
I, Luigi Vanacore , declare that this proposal titled, ‘Design and Implementation of a
MMORPG gaming service deployed on a Cloud Platform and using the microservices
architectural pattern’ and the work presented in it are my own. I confirm that:
This work was done wholly or mainly while in candidature for an masters degree
at Cork Institute of Technology.
Where I have consulted the published work of others, this is always clearly at-
tributed.
Where I have quoted from the work of others, the source is always given. With
the exception of such quotations, this project report is entirely my own work.
I have acknowledged all main sources of help.
I understand that my project documentation may be stored in the library at CIT,
and may be referenced by others in the future.
Signed: Luigi Vanacore
10/08/19
Date:
i
CORK INSTITUTE OF TECHNOLOGY
Abstract
Faculty of Engineering and Science
Department of Computer Science
Master of Science
by Luigi Vanacore
Word Count: 297
Cloud computing technology is increasing its presence in our lives more and more in
unexpected ways. An example of this is the use of Cloud Computing in the gaming world.
The video game industry is now never an established and pervasive reality worldwide.
With billions of profits and an audience of millions of gamers, this industry that makes
technological progress the center of its evolution, could only benefit from revolutionary
technology like Cloud Computing. The same cloud providers like Amazon and Google,
are now starting to offer ad hoc cloud services for the video game industry.
These offers can be divided into two types:
• Cloud Gaming Streaming Service
• Cloud Multiplayer Gaming Service
This thesis will be based on the second type, on the design and implementation of a mass
online multiplayer roleplay game service on the cloud platform. To take full advantage
of the cloud platform’s capabilities, the software architecture of this cloud service will
be based on microservices.
The purpose of this thesis is to demonstrate how the use of the Cloud platform can be
a definite advantage in the world of gaming multiplayer. In fact, by using the cloud
platform for hosting the gaming servers you can get:
• reduction of operating costs
iii
• possibility to scale servers vertically and horizontally depending on the load of
players
• possibility to automate and optimize management and maintenance, thus reducing
the workforce
• greater speed and ease in releasing new versions with the possibility of using devops
methods for the cloud platform.
The research will be conducted by designing and implementing a mmorpg backend ser-
vice deployed on a cloud platform and using the microservices architectural pattern.
The design science research methodology will then be followed.
The resulting artifact will demonstrate the set goals, showing the many advantages that
cloud computing offers.
Contents
Declaration of Authorship i
Abstract ii
List of Figures v
1 Research Context 1
2 Research Aim 4
3 Research Objectives 5
4 Research Methodology 6
5 Work Plan 8
6 Ethical Issues 12
Bibliography 13
iv
List of Figures
5.1 General view of the Gantt Chart . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Gantt chart of the Requirement specification phase . . . . . . . . . . . . . 10
5.3 Gantt chart of the Design phase . . . . . . . . . . . . . . . . . . . . . . . 10
5.4 Gantt chart of the Development phase . . . . . . . . . . . . . . . . . . . . 10
5.5 Gantt chart of the Testing phase . . . . . . . . . . . . . . . . . . . . . . . 10
5.6 Gantt chart of the Deployment phase . . . . . . . . . . . . . . . . . . . . . 11
v
Chapter 1
Research Context
Word Count: 947
As a research topic , the theme of cloud gaming has been addressed for the challenges
it implies in managing computational resources and networking for serving a real time
service with the highest quality of service. A general overview on the subject gives it the
article [1]. Cloud gaming can be divided into two types of services: cloud gaming hosting
and cloud gaming streaming. In the first, the gaming services that client games access to
be able to support online multiplayer functionality are distributed on cloud platforms In
the second, the cloud gaming streaming is the service offered by the cloud providers to
manage the entire computational and resource load of the gaming service. The client has
the only load to manage user input and to send data received from the cloud to the screen.
Both types of gaming services are researched topics, especially the aspects they have in
common. In the [1] article, there is an interesting analysis of cloud gaming literature,
in which the research papers are classified into different categories, showing how the
topic is widely debated. The theme of this research proposal is to design and develop an
MMORPG game service on a cloud platform. MMORPG ( Massive Multiplayer Online
Role-Playing Game) is a game genre which allows thousands of people to connect and
role-play in a same or separate instances of 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. An article that describes the general architecture of a
typical MMORPG and how it is addressed as a research topic is [2]. In [2] is stated that
Current research in the area of MMORPGs fits mainly into one of four categories:
• The social interactions between players in MMORPGs.
• The different architectures to build MMORPGs.
• The effects of latency on MMORPGs.
1
Research Context 2
• Problems that plague MMORPGs.
Another interesting article is [3], where the different aspects and challenges of massive
online game development on cloud platforms is illustrated. A more specific analysis on a
commercial MMORPG it is given by the article [4], in which the case study of one of the
most successful MMORPGs on the market ”World of Warcraft” is addressed, stating
that adopting zone-based server consolidation strategy can drastically reduce costs and
operating costs and improve service quality. A zone-based server consolidation strat-
egy can be easily adopted using a cloud infrastructure. It can be understood therefore
that this article gives a point in favor of the idea of using a cloud infrastructure to
support a game service MMORPG. The problems of resource management in the case
of cloud gaming are further addressed in the articles [5] and [6]. In these articles, the
problems of resource management in cloud gaming are presented and it is stated how
much of the innovation needed to take cloud gaming to the next level may reside in
adopting new programming paradigms to support the unique needs of these complex
systems. The microservices software architecture can be considered a new programming
paradigms perfectly adaptable to this topic, as the microservices architecture is a new
type of software architecture that is born thanks to the environment and cloud and is
able to reduce the complexity of complex software systems. An effective analysis of the
microservices architecture can be found in the articles [7] and [8]. In these articles the
software architectural model of microservices is presented. Model born precisely with
the spread of cloud services, given that it is in the highly distributed and scalable cloud
environment that this model shows its greatest advantages. Currently this architectural
pattern is having a growing interest from companies. Legacy monolithic applications
have been converted into microservice applications, as new start-ups have created their
new applications directly following this model. Therefore, using this architectural model
means ensuring a great rate of innovation for the application, with the pros and cons
this entails. The gaming applications are real-time services, which in the case of online
games need to work in order to function between two or more end-points as much as
stable and with as little lag as possible. This has led to great attention to the search for
data traffic between client and server and its quality of service. A research article deal-
ing with this topic is [9], in which the data traffic of an MMORPG is analyzed, noting
that a MMORPG is characterized by a large number of concurrent participants and its
upstream-downstream traffic is asymmetry. The analysis was performed on two bases:
aggregate traffic and per session traffic. The aggregate traffic characteristics showed
that there was a significant asymmetry between upstream and downstream traffic. This
asymmetry should be taken into account in two aspects. Game developers should de-
sign a game server considering this asymmetry; for example, mitigating traffic burden
by optimizing downstream data packet size. On the other hand, ISPs can efficiently
Research Context 3
provision network resources to game servers; for example, allocating more bandwidth
to downstream traffic. One of the biggest problems for online games is the network la-
tency. In the article [10] states that latency determines not only how players experience
online gameplay but also how to design the games to mitigate its effects and meet player
expectations. In a logic in which the MMORPG is deployed on a cloud platform, the
cloud provider can better manage data traffic, even distributing the services in various
geographical areas, mitigating the effects of network latency by bringing endpoints closer
together, and offering bandwidth in downstream adaptable to various requests.
Chapter 2
Research Aim
The aim of this research is to design, using the best and most recent software engineering
methods and techniques, and implementing, using the best technologies and frameworks
available to the state of art, a mmo gaming service deployed on a cloud platform and
following the microservices software architectural pattern.
4
Chapter 3
Research Objectives
The thesis aims at multiple objectives, which will now be examined:
• to demonstrate the advantages in deploying the mmorpg gaming service on the
cloud platform
• to demonstrate how the cloud platform can be used to host services that require
high traffic without losing efficiency and quality of service
• to demonstrate that the new architectural pattern of microservices, which came
into vogue thanks to the spread of cloud computing, can be used for a complex
application with high requirements such as the mmorpg gaming service
5
Chapter 4
Research Methodology
The research method proposed for the thesis is a design science methodology. The
article [11] defines that the purpose of design science research is to address the research
problem by building and evaluating IT artifacts. These artifacts can be models, methods,
frameworks or instantiations. An artifact, however, is considered viable only when it is
developed to solve identified business needs in a new or more efficient manner. Hevner
et al. [12] proposed a guideline in Design Science Research in Information System, these
guidelines are as follows:
• Guideline 1: Design as an Artifact: Design-science research must produce a viable
artifact in the form of a construct, a representation, a technique, or an instantiation
of.
• Guideline 2: The Relevance of Problem: The basic objective of design-science re-
search is to develop technology-based solutions to important and relevant business
problems.
• Guideline 3: The Design Evaluation: The utility, the quality, and the efficacy
of the design artifact must be demonstrated rigorously through a well-executed
evaluation methods.
• Guideline 4: Research Contribution: Effective design-science research must offer a
clear and provable contributions in the areas which design artifact is apply, design
foundations, and/or design methodologies.
• Guideline 5: Research Rigor: The Design-science research depends upon rigorous
methods application in both evaluation and the construction of the design artifact.
6
Research Methodology 7
• Guideline 6: Design as a Search Process: The search for effective artifact depend
the utilization of the available ways to reach desired outputs while the laws in the
problem environment are still satisfied.
• Guideline 7: Communication of Research: Design-science research presentation
must be effective both the technology-oriented as well as management-oriented
consultation.
In the proposed thesis, the design science guidelines are adapted by building a proof of
concept implementation of an MMORPG service which is developed according to the
principles of a microservice architecture pattern and deployed on a cloud platform. The
requirements of the MMORPG service are derived from the existing literature reported
previously.
Chapter 5
Work Plan
The proposed research project promises to be undoubtedly complex, so a correct plan-
ning of the work-plan is a fundamental aspect for the success of the project.Therefore, a
Work Breakdown Structure (WBS) and a project schedule in the form of a Gantt chart
were therefore prepared.The start of the research work was set for January 2020 and
its end for May 2020.The research method used, design science research methodology,
requires that an artifact be implemented that can demonstrate the results required by
the research. Since the artifact that will be implemented is a software product, the
Work Breakdown Structure (WBS) will be structured to define the various software
development phases.
1. Research
1.1 Requirements specification
1.1.1 Initial requirements analysis
1.1.1.1 General requirements analysis
1.1.2 Detailed requirements analysis
1.1.2.1 Functional requirements analysis
1.1.2.2 System requirements analysis
1.1.2.3 Technical requirement analysis
1.1.3 Final reporting of the requirements
1.2 Design
1.2.1 High Level Design
1.2.1.1 Functional design
1.2.1.2 System design
1.2.2 Low Level Design
8
Work Plan 9
1.2.2.1 Module design
1.2.2.2 Interface design
1.2.2.3 Api design
1.2.2.4 Class design
1.3 Development
1.3.1 Module development
1.3.2 Interface development
1.3.3 API development
1.3.4 Program Coding
1.4 Testing
1.4.1 Internal test
1.4.1.1 Unit testing
1.4.2 Integration test
1.4.2.1 System testing
1.4.3 Final Report generation
1.5 Deployment
1.5.1 Preparation of the Cloud platform
1.5.1.1 Defining the cloud services that will be used
1.5.1.2 Configuration of the cloud services
1.5.2 Software installment
1.5.2.1 Creation of the container ecosystem
1.5.2.2 Orchestration of the container ecosystem
1.5.2.3 Moving the application into the target environment
The project gantt chart will now be presented. To improve readability, the chart has
been divided into figures for each main phases.
Figure 5.1: General view of the Gantt Chart
Work Plan 10
Figure 5.2: Gantt chart of the Requirement specification phase
Figure 5.3: Gantt chart of the Design phase
Figure 5.4: Gantt chart of the Development phase
Figure 5.5: Gantt chart of the Testing phase
Work Plan 11
Figure 5.6: Gantt chart of the Deployment phase
Chapter 6
Ethical Issues
There are no ethical issues to discuss regarding the following research proposal.
12
Bibliography
[1] W. Cai, R. Shea et al., “A survey on cloud gaming: Future of computer games,”
IEEE Access, Jan 2016. [Online]. Available: https://www.researchgate.net/
publication/306006176 A Survey on Cloud Gaming Future of Computer Games
[2] L. Achterbosch, R. Pierce, and G. Simmons, “Massively multiplayer online role-
playing games: The past, present, and future,” Computers in Entertainment, Oct
2007. [Online]. Available: https://www.researchgate.net/publication/220686344
Massively multiplayer online role-playing games The past present and future
[3] A. Iosup, S. Shen et al., “Massivizing online games using cloud com-
puting: a vision,” IEEE International Conference on Multimedia and Expo
Workshops (ICMEW), 2014. [Online]. Available: https://atlarge-research.com/
pdfs/2014-iosup-massivizing.pdf
[4] Y. T. Lee and K. T. Chen, “Is server consolidation beneficial to mmorpg? a case
study of world of warcraft,” IEEE 3rd International Conference on Cloud Comput-
ing, 2010.
[5] Y. Zhang, P. Qu et al., “A cloud gaming system based on
user-level virtualization and its resource scheduling,” IEEE Trans-
actions on Parallel and Distributed Systems, Jan 2015. [Online]. Avail-
able: https://www.researchgate.net/publication/276409950 A Cloud Gaming
System Based on User-Level Virtualization and Its Resource Scheduling
[6] Y. Li, Y. Deng et al., “Cost-efficient server provisioning for cloud gaming,” ACM
Transactions on Multimedia Computing Communications and Applications, Jun
2018. [Online]. Available: https://www.researchgate.net/publication/326052025
Cost-Efficient Server Provisioning for Cloud Gaming
[7] P. D. Francesco, I. Malavolta, and P. Lago, “Research on architecting microser-
vices: Trends, focus, and potential for industrial adoption,” IEEE International
Conference on Software Architecture (ICSA), Apr 2017.
13
Bibliography 14
[8] ——, “Migrating towards microservice architectures: an industrial survey,” IEEE
International Conference on Software Architecture (ICSA), Apr 2018.
[9] J. Kim, J. Choi et al., “Traffic characteristics of a massively multiplayer online
role playing game,” ACM SIGCOMM workshop on Network and system support
for games, Oct 2005. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/
download?doi=10.1.1.93.7220&rep=rep1&type=pdf
[10] M. Claypool and K. Claypool, “Latency and player actions in online games,” Com-
munications of the ACM - Entertainment networking, Nov 2006.
[11] K. Peffers, T. Tuunanen et al., “A design science research methodology for infor-
mation systems research,” Journal of Management Information Systems, Oct 2007.
[12] Hevner, Salvator, and J. Park, “Design science in information science,” MIS
Quarterly, Mar 2004. [Online]. Available: https://wise.vub.ac.be/sites/default/
files/thesis info/design science.pdf