Coelum

The most righteous game engine

About

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.

Linux

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(
        init_actor(),
        (640 / 2) - 32,
        (480 / 2) - 32,
        0.0f,
        (void*) 0, // tick method
        (void*) 0, // draw method
        "cherry"
    );
    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[])
{
    coelum_init();

    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 github.com/sebbekarlsson/coelum

2D & 3D

Supports 2 dimensions, as well as 3 dimensions

Story

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: https://youtu.be/eHQkqB5hvdk

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