oxygengine 0.3.16

Oxygen Engine
Documentation
![logo](https://raw.githubusercontent.com/PsichiX/Oxygengine/master/media/oxygengine-dark-logo.svg?sanitize=true)

# Oxygengine

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


## Table of contents

1. [Installation]#installation
1. [Project Setup]#project-setup
1. [Building for development and production]#building-for-development-and-production
1. [Roadmap]#roadmap

## Installation

1. Make sure that you have latest `node.js` with `npm` tools installed (https://nodejs.org/)
1. Make sure that you have latest `wasm-pack` toolset installed (https://rustwasm.github.io/wasm-pack/installer/)
1. Make sure that you have latest `oxygengine-ignite` cargo package installed (`cargo install --force oxygengine-ignite`)

## Project Setup

Create Oxygen Engine project with `oxygengine-ignite`:
```bash
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.

using:
```bash
cd /path/to/parent/
oxygengine-ignite new <project-name> -p desktop-headless-game
```
You can also tell it where to create project:
```bash
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):
```bash
npm start

```
- Build production distribution (will be available in `/dist` folder):
```bash
npm run build

```
- Build crate without of running dev env:
```bash
cargo build --all

```

## TODO / Roadmap

- UI widgets
- Prefabs (loading scenes from asset)
- Packed assets fetch engine
- Hardware renderer
- WebGL hardware renderer backend
- 2D physics