Skip to main content

Introduction

This is a work in progress, both documentation and engine are in active development

This is the official documentation of the Kogayonon Game Engine.

Written using C++ 20, OpenGL, libraries found below and izecheru`s fingers :)

Purpose and scope

This started as a dream project and in the past months I've been able to implement a lot of cool stuff so the goal and scope of project is surely shifting.

I intend to, given freedom that all the library licenses give me, publish a game on steam this year.

Structure

I chose to structure the project in modules, each having many classes that serve a specific purpose in the bigger picture.

This was a decision I took when taking inspiration from how others strucutred their engines, particularly how Scion2D is written.

This also helps compilation time, if you built the entire engine and then made a slight chage in gui module, only the gui module would get recompiled saving a lot of time.

note

Precompiled headers are not yet used but would prove to be a good addition to compilation speed up changes

Contributing

Right now I intend to work on this project alone but for sure I'll update this as soon as that changes.

Libraries used

A sincere thank you to all the developers of those wonderful libraries.

  • EnTT- entity component system
  • SDL2- cross-platform abstraction layer for computer multimedia layers
  • Dear ImGui - immediate mode gui for C++
  • GLM- math lib
  • RapidJson - json parser and generator
  • sol2- C++ lua binding library
  • Lua- scripting language
  • Nvidia PhysX - physics library
  • Yaml-cpp - yaml parser and generator
  • Soil2 - image loading
    note

    If I did not mention your library I'm sorry, this gets updated often so a thing or two might be missed so don't worry