◐ Shell
clean mode source ↗

GitHub - sefyan0hack/GameEngine: OpenGL Based Game Engine

CodeCov CI License: MIT lang std MSVC GCC Calng Camke

GameEngine — a modern, high-performance foundation for building games and interactive applications with C++23.


Screenshots

View

Platforms

  • Windows (MSVC/GCC/Clang)
  • Linux (GCC / Clang)
  • Web (Emscripten)
  • Android (NDK)

Prerequisites

  • C++ compiler with C++23 support (MSVC 19.44+, GCC 15+, Clang 20+)
  • CMake ≥ 3.28
  • Optional for targets:
    • Emscripten SDK (for web builds)
    • Android NDK (for Android)
    • OpenGL / Vulkan dev headers for native graphics
  • Ninja or Make (recommended: Ninja)

Getting started

  1. Clone the repository
git clone --recurse-submodules https://github.com/sefyan0hack/GameEngine.git
cd GameEngine
  1. Configure Project

2.1 Windows & Linux :

2.2 Android :

#Windows
set ANDROID_NDK_LATEST_HOME=C:/path/to/android_ndk_rXX
set ANDROID_SDK_ROOT=C:/path/to/android_sdk
cmake -S . -B build ^
  -DCMAKE_TOOLCHAIN_FILE=%ANDROID_NDK_LATEST_HOME%/build/cmake/android.toolchain.cmake ^
  -DANDROID_ABI="arm64-v8a"
#Linux
export ANDROID_NDK_LATEST_HOME=/path/to/android_ndk_rXX
export ANDROID_SDK_ROOT=/path/to/android_sdk
cmake -S . -B build \
  -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake \
  -DANDROID_ABI="arm64-v8a"

2.3 Web :

emcmake cmake -S . -B build
  1. Build Project
cmake --build build --config Release