ECHO ENGINE

        Echo Engine is an open-source 3D component-based game engine I took on as a passion project. It is available here.

        Below are some of the engine's features:

  • Core Engine
    • Component-based architecture
    • Reflection/serialization of reflected members of any type
    • Messaging/delegate system
    • Action timeline system
    • Archetype/Prefab system
    • Modifiable in-game developer console
    • Logging system with message priority
    • Live reloading of assets when a file is changed, added, or removed
    • Component dependency
  • Graphics Engine
    • OpenGL integration
    • Mesh, sprite, and text rendering
    • Deferred rendering
    • Light volumes
    • Normal mapping
    • BRDF light model (Bidirectional Reflectance Distribution Function)
    • PBR (Physically-Based Rendering)
    • Diffuse/Specular IBL (Image Based Lighting)
    • Pre-baked environment reflection probes
    • Instanced rendering
  • Physics Engine
    • Bullet integration
    • Box, sphere, and plane collision
    • Ray casting and mouse picking
    • Collision detection and resolution
    • Rigid body physics with static, kinematic, and dynamic modes
  • Audio Engine
    • Wwise integration
    • Audio events driven by Wwise's authoring tool
    • RTPC integration (Real-Time Parameter Control)
    • Audio spatialization
  • Editor
    • Add/remove game objects and components on objects
    • Editing of all component members registered in reflection system
    • Translation of 3D objects with mouse, optional grid snapping
    • First-person editor camera controls
    • PBR material editor/model viewer