Hacker News new | ask | show | jobs
by Slackermanz 643 days ago
I also used a GPU shader-based approach (custom vulkan engine), but used a cellular-automata-first implementation for exploring and evolving through these emergent wonderlands.

Unfortunately, my writeup isn't anywhere near as coherent on the technical/engine details, and the actual code is a right mess. It's more focused on the pattern family design.

Overall, my results came out very similar to Lenia in many ways, and some discovered patterns also directly resemble reaction diffusion.

---

https://slackermanz.com/understanding-multiple-neighborhood-...

https://www.shadertoy.com/user/SlackermanzCA

https://www.youtube.com/@Slackermanz/videos

4 comments

That is extremely cool, very fine work thanks for sharing!

I agree some of the MNCA examples are very reminiscent of things that various RD's do, the one titled "A more complex MNCA example" has a similar oscillating-worms feel to something I found in a modified Gray Scott:

https://youtu.be/Naj_J8aznyk?si=lb0WrkrUaCDg-Rzl

I just took a look at your Shadertoy profile and I liked it a lot

I want to try my hand at writing such a general case continuous cellular automata engine, but I first need to dive into the literature around Lenia, and this is only one of the many things I want to try...

Anyway, thanks for sharing your work. I took a quick look at your write-up and will definitely come back to it later.

I've often thought it would be heaps of fun to try to build a playful dynamic UI (perhaps for use in a game or something) where all the elements are are made from 'living' components, say CA's like your MNCA or perhaps reaction-diffusion. I would love to collaborate on some experiments around that if you'd be interested?
Another commenter shared https://github.com/GollyGang/ready which may be what you have in mind. I clearly see the fun in building such a thing from scratch though, and I intend to make a simple web-based one. Let me know if you create a repo for you project, I'll make sure to take a look and try to contribute if I'm comfortable with the tech stack.

Edit : Ahah I just noticed the "other commenter" is you

Heheh indeed it was! - What I was saying above though is not just for exploring RDs but more for actually building things out of them!!

It's a rather out-there (non-serious) idea where all the usual 'stuff' of a GUI is actually made out of dynamically-simulated-CA/RD cells interacting with each other.

Let's say for example once one had developed some way to reliably simulate a dynamic but smooth and stable enclosed area with a boundary (like a bag?), well you could call that layer a 'window'-ish-type-thing and constrain the sub-simulations (ie the window-widgets) to only grow inside the window. Window-docking could perhaps have behavior a bit like bubbles-adhering-to-each-other as a natural outcome of the simulated-nature of them and wobbly-windows could be made to be a natural outcome of there being the wave-equation as one of the formulae being used, and other things like that.

It's definitely an out-there idea not really intended for regular-consumption but I think it could be super fun to explore especially for playful in-game-UI use-cases.

Sounds good! Always down to collab on experiments with like minds. I'll send an email your way with contact details!
Damnnn, sweet! I'm very excited to hear that!!

I've been checking out some of the huge amount of output that you and Jason from Softology have made with MNCA, so awesome to see, top work!!

I also cloned the vulkan-mnca repo from your github and it compiled and ran without any issues on my thankfully very-recently completely-updated Gentoo. I'm over the moon about that!! I've been meaning to try to wrap my head around what vulkan is like to work with and this looks like a perfect example for the kinds of things I'd want to play with! Utterly choice to connect with you, thankyou HN for being so choice! (especialy dang!)

Your work with MNCAs is amazing and an inspiration.