A lightweight 2D game engine written in C++20 using Vulkan and SDL.
Features:
- Multithreaded
- Unicode support
- Supports Vulkan and WebGL
- ECS architecture
Platforms:
- Linux
- WebAssembly/Emscripten
- Windows
Future goals:
- Clean API
- Multi-language/Scripting support
- Heavily multithreaded
- Networking support
- Multiplatform support (Windows, macOS, FreeBSD, Android?)
Requirements:
- CMake
- Ninja (optional, highly recommended)
Native build:
- SDL2
- ICU
- Freetype
- Vulkan SDK
WebAssembly build:
- Emscripten
Host Build
cmake -B Build -G Ninja -DUSE_VULKAN=ON
ninja -C Build
WASM/Emscripten Build
cmake -B Build/wasm -G Ninja -DUSE_OPENGL=ON
ninja -C Build/wasm
Host Build
./arclight-build.py --dir Examples/Ball build
./arclight-build.py --dir Examples/Ball run
WASM/Emscripten Build
./arclight-build.py --platform wasm --dir Examples/Ball build
./arclight-build.py --platform wasm --dir Examples/Ball run
Arclight engine uses the following third party libraries: