Adding sand to water removes the water, so cant fill up or move water level up with added sand FYI
@alst48172 ай бұрын
Wow, this is so cool man! Love it!
@tundera12972 ай бұрын
How did you get it running so fast? I used dirty rects and chunks to help with optimization but mine runs no where at fast as yours. Did you multithread it? Also how big is each pixel in your simulation, the size of an actual pixel or bigger.
@johnjackson97672 ай бұрын
@@tundera1297 Single threaded, each particle is the size of a texel in the image. It has significant slowdowns with some more logic intensive materials, such as fluids.
@tundera12972 ай бұрын
Thanks how many particles can you get on screen before experiencing a slowdown. I can get to around 2,000 each the actual size of a pixel in an 800 x 600 window before experiencing major slowdowns.
@Wee-plus3 ай бұрын
Why do you need 32 bytes for a flag, has been updated? Can't you just do that with a single bit?
@johnjackson97673 ай бұрын
@@Wee-plus It's a typo. I addressed this in the pinned comment.
@doobPendleton3 ай бұрын
Hi great video. Have you done something like this talking about 2D procedural world generation? I’ve tried wfc in unreal as well as a c++ script using a Heringbone wang type of idea but can’t quite figure it out. I appreciate any ideas in advance!
@johnjackson97673 ай бұрын
@@doobPendleton I haven't talked about it yet, but I have a current project that's heavily proc gen. What are you having issues with specifically?
@BabySisZ_VR3 ай бұрын
I didn't even mean to watch a video this video was so good it just had me glued to the screen waiting for the next piece of information subbed!
@lenargilmanov78933 ай бұрын
I thought you'd be using OpenGL to update the state of the simulation.
@johnjackson97673 ай бұрын
@@lenargilmanov7893 If this were a production project, I would run the simulation through compute shaders.
@captainswing40403 ай бұрын
this is so cool man
@azure-hawk3 ай бұрын
Delta compression seems similar, if not identical, to how git works. Can anyone confirm?
@OnaRocketship4 ай бұрын
ahem pardon me but why is this game among others with similar controls NOT in a indie arcade system?
@chenxin47414 ай бұрын
Amazing
@black_crest4 ай бұрын
KZbin's compression system didn't like this at all
@mr.hashundredsofprivatepla37114 ай бұрын
IDK if that’s intentional but that motion blur is beautiful UPDATE: Given how there’s a motion blur implementation in the repository somewhere, I think it is.
@ThatOSDev4 ай бұрын
I don't normally subscribe to others. BUT, you leave me no choice. 🤣🤣
@ThatOSDev4 ай бұрын
Slowly I been working on my own. But it's nice to see othes who also use C. I also agree with all your points about C. 👍
@KanjiCoder_RTFM4 ай бұрын
Can I use this for UI ?
@johnjackson97674 ай бұрын
@@KanjiCoder_RTFM Yes. It has an immediate mode gui extension I've since added that I use exclusively for personal projects.
@KanjiCoder_RTFM4 ай бұрын
@@johnjackson9767 Cool . I'll keep you in mind . I already stubbed raylib into my current project . But I'll take a look at your stuff the next time I write a project . I am assuming your project would be an easier way to build Nuklear into my C projects ? I saw one of your videos messing with Nuklear .
@KanjiCoder_RTFM4 ай бұрын
I was trying to use Nuklear and disapointed that glfw is an empty repo that needs to be built ? And Nuklear uses it ? Now I remember why I wrote my own win32 and opengl function pointer library . I just want to compile a single file and be done . No make files and build scripts .
@johnjackson97674 ай бұрын
@@KanjiCoder_RTFM Yes, Nuklear and Dear Imgui don't make assumptions about platform. They provide samples that show how to hookup to various backends for this reason. I vendor glfw, emscripten and Android backends default platforms to get around some of this headache, although that's controversial to some in what a framework should do.
@KanjiCoder_RTFM4 ай бұрын
@@johnjackson9767 I think for adoptability of a framework , the less brick walls the better .
@KanjiCoder_RTFM4 ай бұрын
@@johnjackson9767 I don't know what I am talking about here . But possibly make things just "work out of the box" and have a way where the experts who know more about linkers and build systems can do their thing if they so choose ?
@fuzzy-024 ай бұрын
Why the id?
@jay-tbl5 ай бұрын
What kind of optimizations did you have to think about? Things like concurrency for different parts of the world at the same time
@johnjackson97675 ай бұрын
This is single threaded, so concurrency wasn't an issue. If I were to continue this, then I would thread multiple chunks concurrently and would have to be careful at boundaries.
@mastersquinch6 ай бұрын
which monospace typeface are you using in your animations?
@johnjackson97676 ай бұрын
I took the time to code one up by hand because I'm a moron
@CatValentineOfficial6 ай бұрын
Now add poison, ooze, mud, plants, balloons, pipes, converters, bombs, switches, and sliders.
@eduardocasanova-personal30646 ай бұрын
Does anyone know the name of a game like this? I purchased it at an office depot when i was a kid
@johnjackson97676 ай бұрын
store.steampowered.com/app/35460/The_Ball/
@1kvolt19786 ай бұрын
If you will ever use Win32 API it will become a mess though. MS uses AllWordsStartWithCapitalLetterNoUnderscore style.
@Aaws4247 ай бұрын
This is very beautiful ❤ thanks
@ChernoPhil7 ай бұрын
Thats aweome! Is it possible / allowed to integrate it in a game?
Late to the party but I think that a really good way to simulate velocity would just be to follow the initial rules you made before adding velocity, but multiple times in one frame
@sairajk198 ай бұрын
Nice video, Thankyou very much. These videos are very helpful! Discord link please :) Couldn't find the link.
@dimithras9 ай бұрын
Came here from Noita. Actually Noita does not have anything new to pixel physics, there've been myriads of sandbox games with a palette up to 100 colors including C4 pixels, electricity and other cool stuff. What Noita is loved for - it's fungal shifting and much more effort on mixing different stuff.
@Faby__9 ай бұрын
Wtf this was the best video on particles i've ever seen. Amazing job
@gamelovers497410 ай бұрын
Brother what's your discord server link
@Ismoh081510 ай бұрын
John, where did the discord link go?
@CodeParticles10 ай бұрын
@John Jackson, Ugh... thank you so much for this video. I say 'ugh' because I thought I was done with OpenGL and could finally move on to Vulkan but NooOoO i gotta go back to OpenGL just for this and then move on. In a way I'm going to be stuck on this mini project just to understand how this works but you gave me more insight to add another tool under my belt so to speak. Cheers~ 👏👏👍👍
@NunyaBizznezz696910 ай бұрын
I did find that interesting
@drdca826310 ай бұрын
Maybe I’m underestimating how fast computers are, but, when you have many particles, how do you make this run at a reasonable speed? Do you do processing on the GPU? Do you have some sort of “this particle’s environment hasn’t changed, so don’t run its code, as it will stay the same” thing going on? Like some kind of “this is where stuff changed last frame” mask?
@johnjackson976710 ай бұрын
CPUs are fast enough to handle this. Moving this to the GPU would be the best way to make it scale.
@drdca826310 ай бұрын
@@johnjackson9767 Thanks!
@gobro390011 ай бұрын
What you've created is awesome! I saw a youtuber mention your framework in his video, and I wanted to try it out and well... I have been pleasantly surprised :D. However, I've noticed that the documentations site seems to be down and that the "math.md", "platform.md" & "utils.md" seem to have no documentation in them whatsoever. Is it supposed to be like that? Probably not lol
@xylvnking11 ай бұрын
I'm never gonna do this but i like to watch
@musashi54210 ай бұрын
lmao
@StevenOfWheel11 ай бұрын
Does anyone know the name of the nuclear reactor sim game which flashes briefly for 2 seconds at 0:11-0:13?
@johnjackson976711 ай бұрын
Powder Toy
@StevenOfWheel11 ай бұрын
@@johnjackson9767 Thank you!
@jb14_9911 ай бұрын
Do you think this could be extended to 3D?
@NEO97online7 ай бұрын
yes, it would be like Minecraft. just with a higher tick rate and very small blocks
@Serghey_83 Жыл бұрын
Супер!))
@maixicek Жыл бұрын
Very cool!
@G0RSHK0V Жыл бұрын
Noita also have ridgid body physics, which is impressive. Even more impressive is the fact that early versions of Noita had surface tension for liquid, so, for example, water in icy biomes formed icicles. And on top of that, Noita uses multiple cores to calculate physics
@johnjackson9767 Жыл бұрын
Absolutely, it's a fantastic showcase of novel solutions to complex problems.
@Sbenbobb9 Жыл бұрын
Both these forms of media are so rare and I love that you brought them together. I love Noita, and the Powder Toy I've been playing since I was a kid.
@chaquator Жыл бұрын
i wanna see all of this as pixel shaders, would be an interesting challenge, especially more iterative procedures like accounting for velocity and gravity
@johnjackson9767 Жыл бұрын
I would rewrite this in compute shaders, or at least double buffer and multithread it.
@Gamester-vy1qp Жыл бұрын
This is so cool!
@oamioxmocliox8082 Жыл бұрын
;))
@sushismitcher225 Жыл бұрын
This is sooo cool. I made it with python and Pygame, and it works perfectly. It game me so many ideas for games. You just earned a sub.
@andrewalexart Жыл бұрын
8:40 "and this is easy enough to do!" me: fuck it... :D