As a worked on a prototype for a platform fighter during Covid, I realized I was gonna need some sort of netcode to be able to properly test it. This led me to develop over a few months a rollback netcode layer both as a challenge and as something I would be able to use in future projects.

 

  • Done in C#, in Unity, but doesn't uses Unity libraries.
  • Requires the game to be deterministic and to separate logic from visuals.
  • Does its own packet logic, using bit packing techniques and delta encoding to reduce sizes.
  • Features debugging tools, including the option to simulate different agents sending packets to one another with different network conditions and compare their views (see gif below).
  • Works with any configuration of players (has been tested with up to 4 players).

 

I have so far been using it on that features platform fighter prototype and am currently in the process of making the layer generic to use it on other projects and genre such as MOBA.