25个版本 (7个重大更改)
0.12.5 | 2020年9月13日 |
---|---|
0.12.2 | 2020年7月23日 |
0.7.1 | 2020年3月5日 |
在WebAssembly中排名第958
每月下载量72次
390KB
11K SLoC
Oxygengine
这是使用web-sys
在Rust中编写的游戏的热门HTML5 + WASM游戏引擎。
目录
理解ECS
Oxygengine高度基于用于其ECS框架的specs
包。您可以通过阅读此处的specs
书籍和教程来了解它:[链接](https://specs.amethyst.rs/docs/tutorials/)
安装
请确保您已安装最新的oxygengine-ignite
二进制文件(cargo install oxygengine-ignite
) - 此二进制文件是一组重要的工具,将管理您项目的大部分内容。
预告
项目设置
使用oxygengine-ignite
创建Oxygen Engine项目
cd /path/to/parent/
oxygengine-ignite new <project-name>
它将使用web-composite-game
预设创建默认的Web游戏项目。您可以创建具有不同预设的项目
- desktop-headless-game - 没有图形的典型服务器式项目。
- 混合脚本游戏 - 它是一种具有JavaScript脚本模块的
web-composite-game
,这使得使用Oxygengine进行原型设计更快、更简单。请注意,与纯Rust版本相比,JS脚本运行较慢,因此不建议将其用于具有大量实体和逻辑的生产级游戏,它只能帮助原型化以后将用Rust重写的游戏系统,以实现最佳优化。注意:由于自0.12.0版本以来引擎根本不使用NPM,因此此模板被迫使用引擎的0.11.2版本,直到开发出新的JavaScript脚本方法。
使用
cd /path/to/parent/
oxygengine-ignite new <project-name> -p desktop-headless-game
您还可以指定创建项目的位置
oxygengine-ignite new <project-name> -d /path/to/parent/
更新到新引擎版本
- 重新安装
oxygengine-ignite
cargo install oxygengine-ignite --forced OXY_UPDATE_PRESETS=1 oxygengine-ignite --help
- 在
Cargo.toml
或通过调用以下方式更新oxygengine
版本:cargo update
- 从0.12.0之前的版本升级需要使用最新的ignite工具创建新项目,然后将您的源文件手动复制到新项目的源中,以及将旧项目的资产从
/static/assets
目录放入新项目的/assets
目录,最好使用新的资产目录结构(这样您就不必大量修改pipeline.json文件)。
加快新项目的编译速度(适用于游戏竞技和快速功能原型)
- 安装SCCACHE,这是一个在多个游戏项目之间缓存和共享预构建依赖项的工具(https://github.com/mozilla/sccache)
cargo install sccache
- 将这些行添加到
Cargo.toml
[package.metadata] # path to the sccache binary sccache_bin = "sccache.exe" # path to the sccache cache directory sccache_dir = "D:\\sccache"
从现在开始,您只需等待完整的长引擎构建一次,对于您创建的任何其他新游戏项目,它将在一分钟内完成首次编译,而不是20分钟。
为开发和生产构建
-
启动具有活动代码重新编译和在后台进行资产烘焙的实时开发
oxygengine-ignite live
此外,允许它启动http服务器以在浏览器中提供构建文件,运行
oxygengine-ignite live -- -p 8080
文件将在:https://127.0.0.1:8080提供。
-
以调试或发布模式构建二进制文件(二进制文件将放入
/bin
文件夹)带有调试符号
oxygengine-ignite build
优化发布模式
oxygengine-ignite build -p release
-
仅构建crate
cargo build
-
将应用程序构建与资产打包,以便分发(包文件将放入
/dist
文件夹)oxygengine-ignite package
此命令将运行发布构建、资产管道和捆绑包。
路线图
依赖项
~8–11MB
~208K SLoC