Priest of Firepower
Role: Network & Gameplay Programmer
A demo built for the Online & Networks subject at CITM-UPC. The goal was to understand the internals of a game networking layer — from sockets and authentication through to synchronization models, object replication, and binary serialization — all implemented from scratch without using Unity's Netcode.
About the NETWORKING
Networking Features:
- Authentication
- Network Manager
- Network Object
- Network Behaviour
- Replication manager
- Replication Headers and Streams
- Input Headers and Streams
- Packet, encompasses both replication and inputs
Structure
The chosen structure for this 2D top down shooter is "State Synchronization" for the synchronization model, "Client-Server" for the network model, and "Binary Serialization" for the object serialization.
About my CONTRIBUTIONS
Object Replication
Network Objects over all clients should have the same Network Id. The spawning, as well the de-spawning, of an object in the server should be replicated in the clients.
Object Serialization
Network Behaviours allow themselves to be serialized in binary format; the replication manager ensures the serialized data arrives at the matching object on the destination machine. Network Variable support for automatic serialization is also included.
Network Object
Encompasses all the Network Behaviours of inside a Network Object, as well manages the transforms and the interpolations of these.
Network Behaviour
An extended monobehaviour but with added features like serialization, replication managing like spawn, de-spawn, replication streams, and input sending.
Networking of Enemies & UI
The behaviour of enemies in a shared and in sync state between all machines. The refactoring of single player UI into a networking UI capable of handling multiple player and multiple element affected by those players.
About the GAME
A 2D top-down shooter where two players cooperate to fight waves of enemies. The game uses a Client-Server network model with State Synchronization and Binary Serialization, all built without any engine networking framework.