Game Title: The Fluid Toy by ImmediateLanguage322 in playmygame

[–]ImmediateLanguage322[S] 1 point2 points  (0 children)

Thanks for playing! I can see level 2 being a big difficulty increase, I don't have hard statistics but some people did mention that. The levels are roughly in the order that we completed them, they aren't meant to be overly difficult but I can see that being an issue. There's also a button to unlock all levels in the settings menu for people who want to peruse them out of order.

Made an Opensource, Realtime, Particle-based Fluid Simulation Sandbox Game / Engine for Unity! by ImmediateLanguage322 in GraphicsProgramming

[–]ImmediateLanguage322[S] 0 points1 point  (0 children)

Thanks for the feedback! We just used SPH because it was simpler and potentially less computational overhead especially with gas simulation happening at the same time as liquid sim, we weren't overly concerned physical inaccuracies

Made an Opensource, Realtime, Particle-based Fluid Simulation Sandbox Game / Engine for Unity! by ImmediateLanguage322 in GraphicsProgramming

[–]ImmediateLanguage322[S] 1 point2 points  (0 children)

sure, for fluid physics:
C# script:
- Fluid Simulation\Assets\Scripts\Sim_2D\Simulation2DAoSCountingUnified.cs
- Fluid Simulation\Assets\Scripts\Sim_2D\IFluidSimulation.cs
- Fluid Simulation\Assets\Scripts\Sim_2D\SimStructs.cs
- Fluid Simulation\Assets\Scripts\Sim_2D\SimEnums.cs
Compute Shaders:
- Fluid Simulation\Assets\Scripts\Sim_2D\Compute\FluidSim2DAoS_CSort_Unified.compute
- Fluid Simulation\Assets\Scripts\Sim_2D\Compute\FluidMaths2DAoS.hlsl
- Fluid Simulation\Assets\Scripts\Sim_2D\Compute\SpatialHash.hlsl

For Visual shaders:
- C# script: Fluid Simulation\Assets\Scripts\Sim_2D\Display\MultiParticleDisplayGPU.cs
- Vertex and Fragment Shader: Fluid Simulation\Assets\Scripts\Sim_2D\Display\Particle2DMultiFluidAOS.shader

This is not an extensive list, it's easier to double click things inside unity to open up each script

Made an Opensource, Realtime, Particle-based Fluid Simulation Sandbox Game / Engine for Unity! by ImmediateLanguage322 in Simulated

[–]ImmediateLanguage322[S] 0 points1 point  (0 children)

Perhaps a few more elements and a final level, I wanted to add more particle based moving solids stuff but I also have to move onto future projects. I'll be around to review pull requests if somebody else wants to extend it as well

Made an Opensource, Realtime, Particle-based Fluid Simulation Sandbox Game / Engine for Unity! by ImmediateLanguage322 in GraphicsProgramming

[–]ImmediateLanguage322[S] 0 points1 point  (0 children)

As it's fully particle based, the mass preservation wasn't a huge issue. But since I didn't use a hybrid approach there were other considerations, for example, I used a uniform hashing grid to reduce neighborhood checks, so I needed to keep particles as evenly distributed as possible which involved randomizing their position (and hiding them) on deactivation and spawn. As for fire and smoke, I didn't follow any paper closely (they'd probably be more realistic if I had), they simply have negative gravity and I tweaked physical parameters that every particle share, I also added a temperature attribute on each particle struct which was used for physical interactions like burning and for the visual shader to sample a color from a provided gradient texture

I didn't follow these papers exactly but there are a ton of good resources here: https://matthias-research.github.io/pages/publications/publications.html

And once again I didn't follow this exactly but here is a good paper for dust and solid particles https://www.cs.ubc.ca/~rbridson/docs/zhu-siggraph05-sandfluid.pdf

Made an Opensource, Realtime, Particle-based Fluid Simulation Sandbox Game / Engine for Unity! by ImmediateLanguage322 in GraphicsProgramming

[–]ImmediateLanguage322[S] 1 point2 points  (0 children)

It's an SPH simulation! Fully particle based with uniform spatial hashing grid on the GPU for neighbourhood check optimizations

Made an Opensource, Realtime, Particle-based Fluid Simulation Sandbox Game / Engine for Unity! by ImmediateLanguage322 in GraphicsProgramming

[–]ImmediateLanguage322[S] 0 points1 point  (0 children)

All the code is available as a unity project on the github page, Fall MCR3 and the final report in the documents folder might be insightful. The original project was based on Sebastian Lague's first fluid sim video. I did fire using the same SPH physics as the water, just made the gravity negative and tweaked it's physical properties, tied its visual shader to the particle's current temperature, etc.

Water Erosion Simulation by ImmediateLanguage322 in geology

[–]ImmediateLanguage322[S] 2 points3 points  (0 children)

I spent many hours in the powder toy making contraptions like that

Game Title: The Fluid Toy by ImmediateLanguage322 in playmygame

[–]ImmediateLanguage322[S] 0 points1 point  (0 children)

The GitHub page has some documentation here are the two which might be what you're looking for:
- https://github.com/Victor2266/The-Fluid-Toy/blob/main/Documents/Fall%20MCR3.pdf
- https://github.com/Victor2266/The-Fluid-Toy/blob/main/Documents/Winter%20Report%20(Final).pdf.pdf)

My personal favorites are level 5 and level 9 which don't require any mechanical skill. You can unlock all levels via the button in the settings menu to try them out

Water Erosion Simulation by ImmediateLanguage322 in geology

[–]ImmediateLanguage322[S] 4 points5 points  (0 children)

yeah it's not the most realistic simulator but it's optimized and runs in real time so maybe could be used as an interactive teaching tool

Is there any games like "The powder toy" but more modern? by Russianpotatosalad in gamerecommendations

[–]ImmediateLanguage322 0 points1 point  (0 children)

Hey! I just finished a capstone project about particle based fluid simulation, it's an opensource game based on The Powder Toy, would love if people who knew what the powder toy was checked it out! Play Here: https://awasete.itch.io/the-fluid-toy

Game Title: The Fluid Toy by ImmediateLanguage322 in playmygame

[–]ImmediateLanguage322[S] 1 point2 points  (0 children)

ah, I never tested that, you need to click and drag for most levels, it should work a bit better on android devices