Warriors: building a scalable, client independent RPG game server infrastructure in Node.js

OData support
Supervisor:
Gincsai Gábor
Department of Automation and Applied Informatics

The goal of my essay is twofold, firstly to introduce the reader to a new web technology called node.js. Secondly, to prove that this new technology is quiet capable and it perfect as an RPG game server. I will elaborate on the features of Google’s V8, and explain why this platform was choosen as the base of node.js. I will start at the bottom of the technology stack and go up till the modules, I will also address the extensibility capabilities of the platform.

After the introduction, I will compare and contract this new technology with ASP.NET Web API, which is built on the .NET platform, that is quiet evolved. The comparism will include various aspects, to help clarify the differences between the platforms. At the end I will also discuss the reasons, why I choose node.js as the platform to develop on.

In the second part of the essay, I will present the application I developed. First, I will discuss the requirements of the game infrastructure itself and add the requirements I personally have for the project. Then, I will present the plans of the application and discuss the decisions I had to make. In the next part I will show the components of the whole system, I will also touch on implementation details here. The end of this chapter contains a brief discussion on tests and how they were implemented.

The Warriors project has a long history. Before the current implementation, there was a server developed on the .NET platform. I thought it would be interesting to compare the two theoretically. The end of the essay contains a section about this comparison. Given that the comparison is only theoretical, it does not have any performance measurements, however it still provides an excellent way to show the differences in implementation and the architectural similarities of the two solutions.

At the very end, there is a short summary of the project and a brief description of the future plans.

Downloads

Please sign in to download the files of this thesis.