In developing PPF2K4.5 Network Architecture my primary focus is addressing Network Lag. I would like to discuss counter measures and what others are doing to minimize network lag using Blitz Network.
My Network implementation is designed around the principle that the Server is the Game Authority managing all gameworld logic, while the Client is I/O Interface to Render a 'copy' of the Server's GameWorld and transmits inputs from player to the server.
I'm using a combination of TCP and UDP protocols. TCP for Mandatory Data (Initial GameWorld State), UDP for 'Twitch' Data (Updates and Client Input). I'm implementing my own UDP Tx/Rx data checking systems on the Server/Client. I'm Tx/Rx data in packets of specific byte size, vs streams. This includes text messages (chat) too.
I'm implementing the following anti-lag techniques:
1. Transmit to only players who need the data
2. Transmit only data of game objects that have changed state.
3. Interpolation
4. Compression
I'm aware of other awesome Blitz Network libraries out there, however, I would like to direct this discussion towards those interested in developing their own.
My Network implementation is designed around the principle that the Server is the Game Authority managing all gameworld logic, while the Client is I/O Interface to Render a 'copy' of the Server's GameWorld and transmits inputs from player to the server.
I'm using a combination of TCP and UDP protocols. TCP for Mandatory Data (Initial GameWorld State), UDP for 'Twitch' Data (Updates and Client Input). I'm implementing my own UDP Tx/Rx data checking systems on the Server/Client. I'm Tx/Rx data in packets of specific byte size, vs streams. This includes text messages (chat) too.
I'm implementing the following anti-lag techniques:
1. Transmit to only players who need the data
2. Transmit only data of game objects that have changed state.
3. Interpolation
4. Compression
I'm aware of other awesome Blitz Network libraries out there, however, I would like to direct this discussion towards those interested in developing their own.