Skip to content

About

Cobalt Engine is a simple 2D game engine written in C++, using OpenGL as its graphics API.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Cobalt Engine

Screenshot of the Editor

License C++ Graphics

Cobalt Engine is a 2D game engine written in C++ using SDL3 and SDL3 GPU. It is a personal long-term hobby project for learning and experimentation rather than a commercial engine.

Note

The engine is currently in an early stage and not yet capable of making games.

Platform support

  • Windows
  • Linux

Note

Only tested on Fedora Workstation 44 and CachyOS

Roadmap

The primary goal for version 0.1 is to make the engine capable of creating a simple game through its editor.

  • Asset management
  • Input
  • Scripting
  • Audio
  • Physics
  • Runtime GUI
  • Building and Packaging
  • Project launcher

Building

Requirements

  • CMake ≥ 3.24
  • C++ Compiler supporting C++23
    • MSVC (Visual Studio 2022)
    • Gcc ≥ 11
    • Clang ≥ 18
  • Ninja (optional)

Clone the repository

git clone --recursive https://github.com/Resongeo/Cobalt-Engine

Change directory

cd Cobalt-Engine

If you’re building from an IDE, use its built-in CMake tools to configure and build the project. For manual builds, run the following commands:

Configure the project:

cmake --preset debug

Build the project:

cmake --build --preset engine-debug

For a minimum size release build:

cmake --preset min-size-release
cmake --build cmake-min-size-release

Dependencies

  • AngelScript - Extremely flexible cross-platform scripting library
  • Catch 2 - Unit testing framework
  • EASTL - Electronic Arts Standard Template Library
  • enkiTS - Task Scheduler for creating parallel programs
  • EnTT - Fast and reliable ECS
  • Glm - Mathematics library for graphics applications
  • Dear ImGui - Immediate-mode GUI library for the editor
  • ImGuizmo - A collection of Dear ImGui widgets for 3D manipulation and more
  • Magic Enum - Static reflection for enums
  • optick - C++ Profiler For Games
  • rpmalloc - Optimized cross-platform lock free memory allocator
  • SDL3 - Simple DirectMedia Layer for low level multi-media
  • SDL3 Image - Image decoding for many popular formats
  • SDL3 Shadercross - Shader translation library
  • simdjson - Fast JSON parser and serializer
  • spdlog - Fast C++ logging library
  • stb - Single-file public domain libraries
  • Toml++ - TOML config parser and serializer

AI Usage

AI tools are used as a support aid for research, build system setup, and library recommendation. They are not used for code generation, agentic development workflows, or code completion. All code in this project is written by hand.

About

Cobalt Engine is a simple 2D game engine written in C++, using OpenGL as its graphics API.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages