Exploring the Tech and Design of Noita
Video Statistics and Information
Channel: GDC
Views: 139,584
Rating: undefined out of 5
Keywords: gdc, talk, panel, game, games, gaming, development, hd, design, noita, procedural generation, steam, particles
Id: prXuyMCgbTc
Channel Id: undefined
Length: 31min 0sec (1860 seconds)
Published: Thu Jan 02 2020
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
Noita is great fun with a proper roguelike structure, but as you descend through the floors, the physics take a backseat and the game turns into a full fledged wizard-shmup (with an extensive wand crafting system).
It's harder to properly use physics since most enemies start flying, aim better, and physical objects become scarcer. Kicking rocks around isn't as viable as the early levels and liquids typically pour straight down so your options are limited
This game really makes me excited. Itβs the sort of game that I never knew I wanted. Really great talk on how βfalling sandβ games are made.
My goal when playing this game is always trying to become as powerful as possible and explore as much as possible. It's amazing what you can do in this game.
And even if you have the spells to obliterate every enemy or barrier in the blink of an eye and a health bar bigger than the screen you can still die.
Like digging into a small water filled cavern with a chest at the bottom. Chests have loot so I shot it. I didn't think about it much because I was starting to tear things apart in this run and felt invincible already. Chest contained a flask of chaotic polymorphin which got destroyed by my spells too and spewed it's content all over the cavern. Little noita got morphed into a giant hell beast. Sounds cool but is also heavily damaged by water, which I'm now stuck in thanks to being so big and scary.
Got noita'd in seconds by water and stupidity. Same end as every run.
Noita's fun but I feel it kind of lacks...focus? I don't know how to describe it. I never know if my goal is to get to the bottom of the map to beat the final boss or what.
Is the game a puzzle game of secrets finding all the weird hidden stuff?
Is it a physics based game?
Is it a Magicka Spell crafting kind of game?
Obviously it has all these things but it makes the focus a bit skewed on what a player should be doing.
A lot of posts on here are talking about how insanely powerful you end up getting at the end as if its a detriment... but what I don't see a lot of is the fact that the game is actually EXTREMELY difficult. Getting to that point is -not- easy at all. Maybe I just suck. lol
I agree that something is "off" about the balance of the game, though!
I always wanted to know why the game had the "You can see the physics tiles" when you have a lot of falling sands. According to the video it comes from the code updating 1/4 of the tiles at a time. A flaw specific to their answer to "How do I multi thread"
The thing I noticed constantly throughout the video when it came to explaining the physics. They chunk the data and only create and monitor physics in areas that physics can happen ( In a vague sense, again they took liberties that work good enough )
But I just can't wrap my mind around how they track where physics are happening.
For some reason I'm puzzled by the idea of "How can you have a whole world exist but know exactly what and where in the world needs to be simulated"
In other words they can and do have an infinite world where you can physically interact with the entire infinite world and it knows exactly what it needs to simulate. It's such a hard concept for me to wrap my head around from a programming standpoint.
To summarize. The largest scope is the monitored regions. 12 512x512 pixel regions are actively simulated dropping off the furthest monitored regions. The world is split into 64x64 squares for physics. Within these zones a rectangle area of where physics needs to be calculated. In order to multithread those 64x64 square are grouped into 128x128 squares and calculated where each of the 4 64x64 squares are calculated sequentially ( You can notice the 64x64 chunk shape because of this ). Where rigid bodies exist you create collision meshes for the terrain.
From what I can tell those 12 512x512 monitored regions is where the magic happens. That is what allows you to have an infinite world but only monitor a part of it. Because outside of that nothing physics related exists.
I mostly just wanted this post to ramble me solving conceptualizing this concept to see if it could be extrapolated to anything else. Honestly I think it can be extrapolated to all AI in any game ( as in braindead mob units in a world ). You only need to update AI if a player is within range to interact with it. I'm pretty sure if I understood the Albion online post that's actually what they did with their mob units ( that game is of course finite )
It's cool to be able to see the problems and solutions to what I consider to be one of the most interesting challenges in games programming. Something that is persistent, simulated, and infinite.
Many games have used infinite but not simulated ( such as Minecraft or No Mans Sky ) But this is the first game I've seen that has something persistent, simulated, and infinite.
On a related note in this video with a nuke and all explosion buffs you can see how the 12 monitored regions limit the blast radius.