Re:Sandboxels
by thunfischtoast on Tuesday February 10, 2026 @09:10AM
(#46959931)
Out of curiosity: Do you use a high level language (like C#) or do you have low level optimizations on (e.g. assembly level)?
I imagine that there has to be some kind of map that keeps track of which pixels are "active" and need to be updated, but I wonder how do that efficiently.
[ Parent
| on HN ]
Re:Sandboxels
by thezipcreator on Wednesday February 11, 2026 @10:17PM
(#46984509)
this doesn't answer any questions about this game, but I found this GDC talk about Noita pretty interesting: https://www.youtube.com/watch?v=prXuyMCgbTc
Yes, that talk has been instrumental for my game. Highly recommended!
Actually even higher level than that: it's all JavaScript, but it relies heavily on multithreading (see the linked Noita talk, which uses the same model). But basically:
The world is divided into chunks and the threads are processing them simultaneously in an even-odd checker pattern to avoid race conditions. When all pixels settle in a chunk it falls asleep and can be skipped altogether until an active pixel enters and wakes it up again.