noita_gpu documentation
A GPU (Vulkan compute) reimplementation of Noita's engine in C++, loading the original game's data.wak.
Goal: rule-faithful (not bit-exact) falling-sand simulation on the GPU, with the original world generation
and the original Lua scripts driving content.
Build and run
Requirements: Visual Studio 2022 (MSVC), CMake 3.20+, Vulkan SDK.
The Vulkan SDK location is passed as -DVULKAN_SDK=... (or the VULKAN_SDK environment variable). LuaJIT is
built automatically on first configure from third_party/luajit.
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DVULKAN_SDK=F:/workspace/tools/VulkanSDK
cmake --build build --config Release
Demo
demo/ holds a ready-to-run build of noita_gpu (exe + compiled shaders) and two launchers: run_world.bat (real Mines terrain, optional seed argument) and run_sandbox.bat. They read data.wak from two folders up (..\..\data.wak). Refresh it after a rebuild by copying build/Release/noita_gpu.exe and *.spv.