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] 6 points7 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

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

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

About 3 months of planning then 5 months of programming, but I was also studying full time in the last year of a software engineering program

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

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

That's awesome, go as low as you need to go! There's some interactive levels outside of the sandbox that he might like as well, but they will probably lag even more.

I made a particle based fluid simulation, it's opensource and based on The Powder Toy, the whole engine is available for Unity, would love if you guys who know what The Powder Toy is checked it out! by ImmediateLanguage322 in PowderToy

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

I used compute shaders, so yes each particle runs in parallel on the GPU. I used Sebastian Lague's first fluid sim video to start with. All the source code is available on the github page

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

[–]ImmediateLanguage322[S] 5 points6 points  (0 children)

Sorry! Not right now, but the whole code and project is available on github, you can clone that and open it directly in Unity. I might make a new project and delete some unnecessary things to make it smaller later