Yet Another Game Engine
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

YAGE (Yet Another Game Engine)

This is a C++ based 3D game engine targeted for Windows.


  • Microsoft Visual Studio 2015 (sorry, will port to gcc later)

Getting Started

  • Clone the repository
  • Open YAGE.sln file with visual studio
  • Install missing dependancies:
    • Tools > Nuget Package Manager > Package Manager Console
    • Type this into the the console: Update-Package -Reinstall
  • Edit main.cpp and play with the game code
  • Run the default startup project F10


If you are viewing this on Github, you can find our documentation here:


Shadows Diablo

Viewport Controls

Control Action
W Moves the camera forward.
S Moves the camera backward.
A Moves the camera left.
D Moves the camera right.
E Moves the camera up.
Q Moves the camera down.
Mouse Scroll DOWN Zooms the camera out (raises FOV).
Mouse Scroll UP Zooms the camera in (lowers FOV).
Mouse DRAG Rotates the camera around

3rd Party Libraries


  • Lighting system (Ambient, Point, Directional, Spotlight)
  • Physics system (using bullet physics)
  • Diffuse mapping
  • Normal mapping
  • Specular mapping
  • Import scenes via .fbx, .obj, and more
  • Game object builder
  • Dynamic shadows
  • Particle system


  • Significant frame drop after ~500k polygons
  • Shadows only supported w/ one directional light

Future Features

  • Animation
  • Text rendering

Helpful resources