23 comments

[ 3.5 ms ] story [ 61.0 ms ] thread
Author here, happy to answer any questions about the implementation. I'd also love to see any interesting patterns you find :)
Like you, I also loved Sebastian Lague's video on slime mold. Would you suggest starting on a CPU based version if I have no knowledge of shaders?
You can get some fun patterns even at much smaller scale, so a CPU-based approach should be entertaining enough. That said, I had no knowledge of shaders either before this project! I'm johnowhitaker on twitter or email - happy to chat if you want to talk specifics.
In green slime I saw a central ring that seemed to be reinforcing itself. It stayed circular for ages. And then equidistant parallel lines along each side.
Does not seem to work in Safari on Big Sur, all I see is js errors where the animations should be.
Same in Safari in iOS.

`viewof gl = TypeError: null is not an object (evaluating 'gl.viewport')`

I tried turning on WebGL and WebGPU in the Safari settings, but it just shows a black box on my iPhone 11
Safari is a bit behind on javascript and animations. I'm excited for the current Safari preview to become mainstream.
Doesn't work in Firefox either, including the dev edition which is usually more up to date:

"viewof gl = TypeError: can't access property "viewport", gl is null"

It does work in the new Edge and Chrome. Doesn't load at all in IE, but I take that as a good thing.

No problem for me in Firefox Nightly 89.0a1.
Hmmm... my work laptop can't run it with Firefox (regular, dev edition, or nightly), but my home PC can on regular Firefox. And it does run on my work laptop in Chrome. Curious.
I'm guessing there's no collisions from the original paper in this implementation?

Edit: also, are boundaries being blurred properly with wrapping enabled? It seems to create rectangular patterns(it could just be because of the initial conditions though).

I'll be honest I found the paper AFTER finishing the project - my implementation was based on the rough description in the video :) Collisions would be very hard to implement, but I will definitely take a look at the blurring - at the moment it doesn't wrap around.
This is super interesting. I've actually been looking for a way to render 100,000s of points in an animation similar to these so I will definitely take a look at using shaders now.
This reminds me of a coding adventure YT video that replicates slime molds in Unity, look at the end to see some high res videos of it - https://youtu.be/X-iSQQgOd1A
The article credits that video directly for inspiration.
Whoops, didn't see that. I thought it was a little peculiar that there were two things about simulating mold in a week in my feeds; but I just chalked it up to frequency bias. Now I'm wondering if all the 3d printed cycloidal drive stuff I've been seeing is more than just coincidence...
I wonder if previous 'Coding Adventures' videos have prompted similar 'coincidences' with people wondering why they are suddenly seeing procedural planets popping up all over the place :)