12 releases

new 0.0.17-dev Oct 24, 2024
0.0.16 Oct 22, 2024
0.0.12-dev Sep 23, 2024
0.0.3 Feb 6, 2024
0.0.1 Jan 30, 2024

#1851 in Game dev

Download history 11/week @ 2024-07-04 531/week @ 2024-09-19 111/week @ 2024-09-26 18/week @ 2024-10-03 103/week @ 2024-10-10 395/week @ 2024-10-17

675 downloads per month
Used in 4 crates (3 directly)

MIT license

10KB
97 lines

🎮 Nimble Assent

Crates.io Documentation

Nimble Assent is a Rust library for deterministic simulation of game logic based on player inputs (called steps). It ensures that all participants in a multiplayer game process the same input in the same order, leading to identical results.

🤔 What is "Assent"?

The name "Assent" was chosen because it means agreement, in this context that assent makes sure that the deterministic simulation is updated so all clients agree on the same deterministic simulation.

✨ Features

Nimble Assent's primary structure is the Assent struct, which manages the deterministic application of authoritative player steps over game ticks. It provides:

  • Step queueing based on tick IDs
  • Synchronized step processing to keep all participants on the same page
  • Limiting the number of ticks processed per update to prevent overloads

📦 Installation

Add this to your Cargo.toml:

[dependencies]
nimble-assent = "0.0.17-dev"

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~105KB