31 releases (12 breaking)
|0.19.2||Jun 5, 2021|
|0.19.0||Apr 26, 2021|
|0.14.2||Sep 24, 2020|
|0.12.2||Jul 23, 2020|
|0.7.1||Mar 5, 2020|
#165 in #game-engine
66 downloads per month
The hottest HTML5 + WASM game engine for games written in Rust with
Table of contents
Oxygengine is highly based on
specs crate used for its ECS framework.
You can get understanding of it by reading
specs book and tutorials here: https://specs.amethyst.rs/docs/tutorials/
Make sure that you have latest
oxygengine-ignite binary installed (
cargo install oxygengine-ignite) - this binary is a set of vital tools that will govern managing most of your project.
Create Oxygen Engine project with
cd /path/to/parent/ oxygengine-ignite new <project-name>
Which will create default web game project using
You can create projects with different presets:
- desktop-headless-game - typical server-like project without graphics.
cd /path/to/parent/ oxygengine-ignite new <project-name> -p desktop-headless-game
You can also tell it where to create project:
oxygengine-ignite new <project-name> -d /path/to/parent/
Updating to new engine version:
cargo install oxygengine-ignite --forced OXY_UPDATE_PRESETS=1 oxygengine-ignite --help
oxygengineversion either in
Cargo.tomlor by calling:
- upgrading from versions before 0.12.0 requires to create new project with latest ignite tool, then copy by hand your source files to the new project sources, as well as put assets from old project
/static/assetsdirectory into new project
/assetsdirectory, preferably using new way of assets directory structure (so you won't have to modify pipeline.json file a lot).
Speeding up compilation for new projects (best use case for gamejams and quick feature prototypes):
- install SCCACHE, a tool for caching and sharing prebuilt dependencies between multiple game projects (https://github.com/mozilla/sccache):
cargo install sccache
- add these lines to the
[package.metadata] # path to the sccache binary sccache_bin = "sccache.exe" # path to the sccache cache directory sccache_dir = "D:\\sccache"
From now on you will have to wait for full long engine build only once, for any other new game project you create, it will perform first compilation in matter of minute, not 20.
Building for development and production
Launch live development with active code recompilation and assets baking in the background on change:
additionally to allow it to start http server to serve your build files in the browser, run:
oxygengine-ignite live -- -p 8080
files will be served from: http://localhost:8080.
Build binaries in debug or release mode (binaries will be put in
with debug symbols:
optimized release mode:
oxygengine-ignite build -p release
Build only the crate:
Package application build with assets ready for distribution (package files will be put in
this command will run release build, assets pipeline and bundle package.
To produce a debug mode package you have to run:
oxygengine-ignite package -d
Current milestone progress: https://github.com/PsichiX/Oxygengine/projects/1