3 min read

Tech Snippets #6

Welcome to the sand game Tech Snippets ⏳

Exploring the Tech and Design of Noita

You may already have heard of Noita, it is a rogue-lite game in which you explore a procedural generated underground world, with the plot twist that every pixel is physically simulated. Even one of Germans most famous let's players, HandOfBlood, played and enjoyed it highly.

In this GDC talk Petri Purho, one of the three developers of Noita, explains the tech behind it. He explains how the physics engine works on a basic level and how they managed to scale it up to simulate the "entire" game world (aka. clever division in blocks and chunks to emulate that the whole world is generated).

The talk is about 30 minutes long and if you ever asked yourself how Noita works and want to get a basic understanding, you should definitely check it out.

Exploring the Tech and Design of Noita
In this 2019 GDC session, Nolla Games’ Petri Purho talks about the technical details of Noita’s physics engine, including scaling up the falling sand simulat…

An Exploration of Cellular Automata and Graph Based Game Systems: Part 4

In addition to the talk above, I also recommend reading this article by Macuyiko. He breaks down the talk a bit more and provides more code snippets, which help you better understand how the fundamental engine works.

This is part 4 of a series, in the part 1 (here), 2 (here) and 3 (here) he writes about cellular automata (e.g. Conway's Game of Life is a cellular automata) and how it can be used to simulate basic systems.

Part 4 is a bit different, as he explores how Noita works. He first though that Noita may be based on a traditional cellular automaton system but quickly founds out it uses a different technique. Noita relies on a a single-buffered version of the game which loops over the grid bottom-up.

An Exploration of Cellular Automata and Graph Based Game Systems: Part 4

Recreating Noita's Sand Simulation in C and OpenGL | Game Engineering

If you are still interested, there is also a basic re-implementation of Noita's simulation engine available by John Jackson. In the 10 minute long video he gives a quick overview of the capabilities of the re-implemented engine and some short explanations how it works.

To dig even deeper you can have a look at his complete source code and use it to create your own "sand simulation game".

Recreating Noita’s Sand Simulation in C and OpenGL | Game Engineering
Exploring and attempting to recreate Noita’s “Falling-Sand” Simulation from scratch using C and OpenGL. Be sure to like and subscribe, you cool people. That…

Extra: Making Sandspiel

I was looking for this article the whole day but could not find out, luckily it was mentioned in the video above.

In this article Max give a short overview how his game Sandspiel works. Games of this genre inspired Noita, as in these also every pixel is simulated and they interact with each other. This is a nice addition to the articles above.

Making Sandspiel | max-bittker

Thank you for reading and have a wonderful day ☀️