Esteem
Game Engine

Features

  • Entity-Component system,
  • Culling ((Loose) Octrees)
  • Bullet Physics Engine,
  • Custom Rendering Engine,
  • Custom Animation System,
  • Custom Character Controller,
  • Extendable.
  • C++, OpenGL, GLSL,
  • Crossplatform (at least; Windows, Linux, Mac),

Entity-Component system

Esteem Engine is built with the Entity-Component (EC) pattern in mind, while still applying DOD practices, we consider 2 different types of components; system owned and non-system owned.

  1. Systems like physics, rendering, and alike store their own components in a way that’s performant to them.
  2. Game logic modules are executed in a hiararchal OOP manner.
* Moving over to full on Entity-Component-System (ECS) has been researched and is planned for a future update. A design that’s great in regards to DOD and performance.

Skeletal Animations

Support for skeletal animations, with the current features:

  • Blend/mix different animations,
  • Separate upper and lower body animations,
  • Read root motion,
  • IK feet.

A rework is currently being done, allowing:

  • N animations mixing,
  • Separate playback speeds per animation,
  • Bilinear mixing, like mixing character movements with 8, 16, or more animations.

Shadowing & Lighting

There are several shadowing techniques available:

  • Normal Shadow Mapping,
  • Cascaded Shadow Maps (CSM),
  • Cube Shadow Mapping (for spherical lights),
  • Shadow Atlasing to combine (all) shadow maps.

The lighting model is mostly user defined, the engine has a forward, light-indexed, and a deferred renderer set up.

  • Materials can help in this regard, allowing you to set variables per material.
  • The built-in preprocessor for GLSL shaders can be used to create shaders for any of the rendering techniques.