Multiplayer Networking Game Application

Application making use of the Asynch I/O of the Winsock library to implement a multiplayer networking game.

Application written in C++ which makes use of the Winsock library to implement a multiplayer networking game with asynchronous I/O using multiplayer games programming best practises and techniques, developed for the module Network Programming at Abertay Dundee during my third year.
It features:

  • Asynchronous I/O
  • Client-side prediction
  • Client-side server reconciliation
  • Client-side interpolation
  • Authoritative server
  • The focus of the module was to learn how to develop multiplayer networking applications and games using sockets. As part of the course, I researched the different architectures available when designing the multiplayer part of a game and implemented the one which fit most my application. I had to thoughtfully choose between different techniques for latency hiding depending on the type of game I wanted to implement. I really enjoyed learning how to use the low-level Berkley sockets API and creating C++ wrapping code to the C-style API. It was also very interesting to discover how latency is dealt with in major production games and it was very satisfying to implement some of these techniques. More info on the application and its architecture can be found in the presentation slides.

    Special thanks to my classmate Stefano Musumeci, Jiri Klic, to my lecturer Adam Sampson and to my friend and mentor Steven Tovey for their awesomeness and for their help.

    The picture used as a thumbnail in the portfolio page for this piece is originally from Gabriel Gambetta's excellent website: http://gabrielgambetta.com/fpm2.html

    Info & Curiosity

    Alberto Taiuti: developer

    Technology: C++, Winsock, Win32, VS 2013, SFML


    Documents:
  • Source code and builds |  view
  • Presentation |  view