Exploring the Tech and Design of Noita

288K views · 6 years ago · talk · intermediate · evergreen

A GDC talk by the developers of Noita on the tech and design of the game, in which every pixel is simulated. It covers the Falling Everything Engine for pixel physics and terrain deformation, and design lessons including early prototypes.

HN people call it legendary for pixel physics and falling-sand simulation, and cite it as the model for their own game engine architectures.

“this talk by the Noita devs has been instrumental when building my engine”

12 comments from Hacker News

h
@hopfog2026 · in “Ask HN: What are you working on? (August 2026)”
Thank you! It's funny because I really wanted to introduce more things like that, but the very simple things I've added so far have received a bit of pushback ("I want to play a factory game, not solve puzzles!"). So now I'm reconsidering it, but I think there's a lot of room for really interesting Noita-style secrets when combined with the automation and processing tools. Overall it's a much simpler and more controlled experience than Noita though, so don't expect anything like it. By the way, this talk by the Noita devs has been instrumental when building my engine: ▶ this video Highly recommended!
Strongly recommendsView on HN
h
@hu32025 · in “A simple pixel physics simulator in Rust using Macroquad”
Speaking about pixel physics. Noita game presentation is legendary in this regard: ▶ this video
Strongly recommendsView on HN
t
@thezipcreator2026 · in “Sandboxels”
this doesn't answer any questions about this game, but I found this GDC talk about Noita pretty interesting: ▶ this video
RecommendsView on HN
h
@hopfog2024 · in “Web Game Engines and Libraries”
Thank you! If you haven't played Noita it's basically a "falling sand" or powder physics game where every pixel is simulated. You need a special cellular automata that is not your typical game physics engine, so I don't think Babylon.js would be a good choice but I may be wrong. I've modeled my architecture after this fantastic GDC talk by the Noita devs: ▶ this video ("Exploring the Tech and Design of Noita")
RecommendsView on HN
p
@panzerboiler2022 · in “Making a falling sand simulator”
Nice work, Jason. I enjoyed a lot a talk [1] at GDC by Petri Purho (Nolla Games and before that Kloonigames) that explains the "Falling Everything Engine" used in their game Noita (that I would love to play on my mac...). Highly recommended if you want to dive deeper into the topic. [1]: ▶ this video "Exploring the Tech and Design of Noita"
RecommendsView on HN
I
@Impossible2021 · in “The Powder Toy”
The Noita team explored some game ideas along those lines and had challenges. If you haven't seen the GDC 2019 talk about tech and design of Noita I recommend checking it out. They show some early prototypes focused on building ▶ this video
RecommendsView on HN
o
@obl2020 · in “Noita – roguelite where every pixel is simulated”
If you're interested the dev had a cool GDC talk going over the design : ▶ this video
RecommendsView on HN
e
@endgame2020 · in “Lemmings 2: The Tribes”
Noita does interesting things with terrain deformation, and this is a good GDC talk about how it does so: ▶ this video
RecommendsView on HN
i
@itishappy2024 · in “Game Programming in Prolog”
Noita is a game based around the concept of a chemistry engine running at the pixel level. It uses a custom rules engine written in C++. It's one of the more interesting games I have ever played. link ▶ this video
d
@dmitriid2022 · in “Porting 58k lines of D and C++ to Jai”
jai's author, Jonathan Blow, always creates a game from scratch. His games: Braid (highest rated XBox Live title when released, "Xbox Live Arcade Game of the Year", link) and Witness (while not winning significant awards, regularly appears in Best of Decade games lists, link). Besides that there are multiple games where people use their own engines: - Possibly among some of the most technically complex ones are Factorio (e.g. link) and Noita (where every single pixel in the humongous world is simulated ▶ this video) - Among the AAA-level crowd there's Decima (Death Stranding link and Horizon Zero Dawn link) and REDEngine (Witcher 3 link Cyberpunk 2077 link) - There are smaller ones like Monkey X (Crypt of the Necrodancer, link) - There are bigger ones like Clausewitz (basically all of Paradox Interactive's games like Crusader Kings link and Stellaris link) In general, once you know what you're doing it sometimes pays to develop your own engine that is specific to what you're doing. Unity and Unreal are generalist enines that you still to bend to your will to do what you need to do and may have opinionated setups of things that are hard to work around, or maybe are omitted from the engine, or just plain don't allow you to do.
CitesView on HN
b
@bo0tzz2022 · in “Making a falling sand simulator”
Here's a talk from the creator of Noita about the underlying tech. From 9:20 he talks about their multithreading implementation. ▶ this video
z
@zubspace2020 · in “30 years later, QBasic is still the best”
I owe Basic a lot. It got me into programming on our first family pc, a Compaq Presario around '94. QBasic was accessible on every windows installation from the command prompt. You could read the programming guide built into the editor and have your first running code shortly after. That was its true power. One of my first programs was teaching me french words, asking me to translate them in a random order until I got them all right. It was truly magical. I also made pixels move, trying to write games, but I quickly ran into limitations and problems organizing my code. If you like a small challenge, watch a few minutes of this video about a game called Noita, where in the beginning Q-Basic was used to create some simple physic simulations [1]. It was hacky yes, but I think if you're starting out, it's much more important to get something running quickly than learning how to do it the right way. When people speak of basic, they always seem to have the impression that you're spoiled for life after touching it, but I think that's wrong. You can always learn more and improve. It's breaking down barriers of entry, which is key. A simple editor, with an inbuilt help page and a run button is all you need. [1] ▶ this video
CitesView on HN