-
Notifications
You must be signed in to change notification settings - Fork 0
Home

Sunshine Engine is a 3D game engine built with C++ and DirectX 11.
Graphics
- Deferred rendering system with multiple render passes
- Support for meshes, textures
- Particle system with compute shaders
- Shadow mapping and lighting
- Debug visualization (perception radii, emitters, icons)
Physics
- Jolt Physics integration for collision detection and rigid body dynamics
- Physics components on game objects
Scripting
- Lua integration via Sol2 for game logic
- Component-based scripting system
- Lua bindings for engine systems (camera, input, perception, physics,...)
Audio
- FMOD integration for sound playback and management
Game Objects & Components
- GameObject-Component architecture
- Built-in components: Transform, Render (hidden), Mesh, Physics, Lua, Perception, Behaviour
- Player object with camera control and input systems
- JSON serialization for scenes and objects
AI & Perception
- Perception component for NPC awareness (sight, hearing)
- Behavior tree system via Lua
- Debug visualization of perception radii
Editor
- SunshineEditor - ImGui-based world editor
- Scene management and object editing
- Content browser
- Properties panel for game objects
- Camera preview with miniature viewport
Input System
- Robust input manager with edge detection (pressed/released/held)
- Support for keyboard and mouse
- Key-to-Lua-function mapping for player controllers
- SunshineEngine (LIB) - Core engine systems
- SunshineEditor (EXE) - Editor application
- Projects folder - Game projects using the engine
- Modular rendering with render passes and techniques
The engine is designed for indie game development with a focus on scripting-driven gameplay.
📺 Watch the overview video here:
More videos will be released as the engine continues to be updated.
🔗 https://github.com/ravilkooo/SunshineEngine
- CMake version 3.20+
- Visual Studio 2022 or JetBrains Rider
git clone https://github.com/ravilkooo/SunshineEngine.gitOption 1:
Run the configure_solution.bat file in the repository root.
Option 2:
Open cmd / PowerShell in the repository folder and execute:
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" -A x64Open the Sunshine.sln file in Visual Studio 2022 or Rider.
In Visual Studio, open CMakePredefinedTargets and build the ALL_BUILD target.
Copy the file from:
$RepoFolder$\ThirdParty\FMOD\api\lib\x64\fmodL.dll
to:
$RepoFolder$\build\bin\Debug
Copy the file from:
$RepoFolder$\ThirdParty\FMOD\api\lib\x64\fmod.dll
to:
$RepoFolder$\build\bin\Release
In the Solution Explorer, right-click SunshineEditor → Set as Startup Project.
Run the SunshineEditor configuration (Debug x64 or Release x64) — the engine editor will open.