StarFire is a "to-be-in-the-future" 2D | Isometric 3D Visualization Engine, with a custom Vulkan rendering backend, ImGui editor user interface. The plan is to produce small, colorful, simulation heavy games and other fun projects with it.
This will be the second iteration of the engine-design architecture learning process, featuring a full functional, Vulkan rendering backend utilizing compute shaders as backbone for heavy simulations, an optimized pipeline for 2D, and later isometric/three dimensional, applications. It will support a small 3D sound library, custom shaders, ray-traced lighting focused on utilizing new gen hardware.
StarFire will be a long term project, which will be extended as needed, where the side projects give direction on features.
StarFire is build using premake5.
Visual Studio 2026, C++23, x64
VulkanSDK Version 1.4
StarFire currently only supports Windows.
| Name | Version | Repo | Branch | Commit | Last Updated | Used in project | Config |
|---|---|---|---|---|---|---|---|
| glm | 1.0.1 | Original | master | '2d4c4b4' | 21.04.2025 | StarFire;Aurora;Nebula;Sandbox | all |
| GLFW | 3.5.0 | Forked | StarFire | '06d9a46' | 21.04.2025 | StarFire;Aurora | all |
| spdlog | 1.25.2 | Original | v1.x | '847db33' | 21.04.2025 | StarFire;Nebula;Sandbox | all |
| concurrentqueue | 1.0.4 | Original | master | '24b7878' | 14.05.2025 | StarFire | all |
| VulkanSDK | 1.4.350.0(latest 1.4) | Original | --- | --- | 12.05.2026 | Aurora | all |
| xxHash | v0.8.3 | Original | --- | --- | 17.07.2025 | Aurora/StarFire | all |
| catch2 | v3.11.0 | Forked | v3.11.0_Forked | '31d46ee' | 07.12.2025 | SubstrateTests | Tests |
| Tracy | v.0.13.1 | Original | --- | --- | 04.02.2026 | StarFire;Aurora;Nebula;Sandbox | all(toggleable by #define) |
| ImGui | --- | Forked | Docking | 'f5f6ca0' | 03.2026 | StarFire;Aurora;Nebula;Sandbox | all |
Disclaimer: The branches in GLFW were a test. There is no difference between the premake5 files in this project and the old engine Povox.
- Clone the repository.
- git clone --recursive https://github.com/PowerOfNames/StarFire or
- git clone https://github.com/PowerOfNames/StarFire + git submodule update --init --recursive
- Install the latest 1.4.xxx VulkanSDK for Windows 64 bit and set the system environment variable (default: Vulkan_SDK)
- Navigate to /scripts/build and run win-genProjects. You might need to change the respective line in the scripts if premake5.exe was moved.
- Open the StarFire solution. Sandbox is selected as StatUp project by default.
- Follow their instructions using cmake, in case profiling is needed Documentation_2.3_Building_the_server
- Run tracy-profiler.exe that was generated into profiler/build/Release (or in whichever path you set)
- Start a StarFire application in (config:Profiling)
####About using Claude Claude is being used to increase my productivity. I do this by letting Claude maintain a (non-public) Obsidian vault next to my project that currently contains coarser Documentation, a DevLog/History and a Bug/Gap and open task tracker. It is mainly being used for house-keeping of this vault, which helps me extremely staying focused, not ending up in rabbit holes. Clause is also used for Debugging, writing near to all Unit-Tests in SubstrateTests, some test scripts and it is allowed to produce boilerplate code, for example the parsers in Aurora, which convert between Vulkan and Aurora internal types. All other code is 99% handwritten, as of now. This wont change as long as most of the concepts that get implemented are new to me, which means I want to learn them as thoroughly as I can. Minus heavy debugging sessions, which you can still learn a lot from, but just take too much time for someone working full time in parallel. It also creates commits and PRs, which get reviewed by me.