Rendered at 22:23:40 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
nlawalker 6 hours ago [-]
If you haven't tried Animal Well, give it a shot. The whole game and its custom engine are like 35MB and it's filled with really cool visuals and physics powered by fluid equations.
So once upon a time I stumbled upon simulating fluids in gamedev and I really wanted to learn how it works. Fast forward 2 months and I decided to write down everything I learned to hopefully make it easier for others in the future!
magicalhippo 4 days ago [-]
Fluid sims are just so darn fun! Nice writeup, very accessible.
Couple of notes, I think you forgot to apply timestep when adding rocket exhaust velocity, pretty sure it should be
You need to compensate by scaling up flame_velocity_amount, I used 85, seemed about the same.
myzek 4 days ago [-]
Yeah it seems I missed that, adding the rocket at the end was a cherry on the top and I was so exhausted already I'm surprised it even works lol
magicalhippo 3 days ago [-]
It made it very fun to play with though :D
brandonpelfrey 7 hours ago [-]
Great job. I have spent a lot of time working on fluid simulations (I still am). Glad to see more people still mesmerized. If you’re interested, this rabbit hole goes very deep.
nick__m 8 hours ago [-]
excellent article, great vulgarisation and human written !
Thank you
markstock 5 hours ago [-]
Before you go adding vorticity confinement, consider performing a higher-order backward advection scheme (Runge-Kutta 2nd or similar), and using a higher-order interpolation method (triangle-shaped cloud instead of bilinear).
In my implementations I use 4th order for both and vortices stick around a lot longer.
For anyone wanting to dive further, Fluid Simulation for Computer Graphics by Robert Bridson is the definitive textbook.
jedimastert 4 hours ago [-]
I appreciate the AI disclosure, I hope that becomes normalized
amarant 6 hours ago [-]
This is great! When I have some leftover time I want to try copying this implementation for 3D. I reckon I could get away with minimal modifications to support the third axis...I think...
That'll perform even worse though, hopefully my CPU can handle it or I'm gonna need a lot of leftover time to make a shader
markstock 5 hours ago [-]
You are correct: Stable Fluids extends to 3d relatively easily.
frankdlc222 4 days ago [-]
This is really cool. I love how much detail you went into explaining the setup and walking through each piece of the simulation. Definitely bookmarking this to play around with later!
amelius 7 hours ago [-]
Did they test if it satisfies the relevant conservation laws?
brandonpelfrey 7 hours ago [-]
It won’t satisfy those laws. It’s also not a goal though of this post.
amelius 6 hours ago [-]
I mean if you're writing a ray tracer and the reflected light has more intensity than the light sources, then that's not desired. You can have the same sort of thing going on with a fluid simulation.
dahart 2 hours ago [-]
Sure, but conservation in ray tracing is also a goal that not everyone has and isn’t required for teaching or games or making pretty & even plausible images. There are plenty of situations in both ray tracing and fluid simulation where conservation is not desirable.
markstock 5 hours ago [-]
One of the nice aspects of Stable Fluids is that you don't need to iterate the pressure correction terms to convergence. Just run a fixed number of Jacobi or Gauss-Seidel sweeps and keep performance consistent. The only drawback of this is some mass loss in areas, which for the present purposes is acceptable.
nryoo 8 hours ago [-]
[flagged]
analog8374 7 hours ago [-]
Oh don't let us pinch zoom. That would be a disaster.
zamadatix 7 hours ago [-]
Assuming you mean the site - pinch zoom & pan works for me on Windows and iOS?
analog8374 7 hours ago [-]
well android chrome doesn't
OsrsNeedsf2P 15 minutes ago [-]
Web exports from Godot (and other game engines) played on mobile is a hard place between compatibility, performance, and many other factors. It's getting better, but very slowly. Try on PC
https://store.steampowered.com/app/813230/ANIMAL_WELL/
Couple of notes, I think you forgot to apply timestep when adding rocket exhaust velocity, pretty sure it should be
You need to compensate by scaling up flame_velocity_amount, I used 85, seemed about the same.Thank you
In my implementations I use 4th order for both and vortices stick around a lot longer.
That'll perform even worse though, hopefully my CPU can handle it or I'm gonna need a lot of leftover time to make a shader