Skip to content
This repository was archived by the owner on Jul 19, 2026. It is now read-only.

Repository files navigation

Game Engine

A 2D game engine written in C++20. Built with CMake and common OpenGL libraries.

Lifecycle

Understand how the engine boots, processes updates, and shuts down.

See Lifecycle for the full execution order.

Core

Foundational utilities that sit outside the service system.

Services

CEngine organizes core functionality into modular services that cover rendering, input, and more.

Services are registered with the engine and can be accessed via facades. See Lifecycle for execution order and Services guide for extension guidance.

Render

Helpers for submitting primitive draw commands via the Render service.

Utilities

Standalone helpers for occasional tasks.

Sandbox

This ./sandbox is where we have our demo game to test the features of this engine and create example functionality.

Prerequisites

  • C++20 compiler and CMake 3.16+
  • GLFW 3
  • OpenGL development libraries
  • GLM
  • SDL2
  • ccache
  • GLAD, stb, Tweeny, nlohmann/json fetched automatically

Install for macOS

brew install cmake glfw glm sdl2 ccache

Install for Debian / Ubuntu

sudo apt update
sudo apt install -y build-essential cmake libglfw3-dev libglm-dev \
    libgl1-mesa-dev libsdl2-dev ccache

Build Project

cmake -S . -B build
cmake --build build --target MyGame --parallel

Pass -DCMAKE_BUILD_TYPE=Release for an optimized build. The executable lands in build/.

Run Tests

For macOS run ./sh/tests.sh

Contributing

See CONTRIBUTING.md for guidelines and AGENTS.md for repository-specific instructions.

Author

CEngine by Timothy Marois

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages