什么是Bevy?
直接使用官网的定义:一种令人耳目一新的简单、以数据为驱动的游戏引擎,用Rust编程语言构建且永远免费开源!
Bevy跟其他游戏引擎最大的区别是,像Unity、Unreal Engine等其他游戏引擎都有专门类似IDE的集成游戏制作环境,而Bevy是通过代码构建的。我们需要编写Rust代码来实现游戏的逻辑、UI创建、精灵的创建等,相较于其他游戏引擎,Bevy对于游戏的整个创作流程,有着更高的控制权,需要开发者有更高的能力去控制游戏,同样,也更耗时。
我们不建议在大型商业项目中使用Bevy,毕竟,Bevy还太年轻,如果碰见很棘手的问题,可能得到的帮助也不是很多。但如果你对游戏创作有着浓厚的兴趣,同时又不喜欢使用现有的游戏引擎创作游戏,那么,来看看Bevy吧,至少,试一下。
对了,Bevy到底是什么意思?
群鸟。
预备
因为Bevy是基于Rust构建的,所以,我们需要按照创建Rust工程的方式创建Bevy工程。在使用Bevy之前,请确保你正确地安装了Rust。
至于Rust开发工具的选择,目前推荐的是VSCode以及RustRover,当然你也可以使用其他任何你喜欢的文本编辑器。本系列,将会采用RustRover作为主要开发工具。
在正确地安装Rust之后,我们正式开启Bevy之旅。
开始
打开命令行
cargo new bevy_step_by_step
通过使用cargo命令,我们创建了一个bevy_step_by_step的工程,如果一切顺利的话,我们将得到这样一个目录结构:
打开Cargo.toml文件,你会看到如下内容:
[package]
name = "bevy_step_by_step"
version = "0.1.0"
edition = "2021"
我们添加上Bevy的依赖:
[dependencies]
bevy = "0.15"
同时,我们添加上一段编译优化的代码:
# 在开发配置文件中启用少量优化
[profile.dev]
opt-level = 1
# 在开发配置文件中对依赖项启用大量优化
[profile.dev.package."*"]
opt-level = 3
至此,我们已经完全的引入了Bevy,现在,我们开始编写第一段代码,先是一个游戏窗口。
第一个窗口
打开main.rs文件:
use bevy::prelude::App;
use bevy::DefaultPlugins;
fn main() {
App::new().add_plugins(DefaultPlugins).run();
}
好的,运行!!!
在经过一个漫长的等待之后1,我们将会看到我们游戏的第一个窗口:
很简单,不是吗?
Footnotes
-
Rust工程通常第一次构建的时候会非常慢,因为Rust工程是源码编译的,所以第一次构建的时候会加载源码并编译。同样Bevy有很多依赖 ↩