Skip to content

Latest commit

 

History

History
89 lines (62 loc) · 3.15 KB

File metadata and controls

89 lines (62 loc) · 3.15 KB

modor

Crates.io Docs.rs License CI Coverage with grcov Lines of code

Modor is a modular and object-oriented game engine.

It has been designed with the following principles in mind:

  • Modularity: the engine makes it easy to extend functionalities in an integrated way and to limit coupling between the different parts of an application.
  • Compile-time checking: the API is designed to avoid as many errors as possible during runtime.
  • Simplicity: the emphasis is on simplifying the API while guaranteeing good performance for real-life use cases.

⚠️ Warning ⚠️

Before considering to use this game engine, please keep in mind that:

  • It is developed by a single person in his spare time.
  • Although this engine can already be used to develop 2D games, some important features might still be missing.
  • This engine is code-oriented, so no editor is included.

Supported platforms

  • Windows
  • Linux
  • macOS (limited support because the maintainer doesn't have access to a physical device)
  • Android
  • Web

Modor may also work on some other platforms, but they have not been tested.

Usage

The minimum supported version of Rust is defined in this file.

You can include some or all engine features in your project by adding the following dependencies in your Cargo.toml file:

modor = "0.1"
modor_physics = "0.1"
modor_graphics = "0.1"
modor_text = "0.1"
modor_input = "0.1"

Examples

You can use one of the following commands to run an example:

  • Desktop: cargo run --example <name> --release
  • Android: cargo apk run --manifest-path=examples/Cargo.toml --example <name>_android --release (requires cargo-apk)
  • Web: cargo run-wasm --example <name> --release

For example: cargo run --example rendering_2d --release

Behind the scene

Here are the main libraries used to implement Modor:

  • Graphics crate is backed by winit and wgpu.
  • Physics crate is backed by rapier.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.