# Myou Engine Myou Engine is a 3D game engine designed to (eventually) be very efficient, very portable, small, and the most compatible with Blender. The main goal is to be used for the Myou project, with the highest performance possible in standalone VR headsets as lowest common denominator. # Features * It runs on Windows, Linux, MacOS, iOS, Android, and web. * It can load many file formats, but it's particularly well suited to load `.blend` files from Blender 3.x and 4.x. * It supports Blender material nodes as-is. The vast majority of nodes are supported with the exception of procedural textures at the moment. Shader nodes are implemented with replaceable sets of GLSL libraries. * Rendering of cubemap probes with parallax correction. * Shadows updated in real time or at fixed points for performance. * We will expand this list while we finish the port. # Development So far, most of this engine is a port of the engine of the same name for JavaScript, but written in a very fast statically typed language. Some parts of it have been completely rewritten. # Programming language Myou Engine is written in [Nimskull](https://github.com/nim-works/nimskull) (temporary name), a fork of Nim that aims to be a programming language that is safe, easy to learn (for a systems language), very expressive and fast to develop for. Memory management is automatic but it doesn't use garbage collection, which makes it very well suited for videogame development. This Myou Engine port was started in Nim but we switched mid way to Nimskull because we feel it has a more solid foundation with a much smaller surface for unexpected behaviour. We also feel that the values of the Nimskull developers align much better with ours than those of the original developers. # Getting started * Install [Nimskull](https://github.com/nim-works/nimskull) * Clone this repository with all submodules `git clone --recursive https://git.myou.dev/MyouProject/myou-engine` * Add this to your `nim.cfg` file in your project: `path:"../myou-engine/libs/packages"` * Change `..` by the actual location of `myou-engine` if necessary. * Read the [documentation](https://myou.dev/engine/documentation/) to see examples of how to start using the engine. # Contributing TODO # License © 2024 [The Myou Engine developers](AUTHORS.md). This project is licensed under either of - [Common Public Attribution License, Version 1.0](https://opensource.org/license/cpal_1-0) ([`LICENSE-CPAL`](LICENSE-CPAL)) - [GNU Affero General Public License, Version 3](https://www.gnu.org/licenses/agpl-3.0.html) ([`LICENSE-AGPL`](LICENSE-AGPL)) at your option. If you choose the CPAL license you are not required to publish your source code, but you're required to show attribution to the user, e.g. by preserving the splash screen of the engine.