4个版本
0.1.2 | 2022年10月24日 |
---|---|
0.1.1 | 2022年10月22日 |
0.1.0 | 2022年10月22日 |
0.0.1 | 2022年10月20日 |
#1257 在 游戏开发
340KB
7K SLoC
ZENgine
什么是ZENgine?
ZENgine是一个用于教学目的的非常简单的2D数据驱动游戏引擎,使用Rust语言和ECS架构编写。
灵感
ZENgine深受以下项目的启发
教学目的
我开始这个项目主要是为了提高我对Rust语言的认识,这是我非常喜欢的一种编程语言,以及游戏引擎架构,这是一个我一直很感兴趣的话题。
我创建了一系列小视频(只有意大利语 😏),涵盖了引擎的第一代迭代,在所有引擎的巨大重构之前。将来,我计划写一系列关于引擎及其工作原理的文章。
开始使用
示例文件夹中有一个非常粗糙的pong
实现,应该可以在Windows、Mac、Linux、Android和每个现代浏览器上运行。
桌面环境(Windows、Mac、Linux)
只需在pong
文件夹中运行cargo run
Android
要构建Android版本,必须正确设置环境。
您必须安装Android SDK和Android NDK,并正确设置环境变量。
然后使用以下命令安装cargo-apk
cargo install cargo-apk
并最后,安装所需的工具链
rustup target add \
aarch64-linux-android \
armv7-linux-androideabi \
x86_64-linux-android \
i686-linux-android
现在,在pong
文件夹中运行以下命令即可将应用程序安装到您的设备上
cargo apk run --lib
。
WASM环境
要启动Web版本,必须正确设置环境。使用以下命令安装wasm32-unknown-unknown目标
rustup target add wasm32-unknown-unknown
然后使用以下命令安装wasm-bindgen-cli
和Trunk
cargo install trunk wasm-bindgen-cli
现在,您可以使用trunk serve
提供应用程序服务
(可能需要点击浏览器页面才能使输入系统工作)。
依赖项
~21–55MB
~758K SLoC