// return world; // Disabled. Causes the universe to end. Reading the Noita source code is a lesson in humility. It is not elegant. It is not safe. It is not what you would teach in a software engineering class. It is a living, bleeding artifact of passionate creation—where performance was sacrificed for possibility, stability for surprise, and sanity for art.
// Recursive cast. Hold onto your butts. // TODO: Find a way to prevent infinite loops without ruining the fun. // - Nolla, 2021. (Still TODO as of 2024) The Noita source code is surprisingly fragile. The developers left the debug symbols in the release build (a fact dataminers have exploited). Inside, you find an entire subsystem called The Gods , which is not a lore element but a crash recovery system . noita source code
When the game detects an impossible state—a pixel that is both fire and ice, a recursive spell depth of 63—it doesn't crash. It invokes PunishPlayer() . // return world; // Disabled
And the source code? It is the grimoire that binds this chaos into a playable, just-barely-stable reality. At the heart of the noita.exe lies not a traditional game engine, but a highly modified, multithreaded beast written in C and C++ . The developers have been open about its lineage: it grew from a humble "falling sand" game prototype. The source code reflects this organic, almost fungal growth. It is not elegant
The most sacred relic is the . The source defines a Particle struct—humble, only a few dozen bytes. It holds a type (sand, water, fire, blood, polymorphine), temperature, velocity, and a handful of flags. But there are millions of these structs.
The simulation step, SimulateFrame() , is a masterpiece of parallelization and compromise. The code is littered with #pragma omp parallel for directives, attempting to split the screen into vertical slices. However, a legendary comment, said to be written by lead developer Petri "Arvi" Purho, appears above the fluid dynamics solver: