Skip to content
Simple 2D/3D game engine written in the D programming language.
Branch: master
Clone or download
Latest commit 2223ecd Sep 10, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist Fixing x86 nuklear Jul 1, 2019
source/evael Delete Game.d Sep 10, 2019
.editorconfig .editorconfig Apr 17, 2019
.gitignore Removing bin Jul 1, 2019 README and CHANGELOG Sep 8, 2019 Updating README Sep 8, 2019
dscanner.ini Updating file naming convention Sep 8, 2019
dub.json Renaming gui2 to gui Sep 9, 2019
dub.selections.json Renaming gui2 to gui Sep 9, 2019

evael 0.0.2

Evael is a small 2D/3D game engine written in the D programming language. It is based on OpenGL 3.3.


  • Asset loader (texture, models, shaders)
  • Terrain rendering (blend map, normal map, height map)
  • Model rendering (IQM, OBJ)
  • Basic lighting support (directional light, point light)
  • Shadow support
  • Instancing (for OBJ models atm)
  • Integrated custom GUI based on NanoVG (support multiple basic controls, theming, fonts...)
  • GUI with Nuklear
  • Input handling as event mode or immediate mode (onMouseAction() or isMouseButtonClicked())
  • Entity Component System with decs

Planned features

  • Water rendering
  • Network support
  • Physics support
  • Navigation support (recast & detour)
  • Controller support
  • more!

Some part of the code are old. They need to be updated:

  • Shaders sources
  • Models (write better loader and clean the code)
  • probably other parts...

Supported platforms

  • Windows (tested)
  • Linux?
  • Android?


You have to use dub to build the project.

Add this project as a dependency to your dub.json:

"dependencies": {
    "evael": "~>0.0.1"


You can find tutorials on this repository.

A base game template is provided here.




Boost Software License - Version 1.0

You can’t perform that action at this time.