Online multiplayer maker library
Tutor / directorCareglio, Davide
Document typeBachelor thesis
Rights accessOpen Access
Networking is a big part of the gaming industry nowadays, but its implementation is usually only present in triple-A games with a huge budget. Part of the problem is the lack of available tools to develop this sort of feature; for this reason, the objective of this project is to create the basis for a C++ library that allows for an accessible introduction to network communication programming, giving easier access to default socket functionality and providing features that help in the development of online multiplayer games in particular. This library does not provide the necessary infrastructure to develop these sorts of video games, even though it provides help in those ambits. The library contains an updated API to use TCP and UDP sockets using classes to centralize functionality, a new socket class that centers on keeping the UDP protocols speed while maintaining the safety and reliability of TCP, a server class to automatize connection with several users, and other general functionality to ease networking implementation and use. The project was created using a Waterfall methodology where features build on top of each other to advance the development; this was optimal given that the project's idea is to give the user access to all the features, from the lowest to the highest level. Overall the library provides a comfortable framework to start learning how networking works or to implement features that connect several computers through the internet. Also, more knowledgeable users can utilize the lower-level features to reimplement the higher-level functionality to better adapt to particular needs, given that these features are implemented in a generalist way to suit the needs of a broader number of users.
DegreeGRAU EN DISSENY I DESENVOLUPAMENT DE VIDEOJOCS - Barcelona (Pla 2014)