/EraEngine

Open source C++ 3D game engine

Primary LanguageC++Apache License 2.0Apache-2.0

EraEngine Logo

EraEngine Logo

EraEngine Logo

Era Game Engine

C++ x64

platforms

Build workflow

About

Era Engine is a modern ECS-based game engine that provides developers with powerful tools for creating 2D/3D games. It includes the following features and functionality:

Entity Component System:

Era Engine uses ECS to manage game objects and their behavior. This allows developers to easily create and modify complex systems in the game.

Rendering:

The engine uses DirectX 12 to provide high-quality and efficient rendering, allowing you to create visually appealing games with advanced graphical effects. DLSS 3.5 and FSR 2.0 supported.

Physics:

Integration with PhysX 5.3.1 and CUDA provides realistic simulation of game physics, including collisions, GJK (overlapping, raycasting etc), gravity, aggregates, articulations, soft bodies, GPU particles, GPU clothes, joints, Blast Physics Destructions, Mesh destructions, ragdolls, vehicles, CPU-based tasks, physics event system etc.

User Interface:

ImGui is integrated into the engine to create intuitive and customizable user interfaces in games.

Audio:

Engine provides API and tools to work with 3D Audio. You can customize all audio settings and preferences to create realistic high quality sounds.

Scripting:

Era Engine uses .NET 8.0 Native AOT and Runtime. This allows developers to write scripts in C# with all the benefits of .NET, including high performance and a rich class library.

Dependencies

-PhysX 5.3.1

-DirectX 12

-EnTT

-ImGUI

-CUDA

-Blast

-.NET 8.0 (Native AOT and Runtime)

Features

-Real-time raytracing (DXR)

-DLSS 3.5

-FSR 2.0

-Rigidbodies and colliders

-Fluid Physics

-Blast Physics Destructions

-PBR Rendering

-GPU PBD Particle Systems

-GPU PBD Clothing Systems

-Physics Joints

-Physics Aggregates

-CPU Tasks

-GPU Physics

-Forward rendering

-Decals

-Material editing

-ECS

-Horizon-based ambient occlusion

-Screen space shadows

-CCD

-Skeletal animation

-Editor

-MSAA

-Building

-Spot lights

-Resource system

-Temporal anti-aliasing

-Mesh shaders

-Mesh and Audio Editors

-Scene management

-Saving system

-Undoable components

-Custom physics engine

-.NET 8 scripting

-Job system

-Screen space reflections

-Path tracing

-Cascaded shadow maps

-GI

-Point lights

-Audio system

-Child-parent system

-Post processing

EraEngine Logo

TODO:

-Console support

-Networking components

Some other researches and repositories were used while developing game engine. Thanks P. Kurth, O. Ocornut, M. Caini, NVIDIA, Ubisoft and Microsoft.