Video Demo

Quick Notes

A multiplayer game created from a Single Player game using Lidgren as the Network Framework

Full Showcase Here

This application was created as part of out Networking class, it uses Lidgren as the Network Framework in order to use its capabilities of simulating latency and packet loss for our Multiplayer game.

The game uses a Client - Server - Client architecture in which the Clients (Players) send signals to the Server, the Server then processes those signals and applies physics on its side, then sends the GameState to the Clients, physics are not being performed on the Clients.

There were two methods to handle latency implemented, Client Side Prediction in which the Client predicts the position of the Player based on the position of the other Players, and Server Side Prediction in which the Server predicts the position of the Player based on the last data sent by Server and Dead Reckoning where the Server and Client do the prediction based on a set of rules, and if both differ by a certain amount positions are sent to the Clients to correct themselves.