#bevy #networking #gamedev #game

bevy-pigeon

bevy 插件,用于 carrier-pigeon

1 个不稳定版本

0.3.0 2022年5月13日

#2025游戏开发

MIT/Apache

215KB
763

bevy-pigeon

crates.io docs.rs

bevy 插件,用于 carrier-pigeon

基于 carrier-pigeon 构建,这个包提供了高级网络抽象,让制作游戏变得轻松。 bevy-pigeon 会处理大多数网络操作,所以你几乎不需要看到它或思考它。

将 bevy-pigeon 添加到您的 Cargo.toml

bevy-pigeon= "0.3.0"

兼容性

bevy bevy-pigeon carrier-pigeon
0.7 0.3 0.3

bevy-pigeon 是否适合我?

由于 carrier-pigeon 使用 TCP 和 UDP,它适用于大多数游戏。对于需要精确位置的游戏(如 FPS 游戏),可以从 bevy_backrollbevy_ggrs 等回滚解决方案中受益。不过,当然也可以使用 bevy-pigeon 制作 FPS 游戏。

carrier-pigeon 的连接周期需要 TCP,所以如果您想针对 wasm,pigeon 就不可用了。

组件同步

"最佳的网络解决方案是您无法看到的那一个"

您可以通过添加 3 行代码来使用 bevy-pigeon 的组件同步功能。

这种组件同步功能允许您简单地声明“同步这些组件”,然后 bevy-pigeon 会为您处理。

我必须使用组件同步功能吗?

不一定,但截至目前,这确实是 bevy-pigeon 提供的唯一功能。如果您不想使用组件同步,可以直接使用 carrier-pigeon。请注意,如果您使用 bevy-pigeon 的组件同步,仍然可以使用 carrier-pigeon 的消息系统;组件同步是一个纯粹的可选功能。

文档

文档可以在 Docs.rs 上找到

更详细的快速入门指南可以在 /quickstart.md 上找到

更深入的功能指南可以在 /advanced.md 上找到

示例

  • 一个使用 bevy-pigeon 制作的完整的 2 人乒乓球/突破游戏可在 GitHub 上找到。
  • 查看 examples/ 目录

功能

  • 简单组件同步。

计划中的功能

  • 使用功能标志将TCP切换到webrtc。

贡献

要贡献,请Fork仓库并创建一个PR。如果您发现bug,请随意打开一个issue。如果您有任何问题、担忧或建议,可以通过电子邮件(在Cargo.toml中找到)或Discord私信(@TheHourGlass34#0459)联系我。

通过贡献,您同意您的更改受/LICENSE中找到的许可证的约束。

依赖项

~19–35MB
~562K SLoC