Skip to content

Repository files navigation

StarFire

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.

Requirements

StarFire is build using premake5.

Visual Studio 2026, C++23, x64

VulkanSDK Version 1.4

StarFire currently only supports Windows.

Dependencies

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.

How to Build

  1. Clone the repository.
  1. Install the latest 1.4.xxx VulkanSDK for Windows 64 bit and set the system environment variable (default: Vulkan_SDK)
  2. Navigate to /scripts/build and run win-genProjects. You might need to change the respective line in the scripts if premake5.exe was moved.
  3. Open the StarFire solution. Sandbox is selected as StatUp project by default.

Building Tracy

  1. Follow their instructions using cmake, in case profiling is needed Documentation_2.3_Building_the_server
  2. Run tracy-profiler.exe that was generated into profiler/build/Release (or in whichever path you set)
  3. Start a StarFire application in (config:Profiling)

Additional Information

####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.

About

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.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages