From 18718963862fa36239d9a2d084eb490bdf274ae8 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Sun, 14 Jan 2024 22:50:47 +0200 Subject: [PATCH 1/5] Make README.md more appealing --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b9a8dd3c..2611be78 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,26 @@ ECS-focused high-level networking crate for the [Bevy game engine](https://bevye The crate provides component-oriented world state replication and exposes an events-based messaging API. -Prediction and interpolation are not implemented in this crate, but the crate API is designed to be extensible so if your game needs something, you can implement it on top. Also check out [related crates](#Related-crates). - ## Getting Started Check out the [quick start guide](https://docs.rs/bevy_replicon/latest/bevy_replicon). See also [examples](https://github.com/lifescapegame/bevy_replicon/tree/master/examples). +## Features + +- Authentication and encryption, using [`renetcode`](https://github.com/lucaspoffo/renet/tree/master/renetcode). +- Packet fragmentation and reassembly. +- Support for client and server both in one `App` and in separate. +- Customizable transport layer. Right now only Netcode is supported, but Steam, WebTransport and memory channels are on the way (new Renet release is needed). +- Component-oriented world state replication. +- Events-based messaging API with different guarantees (reliable, reliable unordered and unreliable). +- Clients visibility control. +- Replication into scene to save server state. +- API focused on writing logic once that automatically works for singleplayer, client, server and listen server (when server is also a player). + +Prediction and interpolation are not implemented in this crate and considered out of scope. But the idea of the crate is to provide extensible core, so if your game needs something, you can implement it on top. Also check out [related crates](#Related-crates). + ## Related Crates - [bevy_timewarp](https://github.com/RJ/bevy_timewarp) - a rollback library that buffers component state. See [this](https://github.com/RJ/bevy_timewarp/blob/main/REPLICON_INTEGRATION.md) instruction about how to integrate. From 47d1d316f658441fec00607a0477d87a2aee1f98 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Mon, 15 Jan 2024 03:11:23 +0200 Subject: [PATCH 2/5] Apply suggestions from code review Co-authored-by: UkoeHB <37489173+UkoeHB@users.noreply.github.com> --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2611be78..38f8fc8f 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,12 @@ See also [examples](https://github.com/lifescapegame/bevy_replicon/tree/master/e - Support for client and server both in one `App` and in separate. - Customizable transport layer. Right now only Netcode is supported, but Steam, WebTransport and memory channels are on the way (new Renet release is needed). - Component-oriented world state replication. -- Events-based messaging API with different guarantees (reliable, reliable unordered and unreliable). -- Clients visibility control. +- Events-based messaging API with different guarantees (reliable, reliable unordered, and unreliable). +- Control over client visibility of entities and events. - Replication into scene to save server state. - API focused on writing logic once that automatically works for singleplayer, client, server and listen server (when server is also a player). -Prediction and interpolation are not implemented in this crate and considered out of scope. But the idea of the crate is to provide extensible core, so if your game needs something, you can implement it on top. Also check out [related crates](#Related-crates). +Prediction and interpolation are not implemented in this crate and are considered out of scope. But the idea of the crate is to provide an extensible core, so if your game needs something, you can implement it on top. Also check out [related crates](#Related-crates). ## Related Crates From 419528b0db82724315deb40615f1f38f0d7dcc65 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Mon, 15 Jan 2024 03:12:57 +0200 Subject: [PATCH 3/5] Update README.md Co-authored-by: UkoeHB <37489173+UkoeHB@users.noreply.github.com> --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 38f8fc8f..0a2dcc5f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ ECS-focused high-level networking crate for the [Bevy game engine](https://bevyengine.org) using the [Renet](https://github.com/lucaspoffo/renet) library. -The crate provides component-oriented world state replication and exposes an events-based messaging API. ## Getting Started From 88c0a5616302b41503a0597cf1e9c5693bf5dbc5 Mon Sep 17 00:00:00 2001 From: Hennadii Chernyshchyk Date: Mon, 15 Jan 2024 03:13:27 +0200 Subject: [PATCH 4/5] Move features above getting started --- README.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0a2dcc5f..3589b529 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,6 @@ ECS-focused high-level networking crate for the [Bevy game engine](https://bevyengine.org) using the [Renet](https://github.com/lucaspoffo/renet) library. - -## Getting Started - -Check out the [quick start guide](https://docs.rs/bevy_replicon/latest/bevy_replicon). - -See also [examples](https://github.com/lifescapegame/bevy_replicon/tree/master/examples). - ## Features - Authentication and encryption, using [`renetcode`](https://github.com/lucaspoffo/renet/tree/master/renetcode). @@ -27,6 +20,12 @@ See also [examples](https://github.com/lifescapegame/bevy_replicon/tree/master/e Prediction and interpolation are not implemented in this crate and are considered out of scope. But the idea of the crate is to provide an extensible core, so if your game needs something, you can implement it on top. Also check out [related crates](#Related-crates). +## Getting Started + +Check out the [quick start guide](https://docs.rs/bevy_replicon/latest/bevy_replicon). + +See also [examples](https://github.com/lifescapegame/bevy_replicon/tree/master/examples). + ## Related Crates - [bevy_timewarp](https://github.com/RJ/bevy_timewarp) - a rollback library that buffers component state. See [this](https://github.com/RJ/bevy_timewarp/blob/main/REPLICON_INTEGRATION.md) instruction about how to integrate. From 57e205895a843649f3fe28b4f4007855303b0ca0 Mon Sep 17 00:00:00 2001 From: UkoeHB <37489173+UkoeHB@users.noreply.github.com> Date: Sun, 14 Jan 2024 19:18:16 -0600 Subject: [PATCH 5/5] Apply suggestions from code review --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3589b529..a0494b2e 100644 --- a/README.md +++ b/README.md @@ -11,12 +11,12 @@ ECS-focused high-level networking crate for the [Bevy game engine](https://bevye - Authentication and encryption, using [`renetcode`](https://github.com/lucaspoffo/renet/tree/master/renetcode). - Packet fragmentation and reassembly. - Support for client and server both in one `App` and in separate. -- Customizable transport layer. Right now only Netcode is supported, but Steam, WebTransport and memory channels are on the way (new Renet release is needed). +- Customizable transport layer. Right now only Netcode is supported, but Steam, WebTransport, and memory channels are on the way (new Renet release is needed). - Component-oriented world state replication. - Events-based messaging API with different guarantees (reliable, reliable unordered, and unreliable). - Control over client visibility of entities and events. - Replication into scene to save server state. -- API focused on writing logic once that automatically works for singleplayer, client, server and listen server (when server is also a player). +- API focused on writing logic once that automatically works for singleplayer, client, server, and listen server (when server is also a player). Prediction and interpolation are not implemented in this crate and are considered out of scope. But the idea of the crate is to provide an extensible core, so if your game needs something, you can implement it on top. Also check out [related crates](#Related-crates).