/ezEngine

An open source C++ game engine.

Primary LanguageC++MIT LicenseMIT

ezEngine

ezEngine is an open source C++ game engine.

Visit http://ezEngine.net for documentation, samples and detailed build instructions.

ezEngine Screenshot

Supported Platforms

The full engine functionality is currently only available on Windows, because the renderer uses Direct3D 11. Work on porting the renderer to Vulkan is ongoing. There is an experimental Linux port of the editor, but it is not yet functional enough for productive use.

All non-rendering related functionality compiles on Windows, Android, Linux and MacOS. See this page for details.

Prebuilt Binaries

See the releases for recent changes and prebuilt binaries. Note, however, that releases are infrequent and you are generally expected to build the engine yourself.

Building the Engine

These are the instructions for Windows. For other platforms see this page.

Open a Windows Terminal to clone and build the engine:

  1. git clone https://github.com/ezEngine/ezEngine.git
  2. cd ezEngine
  3. .\GenerateWin64vs2022.bat
  4. Open the Visual Studio solution Workspace\vs2022x64\ezEngine_vs2022x64.sln and build everything.
  5. Launch the Editor project from Visual Studio and open one of the sample projects.

Design Philosophy

EZ is built in a modular way, enabling users to either use all available functionality, or to pick and choose individual features and build the rest themselves. Larger features are implemented through engine and editor plugins and can therefore easily be removed or replaced. For instance sound (Fmod), physics (Jolt) and particle effects are all provided through plugins.

EZ puts a strong emphasis on a solid foundation that is both easy and efficient to use. Even if you do not use the rendering functionality, EZ has a lot to offer to build your own engine on top of.

Finally, EZ comes with a feature rich editor that makes it possible to quickly prototype your game using visual scripting and custom C++ code.

Screenshots, Videos, Samples

Documentation and FAQ

Contributing

Contributions are always welcome. Please see this page for details on how you can contribute.

Contact

If you have a question, contact us.