Modified an existing game (Omega Race) by adding networking capabilities, even though it was never intended have multiplayer capabilities. Omega Race is a 2 player game and thus a Client-Server protocol was used.
Functional Features:
Used a Client-Server model for communication
Refactored the game to become data driven with queuing mechanics (see diagram below)
Added synchronization checks to make sure both instances of the game were identical with minimal latency
Serialized data by packing them into continuous small packets for inflation and deflation
Utilized dead reckoning technique for predicting positions of game objects in order to combat network latency
Networked the game using reliable TCP for moving ships, tracking missiles, timing of mine explosions, and collisions
For more details into the implementation for this project, please take a look at the Checklist above.