Game-Networking-Resources VS Backroll

Compare Game-Networking-Resources vs Backroll and see what are their differences.

Game-Networking-Resources

A Curated List of Game Network Programming Resources [Moved to: https://github.com/ThusWroteNomad/GameNetworkingResources] (by ThusWroteNomad)

Backroll

Unity C# Port of GGPO built atop Hourai Networking (by HouraiTeahouse)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Game-Networking-Resources Backroll
10 2
4,566 120
- -
5.1 0.0
almost 2 years ago over 2 years ago
C C#
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Game-Networking-Resources

Posts with mentions or reviews of Game-Networking-Resources. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-22.

Backroll

Posts with mentions or reviews of Backroll. We have used some of these posts to build our list of alternatives and similar projects.
  • Stuff to learn for game development?
    1 project | /r/learnprogramming | 27 May 2023
  • Making a Fighting Game
    1 project | /r/gamedev | 16 Mar 2021
    What most state of the art fighting games nowadays implement is rollback netcode (an implementation on top of lockstep based p2p netcode). This works when the amount of concurrent players in a game is low (2-4). Although I don't see a reason why there couldn't be an authoritative server solution like many other games have it, but then you also had to simulate the authoritative logic on the server instance. The upside is that you can realistically support more concurrent players. Comig back to rollback netcode, for this to work you need a determinisitc simulation. Each simulation on any hardware you support has to play out the same if the same input is provided over the duration of the simulation. Depending on which set of hardware you want to support, this can mean to completely throw out all relevant game systems that use floating point math and replace them with fixed point number types, since different processors might yield different float calculation results, or there are some differences in how compilers choose to optimize calculations. One additional problem for p2p networking is actually to connect with the other player. I recommend having a matchmaking server for this, that just pairs up players. More often than not, every player is in their own internal network and it's hard to connect to the PC over the network then. It would be possible to open map a port from your public IP of your router and re-route incoming messages to your PC in the internal network using port forwarding. This however requires manual setup and can leave you open to some attacks from outside. Having a public external server for matchmaking/pairing up can try to bypass those issues with punch-through). GGPO is popular transport library for rollback based netcode, It has gone open source a while ago too. If you look for an implementation for Unity/C#, I recommend checking out Backroll. Even if you use it, there will be a lot of things you still have to implmenet yourself to actually support rollback. Like making sure that input data representation is the same for every client, having a deterministic simulation, being able to serialize or temporary store a whole copy of your dynamic game state, applying such a stored game state back to the game simulation, and fully running several logical game frames with the call of a method, where input might be provided from historical records of real or predicted inputs of the players. For this reason, a lot of fighting games run the actual logical simulation completely outside of the rendering step. This all sounds pretty complex, but there are also benefits that naturally emerge from a rollback netcode or lockstep implementation: Network bandwidth requirements are very low since the most data you will need to send are inputs, and state hashes to make sure that the game simulations stayed in sync. When you store the history of inputs for a game in a file, and various other inputs you might have (seed for deterministic random generators etc.), you basically have all you need for a replay file, and just can run the simulation on those inputs (a problem is that this will break if you make changes to the simulation though).

What are some alternatives?

When comparing Game-Networking-Resources and Backroll you can also consider the following projects:

colyseus - ⚔ Multiplayer Framework for Node.js

UnityGGPO - A DLL that lets you access the ggpo library easily from Unity, and an example project using it.

com.unity.netcode.gameobjects - Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.

ggrs - GGRS is a reimagination of GGPO, enabling P2P rollback networking in Rust. Rollback to the future!

sora-unity-sdk - WebRTC SFU Sora Unity SDK

rpfload - PF firewall config loader for OpenBSD and FreeBSD with automatic backup rollback and logging

NoahGameFrame - A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.

2DFPhysics - 2D fixed-point physics for Unity (WIP).

GameNetworkingSockets - Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.

com.fightcade.Fightcade-ARCHIVE - ARCHIVED - go to flathub/com.fightcade.Fightcade

wine

GameNetworkingResources - A Curated List of Multiplayer Game Network Programming Resources