Exploring the Tech and Design of Noita
GDC Festival of Gaming7 HN recommenders · recommended in 7 months, 2020-2026
288K views · 6 years ago · talk · evergreen
In this 2019 GDC session, Petri Purho of Nolla Games explains the technical side of Noita's physics engine, including scaling a falling-sand simulation to large continuous worlds and adding destructible rigid bodies. It also shows how the emergent physics drives the gameplay.
It is the go-to talk for anyone building falling-sand or pixel-physics simulations, and several commenters say they modeled their own engines on it.
1:07:26Procedurally Crafting Manhattan for Marvel's Spider-Man
GDC Festival of Gaming
89K views • 7 years ago
1:00:34Pitfall: A Classic Game Postmortem
GDC Festival of Gaming
63K views • 10 years ago
26:13Animation Bootcamp: An Indie Approach to Procedural Animation
GDC Festival of Gaming
786K views • 9 years ago
1:06:37Destiny's Multithreaded Rendering Architecture
GDC Festival of Gaming
45K views • 10 years ago
1:28:30Breaking Conventions with The Legend of Zelda: Breath of the Wild
GDC Festival of Gaming
565K views • 9 years ago
59:388 Frames in 16ms: Rollback Networking in Mortal Kombat and Injustice 2
GDC Festival of Gaming
94K views • 7 years ago
5:05New Voxel Engine Reveal - Crystal Islands Experiment
John Lin
394K views • 5 years ago
1:00:12Pitfall Classic Postmortem With David Crane Panel at GDC 2011 (Atari 2600)
GameSpot
76K views • 15 years ago
58:59GuiltyGearXrd's Art Style : The X Factor Between 2D and 3D
GDC Festival of Gaming
710K views • 11 years ago
1:04:04Overwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
196K views • 7 years ago
31:07Crafting A Tiny Open World: A Short Hike Postmortem
GDC Festival of Gaming
521K views • 6 years ago
23:06Bob Nystrom - Is There More to Game Architecture than ECS?
Roguelike Celebration
301K views • 8 years ago
27:10IRDC US 2015 - Brian Bucklew, Data-Driven Engines of Qud and Sproggiwood
Logo “ND” Surströmming
39K views • 11 years ago
26:56The Implementation of Rewind in Braid
GDC Festival of Gaming
141K views • 9 years ago
59:20Rendering Tiny Glades With Entirely Too Much Ray Marching
Graphics Programming Conference
108K views • 1 year ago
37:41EPC2018 | Wave Function Collapse in Bad North | Oskar Stalberg
BUas Games
176K views • 8 years ago
1:05:45Classic Game Postmortem - Another World
GDC Festival of Gaming
25K views • 7 years ago
1:00:271,500 Slot Machines Walk into a Bar: Adventures in Quantity Over Quality
GDC Festival of Gaming
184K views • 7 years ago
27:56Unity DOTS vs Handbuilt: Sample Project
Nick Caston
687K views • 6 years ago
52:12How to Survive in Gamedev for Eleven Years Without a Hit
GDC Festival of Gaming
1.2M views • 9 years ago
10 comments from Hacker News
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!
this doesn't answer any questions about this game, but I found this GDC talk about Noita pretty interesting: ▶ this video
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
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")
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.
Here's a talk from the creator of Noita about the underlying tech. From 9:20 he talks about their multithreading implementation. ▶ this video
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"
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
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
Noita does interesting things with terrain deformation, and this is a good GDC talk about how it does so: ▶ this video