Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

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 görüntüleme • 11 ay önce •via X (Twitter)

73 Yorum

Rendezvous Extraordinaire profil fotoğrafı
Rendezvous Extraordinaire11 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
Rendezvous Extraordinaire11 ay önce

Please do!

Bananaft profil fotoğrafı
Bananaft11 ay önce

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

Tabot profil fotoğrafı
Tabot11 ay önce

Noita 2 confirmed?

Michal Pawlowski (Squeezed Hamster) profil fotoğrafı
Michal Pawlowski (Squeezed Hamster)11 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

It runs inside Unity. Thank you!

Michal Pawlowski (Squeezed Hamster) profil fotoğrafı
Michal Pawlowski (Squeezed Hamster)11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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) profil fotoğrafı
Michal Pawlowski (Squeezed Hamster)11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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) profil fotoğrafı
Michal Pawlowski (Squeezed Hamster)11 ay önce

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

Jonas Tyroller profil fotoğrafı
Jonas Tyroller11 ay önce

Veeery satsifying to watch already.

Alex profil fotoğrafı
Alex11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
Alex11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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

Alex profil fotoğrafı
Alex11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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

proc0 profil fotoğrafı
proc011 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

Correct, runs on GPU. Thank you.

Critter profil fotoğrafı
Critter11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
J Bet11 ay önce

@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 profil fotoğrafı
Zolden11 ay önce

@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 profil fotoğrafı
J Bet11 ay önce

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 profil fotoğrafı
J Bet11 ay önce

@CritterObserves somewhat realistic liquid* physics.

J Bet profil fotoğrafı
J Bet11 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

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

Alex profil fotoğrafı
Alex11 ay önce

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

Topotoy Labs profil fotoğrafı
Topotoy Labs11 ay önce

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

Sols 🐣 profil fotoğrafı
Sols 🐣11 ay önce

so smmooooooth! remarkable!

Stinky profil fotoğrafı
Stinky11 ay önce

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

coolerputt profil fotoğrafı
coolerputt11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
coolerputt11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
coolerputt11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
coolerputt11 ay önce

Ohhh ok ok makes sense, thanks alot❤️

Todd Lehman profil fotoğrafı
Todd Lehman11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
Todd Lehman11 ay önce

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 profil fotoğrafı
octane_turnip11 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

@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 profil fotoğrafı
octane_turnip11 ay önce

It makes sense. Thank you!

𝕊𝕖𝕥𝕙 “The Surge” 𝓒𝓱𝓪𝓶𝓹𝓲𝓸𝓷 profil fotoğrafı
𝕊𝕖𝕥𝕙 “The Surge” 𝓒𝓱𝓪𝓶𝓹𝓲𝓸𝓷11 ay önce

>wider than any game would need

BreathOfSpace profil fotoğrafı
BreathOfSpace11 ay önce

Looks nice.

International Ranni Simp profil fotoğrafı
International Ranni Simp11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

I'm glad it gave you these feelings!

M2 profil fotoğrafı
M211 ay önce

This reminds me of Noita

Mr Sean profil fotoğrafı
Mr Sean11 ay önce

Can it do live multiplayer?

Zolden profil fotoğrafı
Zolden11 ay önce

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

MindForge profil fotoğrafı
MindForge11 ay önce

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

Jordan Shurmer profil fotoğrafı
Jordan Shurmer11 ay önce

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

Tristan John profil fotoğrafı
Tristan John11 ay önce

A lemmings reboot is in order.

Denise Angle 🫧👻 profil fotoğrafı
Denise Angle 🫧👻11 ay önce

This is EXCELLENT.

SvenBrimstone profil fotoğrafı
SvenBrimstone11 ay önce

Worms Armageddon (1999) (but cooler)

ҳ̸Ҳ̸ҳ🦄ҳ̸Ҳ̸ҳ profil fotoğrafı
ҳ̸Ҳ̸ҳ🦄ҳ̸Ҳ̸ҳ11 ay önce

looks a little bit like noita

Drarra profil fotoğrafı
Drarra11 ay önce

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 profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
Drarra11 ay önce

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 profil fotoğrafı
Ali Khaleqi Yekta11 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

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 profil fotoğrafı
Ali Khaleqi Yekta11 ay önce

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 profil fotoğrafı
Alice Masters11 ay önce

Noita 2 when looks amazing

luna 🦉 profil fotoğrafı
luna 🦉11 ay önce

This looks INSANE

Autistic Bratwurst profil fotoğrafı
Autistic Bratwurst11 ay önce

Looks like Powder Games

Zolden profil fotoğrafı
Zolden11 ay önce

It was the main inspiration.

Drew Brereton profil fotoğrafı
Drew Brereton11 ay önce

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

Zolden profil fotoğrafı
Zolden11 ay önce

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

BK profil fotoğrafı
BK11 ay önce

If this was Minecraft 2.0 I would play it

Laszlo Vincze profil fotoğrafı
Laszlo Vincze11 ay önce

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

Benzer Videolar