Esteem
Game Engine
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.
- Systems like physics, rendering, and alike store their own components in a way that’s performant to them.
- 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.