Skip to content

A WIP framework built on top of SDL3. More to come later.

License

Notifications You must be signed in to change notification settings

Chukobyte/seika

Repository files navigation

Seika

windows-msvc-build Actions Status windows-mingw-build Actions Status ubuntu-gcc-build Actions Status macosx-clang-build Actions Status

A framework for windows, macOS, and linux that can be used to make games.

Tech Stack

Current Features

  • 2D Sprite Renderer
  • Font Renderer
  • Customizable shaders (with custom langauge)
  • Audio
  • Networking (udp only for now)
  • pthread wrapper and thread pool
  • ECS
  • Multiple data structures such as hashmap and array list (vector)

How to include in a project

Seika uses cmake to build. To include in your project, add the following to your CMakeLists.txt:

# Include seika framework as a dependency
include(FetchContent)

FetchContent_Declare(
        seika
        GIT_REPOSITORY https://github.com/Chukobyte/seika.git
        GIT_TAG v0.1.0
)

FetchContent_MakeAvailable(seika)

Make sure to link seika to the target with target_link_libraries.

target_link_libraries(${PROJECT_NAME} seika)

Example

A simple example of creating a window and querying for inputs.

#include <stdio.h>

#include <seika/seika.h>
#include <seika/input/input.h>

int main(int argv, char** args) {
    ska_init_all("Simple Window", 800, 600, 800, 600);

    while (ska_is_running()) {
        ska_update();

        if (ska_input_is_key_just_pressed(SkaInputKey_KEYBOARD_ESCAPE, 0)) {
            break;
        }

        if (ska_input_is_key_just_pressed(SkaInputKey_KEYBOARD_SPACE, 0)) {
            printf("space just pressed\n");
        }
        if (ska_input_is_key_pressed(SkaInputKey_KEYBOARD_SPACE, 0)) {
            printf("space pressed\n");
        }
        if (ska_input_is_key_just_released(SkaInputKey_KEYBOARD_SPACE, 0)) {
            printf("space just released\n");
        }

        ska_window_render();
    }

    ska_shutdown_all();

    return 0;
}

Example projects found here.

About

A WIP framework built on top of SDL3. More to come later.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published