oxygengine 0.6.0

Oxygen Engine
docs.rs failed to build oxygengine-0.6.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: oxygengine-0.46.1

logo

Oxygengine

The hottest HTML5 + WASM game engine for games written in Rust with web-sys.

Table of contents

  1. Installation
  2. Project Setup
  3. Building for development and production
  4. Roadmap

Installation

  1. Make sure that you have latest node.js with npm tools installed (https://nodejs.org/)
  2. Make sure that you have latest wasm-pack toolset installed (https://rustwasm.github.io/wasm-pack/installer/)
  3. Make sure that you have latest oxygengine-ignite application installed (from project repository releases)

Project Setup

Create Oxygen Engine project with oxygengine-ignite:

cd /path/to/parent/
oxygengine-ignite new <project-name>

Which will create default web game project using web-composite-game preset. Then you have to go to your project directory and run npm install to install all nodejs dependencies. You can create projects with different presets:

  • desktop-headless-game - typical server-like project without graphics.
  • hybrid-script-game - it's a web-composite-game with JavaScript scripting module to make prototyping with Oxygengine faster and easier. Please note that JS scripting compared to pure Rust version is slower so it's not a great idea to use it in a production-ready game with lots of entities and logic, it should only help to prototype a game systems that will be later rewritten in Rust for best optimization.

using:

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/

Building for development and production

  • Launch live development with hot reloading (app will be automatically recompiled in background):
npm start
  • Build production distribution (will be available in /dist folder): with debug symbols:
    npm run build
    
    optimized release mode:
    OXY_RELEASE=1 npm run build
    
  • Build crate without of running dev env:
cargo build

TODO / Roadmap

  • UI widgets
  • Visual Scripting (Blueprints-like logic flow designer)
  • Engine editor (standalone Electron application?)
  • Hardware renderer (WebGPU hardware renderer backend)