1 个不稳定版本
0.3.0 | 2022年5月13日 |
---|
#2025 在 游戏开发 中
215KB
763 行
bevy-pigeon
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_backroll 或 bevy_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