Skip to content

aaronpo97/YerbEngine

Repository files navigation

YerbEngine

YerbEngine is a work-in-progress game engine featuring an Entity-Component-System (ECS) architecture, built with SDL2 and C++.

Features

  • Cross-platform – Supports builds on MacOS, Linux (tested on Fedora), and the Web via Emscripten/WebAssembly.
  • Modular ECS design – Independent systems for input, rendering, and more, enabling scalability.
  • JSON configuration – Loads game settings using nlohmann/json.
  • Modern C++ – Written in C++23, with code quality enforced by clang-tidy.

Building from Source

Emscripten (Recommended)

To build for the web, run:

mkdir dist-web
cd dist-web
emcmake cmake ..
cmake --build .

A web template is provided at /template and serves as the shell for the project.

Local Web Server

After building, serve the app locally with Emscripten’s HTTP server:

cd dist-web/build
emrun --no_browser --port 3333 .

macOS/Linux

mkdir dist
cd dist
cmake ..
make 2>&1 | tee build.log
Running the Application
cd build
./SDL_GAME

Usage

On launch, the menu scene appears. Follow on-screen instructions at the bottom of the window.

Contributions

Contributions are welcome! Submit issues or pull requests to help improve the engine.

License

Licensed under GNU GPL v3.0. See LICENSE.md for details.

About

A game engine made with SDL2.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published