A small game created so I could put my knowledge of networking to the test. It is a Hybrid Client -Server model with one instance of the application acting as the server and also running a local client and any others just acting as clients connected to the server. Each client has a player character and it's job is top take any inputs received and send them to the server in a input package which consists of a vector and an ID. The majority of processing then happens in the server and the current state of the game is sent back to the clients which update accordingly.
By using differing hardware and using Clumsy, a third party networking tool, to simulate different network conditions I was able to get a good feel on how the application worked and how to improve it. What follows is a short summary on how the application behaves.
Due to the usage of prediction and interpolation gameplay was possible until latency hit 500ms. Some jittering is visible when there is a high amount of duplicated or dropped packets however as the application uses a TCP connection. Due to this any out of order packets do not have an effect. Some loss of sync can happen due to how SFML handles window focus but nothing major. Overall, a user will need an average or above broadband connection to use this application in an error free manner but if that exists it should work quite reliably.