Загрузка видео...

Не удалось загрузить видео

На главную

I've integrated fluids into my physics engine. Fluids are made of the same particles as solid matter, but computed differently. Phase change is seamless, matter melts and hardens back on temperature change. It runs fast, and world size limits are wider than any game would need.

119,168 просмотров • 11 месяцев назад •via X (Twitter)

Комментарии: 73

Фото профиля Rendezvous Extraordinaire
Rendezvous Extraordinaire11 месяцев назад

You have rediscovered Clonk (and… well, I’m grateful for that)

Фото профиля Zolden
Zolden11 месяцев назад

I'm actually enchanted by Clonk design and mechanics and the game I'll be making might be heavily inspired by it. Though, it's not decided for sure.

Фото профиля Rendezvous Extraordinaire
Rendezvous Extraordinaire11 месяцев назад

Please do!

Фото профиля Bananaft
Bananaft11 месяцев назад

Finally someone will make that stupid mobile game ad about lava, gold and water a reality.

Фото профиля Tabot
Tabot11 месяцев назад

Noita 2 confirmed?

Фото профиля Michal Pawlowski (Squeezed Hamster)
Michal Pawlowski (Squeezed Hamster)11 месяцев назад

Is it your own engine or it runs inside a regular game engine? It's absolutely amazing.

Фото профиля Zolden
Zolden11 месяцев назад

It runs inside Unity. Thank you!

Фото профиля Michal Pawlowski (Squeezed Hamster)
Michal Pawlowski (Squeezed Hamster)11 месяцев назад

Is this something you're planning to release as a plugin? I'd pay quite a lot to have access to this kind of technology. Ideas for games that utilises this just kills my imagination everyday I see it 👀🥹🥰

Фото профиля Zolden
Zolden11 месяцев назад

I might release it, yes. After I make a game with it. There's so much to improve until it's really useful and convenient to make games with.

Фото профиля Michal Pawlowski (Squeezed Hamster)
Michal Pawlowski (Squeezed Hamster)11 месяцев назад

Yeah I totally get you. And How's the simulario going? Are you planning to release Beta / demo? It clicks right buttons in me head, can't wait to give it a go 🙈

Фото профиля Zolden
Zolden11 месяцев назад

Simulario has been in R&D phase for many months, and finally I've implemented all physics features I needed. I'm currently finalizing the physics, to move to rendering for a few improvements, and then will go straight to implementing actual game design.

Фото профиля Michal Pawlowski (Squeezed Hamster)
Michal Pawlowski (Squeezed Hamster)11 месяцев назад

Sweet. I hope it will go smooth from now on. Keep us posted 🔥

Фото профиля Jonas Tyroller
Jonas Tyroller11 месяцев назад

Veeery satsifying to watch already.

Фото профиля Alex
Alex11 месяцев назад

Looks awesome! Is it still Lennard-Jones or is it completely different kind of simulation? By the way do you use the standard 12-6 Lennard-Jones potential, or some simplified version of it, like just some linear attraction–repulsion (which technically isn’t Lennard-Jones)?

Фото профиля Zolden
Zolden11 месяцев назад

It's a blend between solid material (LJ), and PIC/FLIP fluid simulation. LJ is 13-7. I don't remember why I chose it and not the default 12-6. Using linear attraction-repulsion wouldn't let particles form such stable and solid material. Though, even LJ is not ideal for 2d. It was made for 3D simulations after all.

Фото профиля Alex
Alex11 месяцев назад

Wow! I was sure you were using the term “Lennard-Jones” loosely. I was under the impression it was too stiff with such large exponents for real-time simulations. I also thought you were using springs to make materials solid. How many sim steps/iterations per frame do you run?

Фото профиля Zolden
Zolden11 месяцев назад

16 a frame, dt is really small. But it works solid 150 fps on my 3090

Фото профиля Alex
Alex11 месяцев назад

16 is smaller than I expected, but I guess that’s because it’s running unconstrained at 150 fps? So basically we can say that "effective" iteration count per frame on 60 fps display/video is 40 (16 x 150 / 60)? i.e. dt should be 1/150/16 = 1/60/40 = 0.0004166666667

Фото профиля Zolden
Zolden11 месяцев назад

Almost correct, dt is 0.0002. When I make it 0.0004, simulation explodes

Фото профиля proc0
proc011 месяцев назад

Is the physics really running on GPU (as your bio suggests?). Looks amazing.

Фото профиля Zolden
Zolden11 месяцев назад

Correct, runs on GPU. Thank you.

Фото профиля Critter
Critter11 месяцев назад

I imagine when you say "any game" you're not including something like Terraria, right? If that sort of scale isn't viable out of the box, I imagine it could be chunked or something.

Фото профиля Zolden
Zolden11 месяцев назад

Here the size is shown. Camera has moved to the right by maybe 10% of world size in this video. Same length goes underground. So, plenty of space.

Фото профиля J Bet
J Bet11 месяцев назад

@CritterObserves Is this real time? I hit massive roadblocks with liquid physics when it comes to this stuff which turned me off it, as the visuals aren't 3090 worthy but require a 3090.

Фото профиля Zolden
Zolden11 месяцев назад

@CritterObserves There's plenty of optimization possibilities, so it's totally doable running a good quality particle simulation with tens of thousands interacting particles on something like 3070, with cute enough rendering. If you go pure fluid, it's even faster, as it allows 10x time step.

Фото профиля J Bet
J Bet11 месяцев назад

For myself specifically I was looking at Noita style game with the addition of somewhat realistic physics and first handful of options I looked into didn't seem do-able at a convenient enough efficiency (for me on a 3060). Fractala seems to have it though, and some of yours as well. I'm still wondering if its functional enough to be the focus of a full game and not in like a sandbox style one.

Фото профиля J Bet
J Bet11 месяцев назад

@CritterObserves somewhat realistic liquid* physics.

Фото профиля J Bet
J Bet11 месяцев назад

@CritterObserves But it sounds to me like I missed a lot of options.

Фото профиля Zolden
Zolden11 месяцев назад

@CritterObserves I think it's doable,and you can do it if experiment a bit more with different approaches and optimisation tecniques.

Фото профиля Alex
Alex11 месяцев назад

Fluids are cool enough as is. Seamlessly transitioning between fluid and solid is insanely cool!

Фото профиля Topotoy Labs
Topotoy Labs11 месяцев назад

Needless to say, this is absolutely AWESOME. Keep up the great work!

Фото профиля Sols 🐣
Sols 🐣11 месяцев назад

so smmooooooth! remarkable!

Фото профиля Stinky
Stinky11 месяцев назад

Interesting! Reminds me of desiccant gels when they've absorbed water. Looks great

Фото профиля coolerputt
coolerputt11 месяцев назад

Cool How does this run fast? Any articles or Tutorials to help? I feel you aren't using water particles and apply physics on each particles like my dumb brain would

Фото профиля Zolden
Zolden11 месяцев назад

Fluid sim uses grid, where it solves incompressibility. Running each cell of the grid would be slow, because there's too many. So, I made it so only cells that have partciles would be computed. This way I have both huge world and fluid is computed fast.

Фото профиля coolerputt
coolerputt11 месяцев назад

Ohh I get it now ,cool so the entire mesh is made into grids... How do you handle physics tho any tips for fluid physics apart from studying 300paged of lecture material🤧🤲

Фото профиля Zolden
Zolden11 месяцев назад

PIC/FLIP method for fluids is quite simple, you just put particle velocities to grid, solve incompressibility, and return velocities to particles. It all boils down to adding a few numbers a few times, but would still require reading a few pages of explanations.

Фото профиля coolerputt
coolerputt11 месяцев назад

Ohh thnx , I do understand the principle from what explained tho Calculations are not done on particles directly but are applied instead... Cool stuff

Фото профиля Zolden
Zolden11 месяцев назад

For the fluid it's indeed calculations on the grid. But for the solid part it's each particle computes forces between its neighbors, so per particle calculations.

Фото профиля coolerputt
coolerputt11 месяцев назад

Ohhh ok ok makes sense, thanks alot❤️

Фото профиля Todd Lehman
Todd Lehman11 месяцев назад

This is beautiful! 🤩 Suggestion: rather than having the temperature, decrease linearly, use exponential decay. Then, dissipate heat based on surroundings, to allow hot particles to stay hot if they are near other hot particles, so that large clumps cool slower.

Фото профиля Zolden
Zolden11 месяцев назад

It's an interesting and physical concept. If it's not much a performance burden, I might implement it. It could even be used for some gameplay mechanics.

Фото профиля Todd Lehman
Todd Lehman11 месяцев назад

Cool. Dissipation is probably likely to be somewhat computationally expensive, although perhaps not marginally so... but the exponential decay ought to be cheap, if you choose to implement that, since it's just a remapping of the linear elapsed time. 🤓

Фото профиля octane_turnip
octane_turnip11 месяцев назад

That's so cool! How are collisions for this many particles computed efficiently? Is it a delaunay/voronoi graph?

Фото профиля Zolden
Zolden11 месяцев назад

@f_allat There's a grid, that knows local particles, so each particle only interacts with few neighbors, therefore, it's about O(k * N) complexity.

Фото профиля octane_turnip
octane_turnip11 месяцев назад

It makes sense. Thank you!

Фото профиля 𝕊𝕖𝕥𝕙 “The Surge” 𝓒𝓱𝓪𝓶𝓹𝓲𝓸𝓷
𝕊𝕖𝕥𝕙 “The Surge” 𝓒𝓱𝓪𝓶𝓹𝓲𝓸𝓷11 месяцев назад

>wider than any game would need

Фото профиля BreathOfSpace
BreathOfSpace11 месяцев назад

Looks nice.

Фото профиля International Ranni Simp
International Ranni Simp11 месяцев назад

Holy shit that's insanely fucking cool. I've been trying to imagine this concept in my head for a while to eventually implement it for like a dynamicly generated game mechanics, and you've represented it so perfectly. This fills me with unimaginable joy

Фото профиля Zolden
Zolden11 месяцев назад

I'm glad it gave you these feelings!

Фото профиля M2
M211 месяцев назад

This reminds me of Noita

Фото профиля Mr Sean
Mr Sean11 месяцев назад

Can it do live multiplayer?

Фото профиля Zolden
Zolden11 месяцев назад

Currently no, as physic computation is not deterministic. But I'll try to fix it.

Фото профиля MindForge
MindForge11 месяцев назад

I'm seeing Liero and Scorched Earth possibilities all over this :D

Фото профиля Jordan Shurmer
Jordan Shurmer11 месяцев назад

This looks great. Could be used to make some really good Noita-likes

Фото профиля Tristan John
Tristan John11 месяцев назад

A lemmings reboot is in order.

Фото профиля Denise Angle 🫧👻
Denise Angle 🫧👻11 месяцев назад

This is EXCELLENT.

Фото профиля SvenBrimstone
SvenBrimstone11 месяцев назад

Worms Armageddon (1999) (but cooler)

Фото профиля ҳ̸Ҳ̸ҳ🦄ҳ̸Ҳ̸ҳ
ҳ̸Ҳ̸ҳ🦄ҳ̸Ҳ̸ҳ11 месяцев назад

looks a little bit like noita

Фото профиля Drarra
Drarra11 месяцев назад

Very impressive! especially the huge world from the other clip. Is this a standalone engine, or to be plugged into an existing engine via its computer shader api etc.?

Фото профиля Zolden
Zolden11 месяцев назад

It all runs under Unity. When I call it "my physics engine", I mean I created all physics from scratch, and it allows me building a physicsbased game on top of it.

Фото профиля Drarra
Drarra11 месяцев назад

Ooh awesome o: Hope you plan to release it as an asset one day :) (don't have plans for it myself I think, unless it could do what FluXY does in limited range, but there'd surely be demand)

Фото профиля Ali Khaleqi Yekta
Ali Khaleqi Yekta11 месяцев назад

Curious about the performance. Does it run smoothly (or at all) on mobile?

Фото профиля Zolden
Zolden11 месяцев назад

Performance depends on amount of particles and other quantity limits. It can run on mobiles with fewer particles. Maybe up to 10K. At some point I might make a mobile game with these physics.

Фото профиля Ali Khaleqi Yekta
Ali Khaleqi Yekta11 месяцев назад

Thanks for the explanation, that's very interesting! I think one concern is the huge array and operating on it on every frame. I don't think 100x100 would be enough for games though. If it's possible to load and unload groups of 10k particles at a time, that completes the puzzle

Фото профиля Alice Masters
Alice Masters11 месяцев назад

Noita 2 when looks amazing

Фото профиля luna 🦉
luna 🦉11 месяцев назад

This looks INSANE

Фото профиля Autistic Bratwurst
Autistic Bratwurst11 месяцев назад

Looks like Powder Games

Фото профиля Zolden
Zolden11 месяцев назад

It was the main inspiration.

Фото профиля Drew Brereton
Drew Brereton11 месяцев назад

time for some orbital mechanics? (I'm saying I would love to watch planets collide in this engine)

Фото профиля Zolden
Zolden11 месяцев назад

oh yeah, I planned making a simulation like this with massive planets colliding. Now with fluid dynamics it shall be epic.

Фото профиля BK
BK11 месяцев назад

If this was Minecraft 2.0 I would play it

Фото профиля Laszlo Vincze
Laszlo Vincze11 месяцев назад

Extremely Noita-coded. Hoping to see a cool sandbox game with this tech!

Похожие видео