

GPU simulation - Moving simulation logic to the GPU.Spatialhashing/Quadtree - splitting the screen into a grid and only updating cells with particles in it.I've got the options for optimization narrowed down to a pretty small list: Name, Color(table containing 4 values, r,g,b,a), Update logic function, Color variation modifier (0 = no color variation between particles) These numbers refer to an index inside a table which contains particle data. The way my simulation works is that I have a large table that contains numbers. The simulation can handle 59k particles at 60FPS however pretty much anything over that amount will cause the FPS to plummet so I've been thinking of other ways to optimize it. I've been making it in Love2D and I'm please with what I got so far.

So, for the past couple of weeks, I've been working on a falling sand simulation inspired by games such as The Powder Toy, Noita, and Sandspiel.
