It has been quite long since I have made a post about my small game engine project. Well also world kinda went a bit of crazy in the mean time considering we have survived the COVID-19 pandemic and I have moved to Germany . Fortunately, I was able to get back to my engine and made some progress.

  • Properly integrated a folder structure and CMake based build system to the engine. Now I have two projects, one that includes the core engine systems and a second sandbox project that runs the editor.

  • A basic event system and layer system where events gets propagated through layer of stacks.
  • Implemented an abstract graphics layer so that I can support more graphics APIs in the future. I only support OpenGL for now.
  • Implemented a basic ECS system using Entt library

  • Experimented with shadow mapping algorithms
    • Percentage Close Filtering
    • Exponential Shadow Mapping
    • Variance Shadow Mapping
    • Exponential Variance Shadow Mapping
    • Percentage Close Soft Shadows
  • Basic model loader implemented using Assimp
  • Implemented a basic scene serializaion/deserialization using YAML so that I can save and load scenes
  • ImGUI based editor GUI layer

As future work I want to integrate a basic scripting system in native C++ so that I can run small scripts to animate the objects/ In addition I want to implement a PBR renderer and upgrade the graphics API to Vulkan.