Selene Engine

Professional, cross-platform game engine in modern C++20 with Lua scripting and Vulkan rendering

In Planning

Selene is a professional, cross-platform game engine written in modern C++20. It uses Lua as its primary scripting language and Vulkan as its main rendering backend. The engine is built from the ground up with a modular architecture, designed to compete with Unity, Godot, and Unreal in the long term.

Modern C++20 Lua Scripting Vulkan Rendering Modular Architecture

Competing with Unity, Godot & Unreal – open source, modular, modern

Core Features

C++20 Core

Modern C++20 with modules, concepts, coroutines and ranges for maximum performance and clean design

Vulkan Renderer

Primary rendering backend with Vulkan. Optional OpenGL ES 4.6 and WebGPU as fallback for older hardware

Lua Scripting

Lua as primary scripting language for gameplay logic, hot-reload of scripts at runtime without restart

Entity Component System

Data-oriented ECS for maximum performance with large scenes containing thousands of entities

Modular Architecture

Engine modules (renderer, physics, audio, networking) can be loaded, swapped or extended individually

Cross-Platform

Windows, Linux, macOS, Android and iOS from a single codebase. Platform-specific optimizations where needed

Editor & Tools

Visual editor with scene hierarchy, inspector, asset browser and integrated Lua debugger

Rendering Pipeline

  • Deferred Renderer: Modern deferred rendering with G-Buffer for complex lighting scenarios
  • PBR Materials: Physically based rendering with metallic-roughness workflow and IBL
  • Ray Tracing: Hardware ray tracing via VK_KHR_ray_tracing_pipeline (optional, RTX/GTX-compatible)
  • VFX & Particles: GPU-based particle system, post-processing (bloom, SSAO, motion blur, TAA)
  • Global Illumination: Voxel-based global illumination and light propagation volumes for realistic lighting

Scripting & Tools

Lua API

Complete Lua bindings for all engine systems. Hot-reload, C++ interop and coroutine support

Editor

Integrated visual editor with WYSIWYG scene view, asset pipeline and build system

Lua Debugger

Breakpoints, watch variables, step-by-step execution and profiling directly in the editor

Asset Pipeline

Import for FBX, GLTF, OBJ, PNG, KTX and more with automatic compression and streaming

Tech Stack

C++20
Vulkan
Lua 5.4
ECS (EnTT)
CMake
Open Source

Roadmap

Phase 1 – Core Engine

C++20 project setup, Vulkan renderer (basics), ECS, Lua bindings, basic editor

Current
Phase 2 – Rendering & Tools

PBR material system, deferred renderer, particles/VFX, asset pipeline, full editor

Phase 3 – Advanced Features

Ray tracing, global illumination, physics engine, audio system, networking/multiplayer

Phase 4 – Release & Ecosystem

Documentation, tutorials, marketplace, community tools, 1.0 release

Wuppertaler Tafel AllOne The Outpace - Band Homepage