Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Hexells – Self-Organising System of Cells Drawing Textures [WebGL] (znah.net)
200 points by sva_ on April 25, 2022 | hide | past | favorite | 35 comments


Crazy to see this on HN today, I just integrated this into my desktop environment as a "Live Wallpaper" yesterday. I disabled the interaction and put the model flip on a 20 second timer though.

https://www.dustinbrett.com/


are there multiple people interacting with the screen at the same time?

i found that the entire pattern changed rather quickly anytime i was enjoying it, which felt a bit too chaotic for me to spend more than a minute on it. cool page though


I think it's just the script doing this itself, when you're not interacting? I'm not sure, I didn't make this, just found it and thought others would enjoy it. But the random interactions are indeed pretty annoying.

edit: seems like there is a socket syncing it.

I tried to disable it by entering 'window.demo.ws.close()' in the console, but the script just reopens the socket.

edit2: Ahh, if you "swipe" up it says "you control x screens" (x=126 in this case). Seems like there's always one controling it? Sometimes it outputs "control is busy". Weird thing.


Yeah I tried it on my phone and it said something about how I'm controlling 153 views, and then whatever I was doing on my phone was showing on my laptop in real time.

Actually pretty impressive if you ask me


Seems like it changes if you swipe horizontally about a 3 quarters of the screen. Pretty trippy effects


it opens a websocket that seems to be receiving touch events over the network, so my guess is: yes


Very cool, but having other people mess with the patterns is pretty annoying.


Not to mention the resource utilization. I feel the code could be more optimized for a WebGL-based project.


Pretty, but does anyone know/understand what the underlying local rules are governing the global imagery? Seems like the author is randomly cycling through some variations of underlying parameters to make pretty dynamic pictures? Just curious. Personally, for things like this I like to be able to set the parameters myself and observe the results. It gives me more of a sense of exploring the unknown that can be repeated by using the same parameters.


I'd noticed it had a big models.json file which had a big PNG file encoded inside it. https://znah.net/hexells/models.json

Also seems to be based on work mentioned here https://distill.pub/selforg/2021/textures/ which has a cool interactive widget at the top.


There's also a tutorial by the guy who made that site in the OP https://selforglive.github.io

I haven't gone through it yet, but plan to in the next few days.


Oh nice! I will check out this article, hadn't noticed it. I ended up going off of the GitHub repo. https://github.com/znah/hexells when I turned this into a Live Wallpaper.


I originally found all this by going on his Twitter account

https://nitter.net/zzznah

He posts/retweets pretty interesting stuff, such as https://nitter.net/evoluchico/status/1503307804043583488#m


It's a 'neural cellular automata', there are several video tutorials about it on Alexander Mordvintsev's YouTube.

I was re-watching one of them last night after maybe a 1.5 month gap and I was astounded how much better I understood it the second time! (The puzzle pieces seemed to fit together much better) Fascinating work!


If it feels similar to a fluid simulation, that's because it is how many grid based fluid simulations are computed. They take into account density, pressure, velocity, divergence, etc, of neighboring cells, and compute the state of the current cell. The higher resolution the grid (can be a 2d or 3d grid), the higher quality the simulation.


There are so many great ideas in this!

For developers, here's a simpler but still cool GPU cellular automaton with code and a tutorial:

https://nullprogram.com/blog/2014/06/10/


As other said already, it's very cool, uses quite some CPU (fans go brrrr), and it sometimes feel a bit sad to get the pattern changed in your stead.

I wanted to add that I'm in awe in the very subtle way the colors are chosen, which has an almost Impressionist quality in some cases. Little variations of hue that are fairly neutral, but where you can see the rich color variations when focusing on the details. Sometimes there seems to be little patches of light in an abstract pattern, with a physical quality. The cell size can also create a perspective effect, particularly striking with a wave pattern. It's so evocative!


It's very pretty of course, but I am curious, the text says,

> that was trained to build textures using neighbour communication only.

How was it trained? on what data? I imagine trained on highly local patterns found in natural images, but I'm trying to imagine what the cost function might have been.


https://distill.pub/2020/growing-ca/ - you can either train them to generate expected outcomes

https://distill.pub/selforg/2021/textures/ - this is the paper the authors refer to. Here, the network is trained to maximize activation of another filter of a CNN pretrained network (VGG, for example), which typically correspond to certain textures and shapes. The losses are typical style/gram losses.


Thanks! Makes a lot of sense actually.


guess I'll be using that for my next music video ;)

Given the music I/we make fits the trippy trance pattern quite well, this ought to work quite well. If I capture someone else also fiddling with the patterns, all the better. Perfect now it would be to integrate a lua bridge so I can remote control the pattern from a side-chain on the master bus in reaper ... if any of you has something like that figured out already, please point it out to me, thanks in advance!

(if any of y'all are in for some home-grown manual psychedelic trance, feel free to check out our music at https://www.youtube.com/channel/UCGDW9hicaeV9Z15gFpXcANw )


I'd be curious to play with something like this on a Penrose tesselation.


That's pretty cool! Can it be turned into a screensaver?


i have come to expect webgl projects to munch on my resources like crazy. this project was no exception. looks cool but had to close the tab after a few seconds.



Electric Sheep will always hold a special place for me.


What's the fractal projection used? It's super cool.


This is amazing, but damnit, why do people disable the back button? I've been seeing so many people do this lately that I wonder if I've missed a memo.


Different memo but worth checking out as well:

Please don't complain about tangential annoyances—things like article or website formats, name collisions, or back-button breakage. They're too common to be interesting.

https://news.ycombinator.com/newsguidelines.html


Thanks! I wasn't even aware of this guideline.


It's not disabled for me. If you note, it updates a hash as you swipe, it probably is just that you used it for a minute and the list of hashes was deeper than your patience. Just a bad interaction the author didn't prioritize


Indeed. To be fair, I clicked the back button about five times before getting cranky and losing patience. It wasn't even remotely obvious that pressing it did anything, since the state of things is changing whether I interact with it or not.


Super awesome. Watch out -- Stephen Wolfram might get all excited and jealous!!!


I feel like I'm missing some context here... care to share?


https://en.wikipedia.org/wiki/Rule_30

Wolfram believes that Rule 30, and cellular automata in general, are the key to understanding how simple rules produce complex structures and behaviour in nature




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: