Delta Rollback VS. Netfox + Other Beginner Networking Questions

I’m making a 10~ player game, and i’m looking into a few networking solutions and I’ve found Delta Rollback and Netfox.

My goal is to have client prediction, server reconciliation, and lag compensation which afaik these solutions provide.

However, i’m not sure what everyone else thinks about them, and if I should use them.

When it comes to using Delta Rollback, I believe I can use any network adapter I want, so either Enet or WebRTC. But I looked around the internet, and haven’t found any comparisons for them, so I would appreciate an explanation if possible.

Since I’m making a p2p game, I also have to decide If I want to use a mesh network, which I also didn’t find any information on in comparison to “regular” p2p. I’m assuming my choice here also affects whether I use Enet or WebRTC, but I’m not very versed so idk.

Any help is appreciated
-Thank you!

Sorry if any of these questions have already been answered, I just couldn’t find any.

I am pretty confident rollback netcode solutions do not scale well as you increase the player count; simple traditional solutions work better where you do not require low input lag.

WebRTC does support mesh networks, but again they do not scale well with more connections; I see less than five recommended often, but I’m sure for low-throughput use cases like games (opposed to video calls) can go higher in user count.

I have used ENet more and it has been around for games longer, so I trust it blindly. I would guess if you intend on exporting for HTML5/web then supporting WebRTC would be beneficial over ENet, but I believe both work. WebRTC seems to have many of the same networking limitations as ENet, I wouldn’t be surprised if ENet was transpiled to WebRTC on export but I only have sources of ENet’s UDP-only structure not working at all.

2 Likes

Don’t use webrtc unless you need to release your game as a browser game. WebRTC is replacement for UDP (what ENET is built on) that works in web browsers. Browsers don’t allow developers to use UDP so there is little benefit to webrtc unless you need UDP-style networking in a web browser.

I’m also going to second the suggestion that rollback might not be appropriate for your game. 10 players using rollback in a mesh network means that it only takes one player with a bad connection to significantly impact the bandwidth usage and performance of every other player.

Godot also doesn’t have cross-platform deterministic physics which means that rollback solutions like Netfox don’t provide the benefits of traditional rollback systems. I recommend reading through
Introduction to Networked Physics | Gaffer On Games to get some background and consider whether you could do non-deterministic client-side prediction.

3 Likes