|
Golias Engine
A C++ 20 'game engine' built with SDL3 with wide platform support.
|
Golias Engine is a lightweight and modular 2D/3D game engine/framework written in C/C++, designed to be * *simple yet powerful**.
⚠️ Note: Currently there is no
Editorand one is unlikely to exist in the future.
Golias focuses on code-driven development, cross-platform compatibility, and learning.
SIMPLIFIED| Asset Type | Supported Formats |
|---|---|
| 3D Models | See https://www.assimp.org/ supported formats. |
| Images | PNG, JPEG, BMP, TGA, DDS, ETC. |
| Fonts | TTF & OTF. |
| Audio | OGG, WAV, FLAC, MP3, ETC. |
| Scenes | JSON |
⚠️ Note: Proprietary APIs for consoles are not publicly available and thus cannot be implemented or tested.
| Platform | Type | Backend | Status |
|---|---|---|---|
| Windows, Linux, macOS, Android, iOS, Web. | 2D/3D | OpenGL/ES Compatibility | ✅ Fully supported |
| Windows, Linux, macOS, Android, iOS, Web, Nintendo, Playstation, Xbox. | 2D | SDL_Renderer | ✅ Fully supported |
| macOS, iOS. | 3D | Metal | 🚧 Coming soon |
| Windows, Linux, macOS, Android. | 2D/3D | Vulkan | 🚫 No ETA |
| Windows, Xbox. | 2D/3D | DirectX 12 | 🚫 No ETA |
| Nintendo, Playstation, Xbox. | 2D/3D | Proprietary APIs | 🚫 No ETA |
⚠️ Note: This diagram is a work in progress and may not reflect the current state of the engine.

| Game | Screenshot | Description |
|---|---|---|
| Flappy Bird | | Simple Flappy Bird clone using Golias Engine (old) |
| Node Physics Example | | 2D physics simulation (old) |
| 3D Wireframe | | Basic 3D wireframe rendering demo |
| Huge City | | Large city scene rendering demo (Web) |
| 3D Physics Example | | 3D physics simulation with thousands of models |
| 2D Text Rendering | | 2D text rendering with shaping (HarfBuzz) |
| 3D Animation Demo (Android) | | 3D model loading and skeletal animation demo |
To build the Web version of the engine, you need Emscripten installed and activated.
⚠️ Note: Make sure to source the
emsdk_env.shscript to set up the environment variables before building.
Then, run the following commands in your terminal:
SUBMODULESUBMODULEAll third-party libraries are vendored as git submodules or included directly in the
vendor/directory.
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.