The most righteous game engine


What makes it so righteous?

C99 & Free From Bloat

Coelum is a game engine written in pure C99.
What makes Coelum so righteous is of course that it is written in C, but also because it is free from bloat.


Coelum mainly focuses on running on linux machines, this also, naturally makes it less prone for bloat.

Getting started

All you need to get started
scene_T* init_scene_main()
    // creating a scene
    scene_T* s = scene_constructor(init_scene(), (void*) 0, (void*) 0, 2);
    s->bg_r = 154;
    s->bg_g = 55;
    s->bg_g = 200;

    // creating an actor
    actor_T* a = actor_constructor(
        (640 / 2) - 32,
        (480 / 2) - 32,
        (void*) 0, // tick method
        (void*) 0, // draw method
    a->width = 64;
    a->height = 64;
    a->sprite = init_sprite_from_file("cherry.png", GL_RGBA, 1.0f, a->width, a->height); 

    // adding the actor to the scene 
    dynamic_list_append(((state_T*)s)->actors, a);

    return s;

int main(int argc, char* argv[])

    scene_manager_register_scene(THEATRE->scene_manager, (scene_T*) init_scene_main());

    return coelum_main(argc, argv);

For more information, please go to the repository

2D & 3D

Supports 2 dimensions, as well as 3 dimensions


Why was it ever created?

I wanted to challange my self, so I decided to write pong in pure C,
you can actually watch a timelapse here:

Later on, I decided to separate the engine from the game, and the game from the engine, and that is how Coelum was born.

Donate and Support

Feel free to support the project on Patreon