1 unstable release

Uses new Rust 2021

0.3.0 May 13, 2022

#933 in Game dev

25 downloads per month

MIT/Apache

130KB
763 lines

bevy-pigeon

crates.io docs.rs

The bevy plugin for carrier-pigeon.

Building on carrier-pigeon, this crate provides high level network abstractions to allow making a game a breeze. bevy-pigeon takes care of most of the networking for you, so you barely have to see it or think about it.

Add bevy-pigeon to your Cargo.toml:

bevy-pigeon = "0.3.0"

Compatibility

bevy bevy-pigeon carrier-pigeon
0.7 0.3 0.3

Is bevy-pigeon right for me?

Since carrier-pigeon uses TCP and UDP, it is usable and convenient for most all games. FPS games (and other games where precise position is of the upmost importance) would benefit from a backroll solution like bevy_backroll or bevy_ggrs. Though, it is certainly possible to make an FPS with bevy-pigeon

TCP is required for the connection cycle in carrier-pigeon, so if you want to target wasm, pigeon will not work for you.

Component Syncing

"The best networking solution is one you can't see"

You can use bevy-pigeon's component syncing by adding just 3 lines.

This component syncing allows you to simply say "sync these components" and bevy-pigeon will take care of it.

Do I have to use the Component Syncing feature?

No, but right now, it is really the only thing that bevy-pigeon offers. If you don't want to use the component syncing, you can just use carrier-pigeon directly. Keep in mind, if you use bevy-pigeon's component syncing you can still use carrier-pigeon's message system; the component syncing is purely an additive feature.

Documentation

The documentation can be found on Docs.rs

A quickstart guide that goes in more detail is found at /quickstart.md

An in depth guide to the more advanced features is found at /advanced.md

Examples

Features

  • Easy Component Syncing.

Planned Features

  • switching TCP to webrtc with a feature flag.

Contributing

To contribute, fork the repo and make a PR. If you find a bug, feel free to open an issue. If you have any questions, concerns or suggestions you can shoot me an email (found in Cargo.toml) or DM me on discord @TheHourGlass34#0459.

By contributing, you agree that your changes are subject to the license found in /LICENSE.

Dependencies

~12–19MB
~379K SLoC