Recently, I started making my own game engine written in C++. As of writing this, it has the following features.
 
Graphics:
- Graphics integrated using OpenGL
- Primarily 2D rendering with sprites
- Capable of rendering over 50000 textured sprites at well over 60 fps
- Text / font rendering supported using FreeType and FreeType-GL
- Supports "Layers" whereby multiple sprites can be rendered using the same shader and projection matrix
- Supports "Groups" whereby multiple sprites can be rendered under the same transformation. These can also be nested so that sprites can be rendered relative to one another
 
Audio:
- Audio integrated using GorrilaAudio
- Supports .WAV and .OGG formats
- Files can be Played, Paused, Stopped and Looped
 
Physics:
- Basic physics engine that can handle gravity, forces and collisions
- Supports Circlular Colliders and Axis Aligned Bounding Boxes
 
Actors & Components:
- Contains an Actor-Component model similar to Unity3D and UnrealEngine
    - Components provide an interface into the engine's functionality like sprite rendering, audio & rigid body dynamics
    - Actors contain a collection of components based on the functionality they require
- Supports the creation of custom components by the user as required
 
Data-Driven Developement:
- Supports definitions of Actors and Components via XML files which are loaded at runtime
- Support for XML is provided using TinyXML2
 
Custom Game Engine
Published:

Custom Game Engine

A custom game engine made in C++

Published: