Highly configurable and extensible implementation of Rollback Netcode with full asynchronous IO.
Heavily inspired by GGPO.
Traditional techniques account for network transmission time by adding delay to a players input, resulting in a sluggish, laggy game-feel. Rollback networking uses input prediction and speculative execution to send player inputs to the game immediately, providing the illusion of a zero-latency network. Using rollback, the same timings, reactions, visual and audio queues, and muscle memory your players build up playing offline will translate directly online. Backdash is designed to make incorporating rollback networking (aka. Rollback Netcode) into new and existing games as easy as possible.
NuGet package available:
$ dotnet add package Backdash
Tip
💡 Please check the DOCUMENTATION for usage details.
Title | Link |
---|---|
Console | |
Monogame Local | |
Monogame Online | |
Save / Replay |
Check the samples on the /samples directory:
There are examples for up to 4 players:
You need to have installed .NET 8 SDK
- Clone this repo.
- Building
- With samples run
dotnet build -c Release Backdash.sln
on the root directory. - SDK only run
dotnet build -c Release src/Backdash
on the root directory. - Alternatively open the solution file
Backdash.sln
on your IDE.
- With samples run
Backdash is available under The MIT License. This means Backdash is free for commercial and non-commercial use.
Attribution is not required, but appreciated.
Footnotes
-
If you are using ARM MacOS you may need the x64 version of .NET SDK to build some samples. ↩ ↩2
-
The sample needs a web server to exchange players addresses. check the sample
README.md
for more information. ↩