Jump to content
  • Advertisement

Learning Netcode

Recommended Posts

Howdy folks,

My name is Jeremy, I was browsing around gamedev.net and saw this forum. I've been working on learning Netcode for a year now and am working on my second iteration of netcode (using Lidgren underneath). The first version worked well enough (you can see some of the videos on YouTube under Buckwild Games Colorado - Projekt Hunter). In the first version I implemented authoritative server functionality, client side prediction, client sync rewind & playback, remote player interpolation and a whole bunch of client side rendering tuning (graceful rotational sync, etc).

I'm currently building a demo game to test my second version of netcode which has updates over the first version. I think the biggest update is that it is portable and also that previously I was doing resync/interpolation only on buffered server updates, this new version will include resync/interpolation per game tick re-inflated from the bundled server update similar to valve/CS-Go). I've also added server controlled entities (AI streaming) and render spawning.

Once I get the second demo game up I'll publish a website and link it back here. I'd love for developers/people with industry netcode experience to help/review my code and make recommendations.

My goal is to develop libraries that can be used with various engines for specific game types. I have dreams of even supporting client side hit validation/trusting like Counter strike.

Please shoot me a message if you have netcode experience and would like to contribute to the learning process.


Share this post

Link to post
Share on other sites
On 12/17/2018 at 5:48 PM, hplus0603 said:

Sounds like fun 🙂 Feel free to keep us updated on your progress!

Thanks! Did I read on another post that you were working on an implementation too? Do you use Discord? I don't use it much for voice chat but for messaging and have been adding other developers I meet.

Share this post

Link to post
Share on other sites

I've built and worked on a number of gaming platforms over the years (hence why I take care of this sub-forum 🙂)

I prefer to discuss on the forum, though, because then the questions and answers are available to anyone with a simple Google search.

Share this post

Link to post
Share on other sites

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

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

This is an early version, there are still many thing to optimize.

PS. My website isn't live yet.



Share this post

Link to post
Share on other sites

Nice visualization!

I assume the double sound effects are because the client and server render on the same host, and thus measure the lag?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!