Backdash 0.4.0-beta.1

This is a prerelease version of Backdash.
dotnet add package Backdash --version 0.4.0-beta.1                
NuGet\Install-Package Backdash -Version 0.4.0-beta.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Backdash" Version="0.4.0-beta.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Backdash --version 0.4.0-beta.1                
#r "nuget: Backdash, 0.4.0-beta.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Backdash as a Cake Addin
#addin nuget:?package=Backdash&version=0.4.0-beta.1&prerelease

// Install Backdash as a Cake Tool
#tool nuget:?package=Backdash&version=0.4.0-beta.1&prerelease                

CI Nuget

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image https://editorconfig.org/

Backdash 🕹ī¸

alternate text is missing from this package README image

Highly configurable and extensible implementation of Rollback Netcode with full asynchronous IO.

Heavily inspired by GGPO.

Overview

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.

Getting started

NuGet package available:

$ dotnet add package Backdash

[!TIP] 💡 Please check the DOCUMENTATION for usage details.

Demos:

Title Link
Terminal Terminal
Monogame Local Monogame Local
Monogame Lobby Monogame Online
Godot Lobby Godot Online
Save/Load Replay Save and load Replay

Samples

Check the samples on the /samples directory:

There are examples for up to 4 players:

[^1]: The sample needs a web server to exchange players addresses. check the sample README.md for more information.

[^2]: If you are using ARM MacOS you may need the x64 version of .NET SDK to build some samples.

Building from source

You need to have installed .NET 8 SDK alternate text is missing from this package README image

  1. Clone this repository.
  2. Restore tools
    • On root directory run: dotnet tool restore
  3. Building Library (root directory)
    • SDK only: dotnet nuke build --configuration Release
      • Alternatively open the solution file Backdash.sln on your IDE.
    • SDK and samples dotnet nuke build-samples --configuration Release.
      • Alternatively open the solution file Samples/Backdash.Samples.sln on your IDE.

Licensing

Backdash is available under The MIT License. This means Backdash is free for commercial and non-commercial use.

Attribution is not required, but appreciated.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.4.0-beta.1 29 11/22/2024
0.3.1-beta.5 34 11/21/2024
0.3.1-beta.4 33 11/18/2024
0.3.1-beta.3 79 6/1/2024
0.3.1-beta.2 62 5/28/2024
0.3.1-beta.1 55 5/27/2024
0.3.0-beta.2 69 5/24/2024
0.3.0-beta.1 64 5/23/2024
0.2.0-beta.291 62 5/22/2024
0.2.0-beta.186 61 5/21/2024
0.2.0-beta.84 64 5/8/2024
0.2.0-beta.57 80 3/25/2024
0.2.0-beta.44 58 3/19/2024
0.1.1-beta.36 69 3/15/2024
0.1.1-beta.27 62 3/12/2024
0.1.1-beta.23 54 3/7/2024
0.1.0-beta.40 60 3/7/2024
0.1.0-beta.19 64 3/7/2024