In my thesis I am going to work out the theoretical background of a networking framework and I am going to implement this by using the features offered by .NET. My goal is to make this framework capable of handling the flow of games with small teams.
If it comes to multiplayer games, nowadays it is inevitable to speak about network communication through the internet. The responsibility of a networking framework is to hide the details of this behaviour ahead of the developer, so the attention can be focused elsewhere. Creation of this kind of framework requires deep knowledge, also the implementation process offers valuable experience.
In the spirit of obtaining this knowledge, I am going to investigate which architecture (P2P, Client-Server), which protocoll (TCP, UDP) and what kind of format (XML, JSON, BSON, Own format) should I use to make the communication possible. Furthermore, I am going to deal with encryption (RSA, AES) and compression (Deflate). I am going to write about the .NET libraries and classes I can use to achieve the desired functionalities.
I am going to verify that the networking framework is operational by integrating the modules into a simple game software written in MonoGame. Another task I need to complete is the implementation of a server program with the usage of the networking modules. This way the communication can take place among two or more game softwares. I am also writing about the structure of the server and client softwares and how I used the created networking framework within them.