# Dotrix
3D Game Engine written in Rust (development stage)
[](LICENSE-MIT)
[](LICENSE-APACHE)
[](https://github.com/lowenware/dotrix)
[](https://discord.gg/DrzwBysNRd)
[](https://www.youtube.com/channel/UCdriNXRizbBFQhqZefaw44A)
[](http://www.twitter.com/lowenware)
## Overview
Dotrix has a flat linear ECS (Entity Component System) in its core, designed for fast querying of
entities and their components.
1. **Entities** in Dotrix are virtual abstractions, identified by `EntityId` component containing
numerical ID. Each entitiy agregates constant number of components.
2. **Components** are regular Rust structures.
3. **Systems** are Rust functions, implementing the core logic of a game.
4. **Services** are Rust objects available through systems, providing some key
features or access to global resources, like Assets, Input or Render management.
## Editor
Editor application is under development in the separate [branch](https://github.com/lowenware/dotrix/tree/feat/editor)
## Getting started
The best place to start is to review examples distributed with the engine. All examples are grouped
under [examples/](examples/) folder. Later when API becomes more or less stable we will prepare a
Book for a quick start.
## Examples
[](https://www.youtube.com/watch?v=KXOr_KxMNWM)
**Features:** input, skeletal animation, light, terrain, player control
```
cargo run --release --example demo
```
**Features:** Light, UI, camera control
```
cargo run --release --example light
```
**Features:** skeletal animation, light, camera control
```
cargo run --release --example animation
```
**Features:** skybox, camera control
```
cargo run --release --example skybox
```
**Features:** window management
```
cargo run --release --example window
```
### 3rd Party Assets
Following 3rd party assets are being used in examples
* [Night SkyBox](https://www.vippng.com/preview/wmRTT_city-skyline-silhouette/)
* [Car Model](https://free3d.com/3d-model/cartoon-vehicles-low-poly-cars-free-874937.html)
* [Fox Model](https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Fox)
* [Day Skybox](https://opengameart.org/content/elyvisions-skyboxes)