Prism Wars   (2015)

Project: Prism Wars
Platform: C#, XNA, RakNet Networking API, Farseer Physics API
Position: Network Gameplay Programmer
Team Size: 2
Timeframe: 20 Weeks

Prism Wars is a 2D multi-player action arena platformer game that I worked on for my final capstone project at NEIT. We presented this game at Pre-PAX East 2015, where dozens of people enjoyed it. Everything was created from scratch in an object-oriented fashion.

Networking

I successfully implemented a server-client model. The client launcher pings the local network and enumerates available games. The client can then select and join any of the games and begin playing. Once in game, physics objects are synced across the network by using a priority accumulator.

The priority accumulator works as follows. Each game object that must be synced over the network has a priority float property. For every frame that this object is NOT synced over the network, this value is summed with the delta-time (in ms) from last frame. The top 10 game objects with the highest priority get broadcasted over the network that frame. This ensures that objects which have not been synced recently get synced over the network, and that only up to 10 objects may be synced over the network, limiting network traffic.