Sync Testing Multiplayer Netcode (Netcodez.Resync)

Hello folks,

Below is a video demonstrating the second version of netcode I’ve written in C# which I’m dubbing “resync.” I plan to complete another 1-2 cycles on this version and release the source… targeting April/May. The demo game was built in Xenko 3.0. Also…, at that time, I will launch a website to continue the further development of these libraries and general commoditizing of network code for indies and small teams… I want to write a lockstep version as well.

This version is relatively simple, it was built with the objective of satisfying the core “pillars” of networking code… things like:

a) Authoritative Server
b) Instance Hosting
c) Client Side Prediction
d) Client Side Rendering
e) Server Reconciliation
etc…

I built in hooks for Lag Compensation and Replays as well.

Cheers,
Jarmo

8 Likes

Do you have a git hub others can contribute to?

Hi Matmuze,

I will make the library public in April, I’m currently adding auxiliary functions this month to ensure I Demo most of the capabilities.

Working on adding in:

  • Item spawning
  • Sentry (AI/NPC) spawning and control

Thanks,
Jeremy

2 Likes

I modified respawning and player streaming as well so that the client app (game) has much more control over where respawning is occurring and whether or not player state is streamed from the server (or is absent/withdrawn).

@Jarmo how did this go? I’m doing preliminary research into my own project and (only) this thread came up in relation to authoritative servers.

edit - ouch “2 YEARS LATER”… I forgot what year it was, thought 2019 was last year. I blame the lockdown.

edit 2 - quick web search brought me to the game that uses this system Once Upon A Lan by Jarmo

It went well enough!

Once Upon A LAN was really my “prove to yourself you can release something” game and I play it with friends and family occasionally. I never opened the source on that version of netcode as I’ve since written a third version which capitalized on everything previously learned and is generally more mature, maintainable and flexible.

I have a Stride demo about half complete for the new version which I intend to open source.

If you are going to use Stride, definitely drop in the Discord.

2 Likes

Looking forward to the netcode demo!