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.

Features

What do you get?

Sprite Editor

The user interface comes with a complete sprite editor, supporting animations along with onion skins.

Actor Editor

You also get an actor editor which is used to create game objects and define their appearance

Text Editor

I made my own programming language called Hermes which the game engine suppors, the user interface has a built-in text editor for you to write Hermes-script in, to define how actors or game objects interacts with each other.

Scene Designer

The user interface also comes with a scene designer / level editor for you to create and design levels.

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.

FAQ

Frequently asked questions

Donate and Support

Support the project

Feel free to support the project on Patreon

News

What's going on?

A more beautiful text editor

2019-08-30 15:08:48
I have been working a little bit on the colors inside the built-in text editor.
They are also inspired by the gruvbox color-scheme ofcourse.

Rewriting most of the GUI

2019-08-28 09:04:40
I am currently rewriting the graphical user interface to make it easier to work with.
I am creating a sort of table-layout system.

For more news, subscribe to my youtube channel for dev-vlogs.