FacelessJim 11 hours ago

I did something very similar some years ago while learning metal [1], I recall them being called "boids". I spent days just playing with the various parameters, luckily my implementation was not as pretty as the one offered in the OP, otherwise I would have lost weeks instead.

[1] https://github.com/ghyatzo/metalplay?tab=readme-ov-file

  • _0ffh 11 hours ago

    The original boids, or "bird-oid objects", was an algorithm and program to simulate emergent flocking behaviour from simple rules in birds. It has spawned a kind of genre, or at least a multitude of copies/derivatives, often collectively referred to as "boids".

  • stirfish 9 hours ago

    I've been vibe coding boids implementations because my toddler likes to look at them. Here's one where the attributes of the boids (alignment, etc) are hooked up to frequency generators like a sequencer: https://neuroky.me/boidsine.html?boidCount=1700&hue=sine3&se...

    I can move them to GitHub or something, but they are currently hosted in my pantry. Please be gentle :)

smusamashah 3 days ago

The 36 Points linked in the article is very fascinating https://www.sagejenson.com/36points/#22_transmission_tower

Press numbers and letters on this page to switch to one of the variations.

  • ethan_smith 16 hours ago

    The 36 Points is part of Sage Jenson's visualization of Jeff Jones' "Artificial Nature" research, which pioneered many of these reaction-diffusion and agent-based models for simulating emergent biological phenomena.

jasonjmcghee 2 days ago

Absolutely beautiful visualizations.

These are way beyond anything I've done, but you can actually do these with compute shaders in real time and they look quite good.

I played with using Godot to do this kind of slime simulation (inspired by Sebastian Lague) when they released compute shaders: https://github.com/jasonjmcghee/compute-shaders?tab=readme-o....

Edit:

Here's a good webgpu demo (not by me) of this kind of simulation https://shridhar2602.github.io/WebGPU-Slime-Simulation/

romulobribeiro 19 hours ago

This is something that Daniel Shiffman from coding train would consider for the coding challenges