https://github.com/hazeliscoding/aether-engine
2D game engine with Lua scripting and a built-in editor.
https://github.com/hazeliscoding/aether-engine
2d-game-engine entity-component-system lua-scripting
Last synced: 4 days ago
JSON representation
2D game engine with Lua scripting and a built-in editor.
- Host: GitHub
- URL: https://github.com/hazeliscoding/aether-engine
- Owner: hazeliscoding
- License: mit
- Created: 2026-07-01T15:37:48.000Z (28 days ago)
- Default Branch: main
- Last Pushed: 2026-07-01T18:27:27.000Z (28 days ago)
- Last Synced: 2026-07-01T19:22:48.084Z (28 days ago)
- Topics: 2d-game-engine, entity-component-system, lua-scripting
- Language: C++
- Homepage:
- Size: 332 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: docs/ROADMAP.md
Awesome Lists containing this project
README
# Aether Engine
A 2D game engine built from scratch in **C++20**, with **SDL3** for platform/rendering,
**Lua** for game scripting, and a **Dear ImGui** editor. The long-term goal is a
Unity/Godot-class 2D workflow. Windows is the primary development target for now.
> **Status:** Milestone 1 — window + renderer + docked ImGui editor shell.
## Prerequisites (Windows)
You only need two things installed. Everything else (SDL3, Dear ImGui, ...) is
downloaded and built automatically by CMake on first configure.
- **Visual Studio 2026** (Community is fine) with the *Desktop development with C++* workload,
**or** the standalone *Build Tools for Visual Studio*.
- **CMake 3.24+** (VS ships one; a standalone install also works).
- A working internet connection for the **first** configure (dependencies are then cached).
## Build & run
From a normal PowerShell / terminal in the repo root:
```powershell
cmake --preset windows-vs # configure (downloads & builds SDL3 + ImGui the first time)
cmake --build --preset vs-debug # build (use vs-release for an optimized build)
./build/vs/bin/Debug/AetherEditor.exe
```
The Visual Studio preset does **not** require a developer command prompt. If you
prefer faster Ninja builds, run from a *Developer PowerShell for VS 2026* and use
the `windows-ninja` / `ninja-debug` presets instead.
Press **Esc** or close the window to quit. Use **View → ImGui Demo** to explore widgets.
## Project layout
| Path | What it is |
|------|------------|
| `CMakeLists.txt` | Top-level build: C++20 settings, warning flags, output dirs. |
| `CMakePresets.json` | Configure/build presets for VS 2026 and Ninja. |
| `cmake/dependencies.cmake` | FetchContent declarations (SDL3, Dear ImGui). |
| `engine/` | `aether` static library — window, main loop, renderer, ImGui integration. |
| `editor/` | `AetherEditor` executable — the ImGui editor shell. |
## Roadmap
See [`docs/ROADMAP.md`](docs/ROADMAP.md) for the full feature plan (ECS, Lua scripting,
scene serialization, physics, audio, tilemaps, the editor's scene/game viewport, and more).