nimble-client

Crates.ionimble-client
lib.rsnimble-client
version0.0.17-dev
sourcesrc
created_at2024-02-07 19:58:01.048094
updated_at2024-10-24 10:28:29.341212
descriptionNimble Client
homepage
repositoryhttps://github.com/nimble-rust/nimble
max_upload_size
id1130922
size35,084
Peter Bjorklund (piot)

documentation

README

Nimble Client 🕹ī¸

Crates.io Documentation

Welcome to Nimble Client, a robust and efficient Rust crate designed to handle networking tasks for multiplayer games. 🎮✨

đŸ“Ļ Overview

Nimble Client is a lightweight library that manages:

  • Downloading the Complete Game State from a host
  • Adding and Removing Participants in a game session by sending request messages to the host
  • Sending Predicted Inputs (Steps) to the host for smoother gameplay
  • Receiving Authoritative Steps from the host to ensure game state consistency

Note: Nimble Client does not handle game logic directly. Instead, it interfaces with your game logic through callbacks, ensuring a clean separation of concerns.

✨ Features

  • Efficient Network Communication: Handles sending and receiving data with optimized performance.
  • Participant Management: Easily add or remove players from your game sessions.
  • Prediction and Reconciliation: Sends predicted inputs and processes authoritative steps to maintain game state integrity.
  • Metrics and Logging: Built-in network metrics and logging for monitoring and debugging.
  • Extensible Callbacks: Integrate seamlessly with your game logic through customizable callbacks.

🚀 Getting Started

📋 Prerequisites

  • đŸĻ€ Rust: Ensure you have Rust installed. If not, download it from rustup.rs.

đŸ“Ļ Installation

Add nimble-client to your Cargo.toml:

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

License

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

Commit count: 151

cargo fmt