Maksasj / bebone

☠️ game development framework/engine aimed for flexible and highly customizable game development
MIT License
7 stars 0 forks source link
bebone game-development game-engine gamedev opengl rendering-engine vulkan

Bebone

Bebone - Is a framework/engine aimed for flexible and comfortable game development, written in C++. In other words Bebone is a set of useful game development libraries, written and integrated in Bebone framework ecosystem.

Bebone is not a new javascript framework btw. It is a game development one!

Cool looking widgets

stars build build

Features

  1. Using docker
    Currently the docker image is not available, but we are planning to release it towards bebone 0.2v.

Note that bebone is only a set of useful libraries/modules, some modules can be used separately.

Testing

The testing process is similar to the Building. After a successful build, all you have to do is run CTest from build\tests\unit directory.

Dependencies

For convenience, we try to reduce the use of third-party libraries, as it complicates code management and readability. At the moment, bebone is only dependent on these libraries:

Examples

Bebone hello world example:

#include "bebone/bebone.h"

using namespace bebone::gfx;
using namespace bebone::gfx::opengl;

int main() {
    GLFWContext::init();

    auto window = WindowFactory::create_window("Example", 800, 600, GfxAPI::OPENGL);

    GLContext::load_opengl();
    GLContext::set_viewport(0, 0, SCR_WIDTH, SCR_HEIGHT);

    while (!window->closing()) {
        GLContext::clear_color(0.2f, 0.2f, 0.2f, 1.0f);
        GLContext::clear(GL_COLOR_BUFFER_BIT);

        // Your game code

        GLFWContext::swap_buffers(*window);
        GLFWContext::poll_events();
        window->execute_input_actions();
    }

    GLFWContext::terminate();
    return 0;
}

You can find other examples in examples directory.

Documentation

License

Bebone is free, open source game development framework. All code in this repository FOR NOW is licensed under