home.social

#boids — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #boids, aggregated by home.social.

fetched live
  1. Поведение толпы по-простому: от стай скворцов до тысячи юнитов в кадре

    Всем привет! Меня зовут Гриша Дядиченко, я технический директор и основатель White Label Games. Уже больше десяти лет работаю с компьютерной графикой, AR/VR и компьютерным зрением — в основном это заказная разработка, плюс собственные прототипы по вечерам, до которых дотягиваются руки. Сталкивались ли вы с ситуацией, когда у вас в игре уже двести юнитов, а FPS почему-то уехал, хотя визуально на сцене ничего особенного нет? Или с тем, что хочется сделать настоящую орду — плотную, с реакцией на стрельбу, обтекающую укрытия — а получается стайка, которая либо разбегается как пыль, либо слипается в один шарик и едет им по всей карте? Чтож, давайте по порядку. Как это устроено у настоящих скворцов над Римом и причём тут код, какие именно три правила Рейнольдса и как они балансируются весами, как сетка побеждает O(N²) и где она сама ломается, что такое ORCA и как она разруливает встречные потоки в коридоре, как steering behaviors дают агенту цель и обход препятствий, и что лежит под капотом конкретных шипнутых игр от AC Unity до World War Z.

    habr.com/ru/articles/1049500/

    #Симуляция_толпы #boids #правила_Рейнольдса #эмерджентность #мурмурация #crowd_simulation #spatial_hash #RVO #ORCA #steering_behaviors

  2. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  3. It's Friday, spring is here (a bit too early) — it feels like a good day to share another minute recording of a variation of my Actiniaria piece which I worked on last spring and think also captures that much needed #BloomScrolling spirit...

    See #Actiniaria for more context...

    (Note: Sadly Firefox still doesn't respect the Rec2020 color profile in the video, please download the video or use Chrome or Safari for full viewing pleasure...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #GenArtAPI #Boids #Color #Video #Animation #TypeScript #WebGL

  4. 👨‍💻🤔 Ah yes, because nothing screams "cutting-edge innovation" like using sub-millisecond functional quadtrees to simulate digital birds in 2025. Clearly, the world has been waiting for a generous representation of #Boids to revolutionize... #online demos? 🐦📉
    lbjgruppen.com/en/posts/flocki #cuttingedge #innovation #digitalbirds #simulation #techtrends #demos #HackerNews #ngated

  5. 👨‍💻🤔 Ah yes, because nothing screams "cutting-edge innovation" like using sub-millisecond functional quadtrees to simulate digital birds in 2025. Clearly, the world has been waiting for a generous representation of #Boids to revolutionize... #online demos? 🐦📉
    lbjgruppen.com/en/posts/flocki #cuttingedge #innovation #digitalbirds #simulation #techtrends #demos #HackerNews #ngated

  6. Ready for Pelikan Hub next month...

    Hope that this time next year, one of the black ones will no longer be black.

    #fountainpens
    #sexy
    #boids

  7. Poetry with Boids! New piece out combining swarming a-life algorithms with language attractors, the words of this interactive poem forming into different visual and semantic structures. Preview below, live link here: ailiteraryreview.co.uk/issue06

    #poetry #art #generative #boids #alife

  8. Cardinals and Blue Jays are competing in the World Series of peanut-gathering. Blue Jays are winning due to sheer numbers. (We have a gang that shows up every morning. They are hilarious.)

    #birds #boids

  9. Cardinals and Blue Jays are competing in the World Series of peanut-gathering. Blue Jays are winning due to sheer numbers. (We have a gang that shows up every morning. They are hilarious.)

    #birds #boids

  10. A poster for a 90 seconds film about a dream. I've made it to take part in the "Dream Animation Festival".

    #mywork #art #animation #dream #blender #3D #pointcloud #boids #particles

  11. More #Actiniaria progress: Added a soft global constraint to create more of a (macro)organism feel w/ a sense of belonging and fuzzy boundary. Also slowly updating the behavior/relationship matrix between the six different types now, to create varying temporary alliances...

    (Note: Sadly Firefox doesn't respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL

  12. More #Actiniaria progress: Added a soft global constraint to create more of a (macro)organism feel w/ a sense of belonging and fuzzy boundary. Also slowly updating the behavior/relationship matrix between the six different types now, to create varying temporary alliances...

    (Note: Sadly Firefox doesn't respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL

  13. Found some time last night to implement multi-behaviors and I'm very excited about where this is going... 😍 The video shows 6 different types interacting with (and avoiding) each other. Next step is to vary the behavior matrix over time, causing changing alliances and breakup behaviors...

    See #Actiniaria for more context...

    (Note: Sadly Firefox doesn't respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL

  14. Found some time last night to implement multi-behaviors and I'm very excited about where this is going... 😍 The video shows 6 different types interacting with (and avoiding) each other. Next step is to vary the behavior matrix over time, causing changing alliances and breakup behaviors...

    See #Actiniaria for more context...

    (Note: Sadly Firefox doesn't respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)

    #GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL

  15. Similar to my #LinearMemory piece from last year (check the hashtag for references), these current #Actiniaria explorations make me fully appreciate all the research, efforts and supporting hardware behind the DCI-P3 & Rec.2020 color spaces. The intensity (and subtlety) of some colors & combinations are just stunning (to me), and I don't mean this in any ableist way (just enjoying whilst I still can!)...

    Also still amazed that something like this runs at a smooth 60fps @ 2160x2160 UHD resolution on a mobile device with a just Snapdragon 2 chipset... As part of my advisory role @ day job, over the past few months I've been tasked with optimizing artworks for almost a dozen generative/algorithmic artists, often achieving 2-4x framerate improvements... Very much feeling a longer blog post re: code craft vs code art coming up, hoping to connect them more...

    "To understand a program you must become both the machine and the program." — Alan Perlis

    (Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL

  16. Similar to my #LinearMemory piece from last year (check the hashtag for references), these current #Actiniaria explorations make me fully appreciate all the research, efforts and supporting hardware behind the DCI-P3 & Rec.2020 color spaces. The intensity (and subtlety) of some colors & combinations are just stunning (to me), and I don't mean this in any ableist way (just enjoying whilst I still can!)...

    Also still amazed that something like this runs at a smooth 60fps @ 2160x2160 UHD resolution on a mobile device with a just Snapdragon 2 chipset... As part of my advisory role @ day job, over the past few months I've been tasked with optimizing artworks for almost a dozen generative/algorithmic artists, often achieving 2-4x framerate improvements... Very much feeling a longer blog post re: code craft vs code art coming up, hoping to connect them more...

    "To understand a program you must become both the machine and the program." — Alan Perlis

    (Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL

  17. Been working on various shader & behavior update and options for #Actiniaria... it's all starting to come together! 🤩

    (Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please use Chrome or Safari for viewing...)

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL

  18. Been working on various shader & behavior update and options for #Actiniaria... it's all starting to come together! 🤩

    (Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please use Chrome or Safari for viewing...)

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL

  19. Slowly narrowing down color choices... Here's a contact sheet of some more theme candidates. Still going through a few hundred more I've pre-selected so far, and these ones here are all using the same background color...

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color

  20. Slowly narrowing down color choices... Here's a contact sheet of some more theme candidates. Still going through a few hundred more I've pre-selected so far, and these ones here are all using the same background color...

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color

  21. Btw. Here're some more collected links to earlier experiments/stages of development (from the last 1.5 years) — If anything, this all is yet another example of my personal slow-cook art-making/revisiting approach... 😅

    SDF obstacles (static & animated):
    mastodon.thi.ng/@toxi/11169836
    mastodon.thi.ng/@toxi/11169891

    Path attraction/following:
    mastodon.thi.ng/@toxi/11170412
    mastodon.thi.ng/@toxi/11170416

    Boids vs. Voronoi:
    mastodon.thi.ng/@toxi/11172036

    Visualizing motion/direction vectors:
    mastodon.thi.ng/@toxi/11168883

    #HowToThing mini tutorial:
    mastodon.thi.ng/@toxi/11130843

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #TypeScript

  22. Btw. Here're some more collected links to earlier experiments/stages of development (from the last 1.5 years) — If anything, this all is yet another example of my personal slow-cook art-making/revisiting approach... 😅

    SDF obstacles (static & animated):
    mastodon.thi.ng/@toxi/11169836
    mastodon.thi.ng/@toxi/11169891

    Path attraction/following:
    mastodon.thi.ng/@toxi/11170412
    mastodon.thi.ng/@toxi/11170416

    Boids vs. Voronoi:
    mastodon.thi.ng/@toxi/11172036

    Visualizing motion/direction vectors:
    mastodon.thi.ng/@toxi/11168883

    #HowToThing mini tutorial:
    mastodon.thi.ng/@toxi/11130843

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #TypeScript

  23. Work in progress...

    Finally finding some time to continue working on my earlier thi.ng/boids experiments, now also using WebGL instancing and floating point render textures for super-smooth blending/trails to create aesthetics reminiscent of sea anemones...

    (Update: I've decided on the beautiful-sounding and fitting #Actiniaria as project title...)

    (Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please use Chrome or Safari for viewing...)

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL

  24. Work in progress...

    Finally finding some time to continue working on my earlier thi.ng/boids experiments, now also using WebGL instancing and floating point render textures for super-smooth blending/trails to create aesthetics reminiscent of sea anemones...

    (Update: I've decided on the beautiful-sounding and fitting #Actiniaria as project title...)

    (Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please use Chrome or Safari for viewing...)

    #ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL

  25. Grazie a @ferdinky possiamo provare un'implementazione dei famosi "boids" sul Commodore 64. Il programma, realizzato in Simon's BASIC, non può rivaleggiare graficamente con altre versioni di questi "steering behaviors" che si sono succedute in quasi 40 anni, ma è comunque un'ottima occasione per tornare a riparlarne. #commodore64 #simonsbasic #boids #retrocomputing youtube.com/watch?v=-4TJYyHNMg

  26. Grazie a @ferdinky possiamo provare un'implementazione dei famosi "boids" sul Commodore 64. Il programma, realizzato in Simon's BASIC, non può rivaleggiare graficamente con altre versioni di questi "steering behaviors" che si sono succedute in quasi 40 anni, ma è comunque un'ottima occasione per tornare a riparlarne. #commodore64 #simonsbasic #boids #retrocomputing youtube.com/watch?v=-4TJYyHNMg

  27. Artificial Life Newsletter, May edition is out!

    This time we brought the review of a book about solarpunk creatures, as well as a reminder about the solarpunk conference.

    We also got reviews for three fiction books that describe unique and different ways of life.

    On the video side, we got a link to a video about boids and self driving cars, also links to a workshop on Universal Communication by Crosslabs.

    This and more here:

    alife-newsletter.github.io/New

    #solarpunk #ArtificialLife #boids #aliens

  28. Artificial Life Newsletter, May edition is out!

    This time we brought the review of a book about solarpunk creatures, as well as a reminder about the solarpunk conference.

    We also got reviews for three fiction books that describe unique and different ways of life.

    On the video side, we got a link to a video about boids and self driving cars, also links to a workshop on Universal Communication by Crosslabs.

    This and more here:

    alife-newsletter.github.io/New

    #solarpunk #ArtificialLife #boids #aliens

  29. A little video preview of a section of the upcoming new thi.ng website:

    makertube.net/w/hDfuEUudsjskRt
    (edit: moved from YT to makertube)

    It's so nice for me to see these 10 computational art pieces & experiments all in one place (and most of them interactive & randomizable), also in the knowledge that apart from using @vite for bundling, everything else is entirely made using thi.ng/umbrella packages and tooling (three of the pieces are also partially written in #Ziglang / #WASM). Unlike the video (which at 1080p is ~110MB), on the website these ten realtime evolving animations together are only a ~650KB download (i.e. ~0.55% filesize) and all of them are running fluidly even on my old iPhone 11! Thanks to using `IntersectionObserver`, only a single piece is active at any one time...

    Another side effect from this exercise: All these projects are only a small selection from the past 3 years, but most of them haven't been updated in the last 1-2 years. There were breaking changes (esp. the Zig parts, which I still have to largely address), but most of the supposedly breaking changes in #ThingUmbrella packages were actually super easy to address. I'm only mentioning this, since it's great to sometimes be completely in a "normal" user's shoes and see how painful (or not!) some of these changes are/can be... I'm often losing a lot of time contemplating making wide-ranging (but IMHO better & needed) changes, but always also trying to consider the effects of those on other people... This anti-bitrot exercise absolutely helped me to vindicate this approach!

    #ThingUmbrella #Website #Design #Art #GenerativeArt #Computational #FluidSim #CellularAutomata #Boids #PixelArt #Video #TypeScript #WebAssembly

  30. A little video preview of a section of the upcoming new thi.ng website:

    makertube.net/w/hDfuEUudsjskRt
    (edit: moved from YT to makertube)

    It's so nice for me to see these 10 computational art pieces & experiments all in one place (and most of them interactive & randomizable), also in the knowledge that apart from using @vite for bundling, everything else is entirely made using thi.ng/umbrella packages and tooling (three of the pieces are also partially written in #Ziglang / #WASM). Unlike the video (which at 1080p is ~110MB), on the website these ten realtime evolving animations together are only a ~650KB download (i.e. ~0.55% filesize) and all of them are running fluidly even on my old iPhone 11! Thanks to using `IntersectionObserver`, only a single piece is active at any one time...

    Another side effect from this exercise: All these projects are only a small selection from the past 3 years, but most of them haven't been updated in the last 1-2 years. There were breaking changes (esp. the Zig parts, which I still have to largely address), but most of the supposedly breaking changes in #ThingUmbrella packages were actually super easy to address. I'm only mentioning this, since it's great to sometimes be completely in a "normal" user's shoes and see how painful (or not!) some of these changes are/can be... I'm often losing a lot of time contemplating making wide-ranging (but IMHO better & needed) changes, but always also trying to consider the effects of those on other people... This anti-bitrot exercise absolutely helped me to vindicate this approach!

    #ThingUmbrella #Website #Design #Art #GenerativeArt #Computational #FluidSim #CellularAutomata #Boids #PixelArt #Video #TypeScript #WebAssembly

  31. #Boids are fun! #Boids are beautiful! They are an incredibly simplified model of the interaction between elementary agents, yet the macroscopic organization is always tantalizing...

    Based on an existing implementation by Ben Eater, which is openly available on his website eater.net/boids and #github github.com/beneater/boid, I did a quick hack to make it run on #GithubPages:

    laurentperrinet.github.io/boid

    I tuned the parameters to have a stable pattern between chaos and order, and still have a handful of clusters after 12h of running. Be careful, the shape of your browser window affects the trajectory and may take you out of such a state.

  32. #Boids are fun! #Boids are beautiful! They are an incredibly simplified model of the interaction between elementary agents, yet the macroscopic organization is always tantalizing...

    Based on an existing implementation by Ben Eater, which is openly available on his website eater.net/boids and #github github.com/beneater/boid, I did a quick hack to make it run on #GithubPages:

    laurentperrinet.github.io/boid

    I tuned the parameters to have a stable pattern between chaos and order, and still have a handful of clusters after 12h of running. Be careful, the shape of your browser window affects the trajectory and may take you out of such a state.

  33. #LongRead #ThingNews 01/2024

    Yesterday was #ThingUmbrella #ReleaseFriday (2nd round this year), incl. updates & additions to these new/recent packages (in A-Z order):

    thi.ng/blurhash — A fast implementation of the blurhash algorithm to create extremely compact (usually just 10-40 characters) blurred previews of images. Includes both encoder/decoder. A CLI wrapper is forthcoming. I also created an interactive online generator as new example project, allowing you to import own images & play with params:

    demo.thi.ng/umbrella/blurhash/
    ---

    thi.ng/boids — Finished updates to the composable behavior architecture. Included 7 behavior building blocks (all short, simple functions) which can be freely mixed/assigned to agents to create complex behaviors. All agents are individually configurable. Behaviors are weighted and dynamically adjustable, e.g. to vary spatially or temporally, based on external stimuli etc.

    Updated example project using the new API:
    github.com/thi-ng/umbrella/tre

    Many more examples of what can be done with this package (my tagged posts w/ #Boids): mastodon.thi.ng/@toxi/tagged/B
    ---

    thi.ng/canvas - Result of recent restructuring/cleaning/consolidating, this new small package contains helpers for canvas creation and HDPI adjustments. Features merged from thi.ng/adapt-dpi (now deprecated), thi.ng/pixel and others...
    ---

    thi.ng/meta-css — New CLI toolchain for creating, using and bundling custom CSS utility-class-based frameworks (similar to Tachyons, Tailwind etc.)

    Differentiating factors: Uses generative & parametric grammar to define modular CSS frameworks, resulting in 100s of CSS classes (~950 are included as starting point). CSS purely used as output format. Custom stylesheet syntax to concisely assemble styles (incl. selector nesting) from the generated classes & declarations. Supports definition of arbitrary media queries, whose IDs can be used as compound prefixes to apply referenced CSS classes responsively. Supports file watching, bundling of multiple stylesheets, automatic tree-shaking. Only referenced classes & media queries are transpiled to CSS, supports pretty printing, forced includes and plain CSS includes. Extremely small & fast (33KB, incl. dependencies).

    Extensive readme (3k+ words) included. Based on thi.ng/hiccup-css, much of this has been existing in loose form as partial tooling/experiments since 2016. Over the past 2 months I finally took the plunge to actually make this fully usable and been refining the overall workflow & features.

    (Personally, this works _really_ well for me and offers the best of both worlds, i.e. using utility classes for concision, but not leading to clutter in component code, better separation & maintainability)

    Several recently added examples are already using (or have been updated) to this toolchain (see pkg readme for a growing list). There're also new related build instructions in the wiki (linked from each example's readme)
    ---

    thi.ng/rdom — Updated many function signatures to support usage in Web Components (Shadow DOM). Added lazy loading component wrapper. Removed experimental scheduler. I never really used it and the general issue is much better solved outside, e.g. using available synchronization constructs in thi.ng/rstream.

    Added a new super basic usage example (rdom & meta-css):
    github.com/thi-ng/umbrella/tre
    ---

    thi.ng/rdom-forms — Data-driven declarative HTML form/controls based around thi.ng/hiccup-html & thi.ng/rdom. The widgets are unstyled by default, but highly customizable. In addition to being aimed at rdom (for using reactive values & other attribs), it's also suitable for static HTML-generation or SSR purposes.
    ---

    More recent updates:
    github.com/thi-ng/umbrella/blo

    #OpenSource #TypeScript #JavaScript #Announcement #Boids #CSS #Reactive #UI #WebComponents #MetaCSS #RDOM

  34. #LongRead #ThingNews 01/2024

    Yesterday was #ThingUmbrella #ReleaseFriday (2nd round this year), incl. updates & additions to these new/recent packages (in A-Z order):

    thi.ng/blurhash — A fast implementation of the blurhash algorithm to create extremely compact (usually just 10-40 characters) blurred previews of images. Includes both encoder/decoder. A CLI wrapper is forthcoming. I also created an interactive online generator as new example project, allowing you to import own images & play with params:

    demo.thi.ng/umbrella/blurhash/
    ---

    thi.ng/boids — Finished updates to the composable behavior architecture. Included 7 behavior building blocks (all short, simple functions) which can be freely mixed/assigned to agents to create complex behaviors. All agents are individually configurable. Behaviors are weighted and dynamically adjustable, e.g. to vary spatially or temporally, based on external stimuli etc.

    Updated example project using the new API:
    github.com/thi-ng/umbrella/tre

    Many more examples of what can be done with this package (my tagged posts w/ #Boids): mastodon.thi.ng/@toxi/tagged/B
    ---

    thi.ng/canvas - Result of recent restructuring/cleaning/consolidating, this new small package contains helpers for canvas creation and HDPI adjustments. Features merged from thi.ng/adapt-dpi (now deprecated), thi.ng/pixel and others...
    ---

    thi.ng/meta-css — New CLI toolchain for creating, using and bundling custom CSS utility-class-based frameworks (similar to Tachyons, Tailwind etc.)

    Differentiating factors: Uses generative & parametric grammar to define modular CSS frameworks, resulting in 100s of CSS classes (~950 are included as starting point). CSS purely used as output format. Custom stylesheet syntax to concisely assemble styles (incl. selector nesting) from the generated classes & declarations. Supports definition of arbitrary media queries, whose IDs can be used as compound prefixes to apply referenced CSS classes responsively. Supports file watching, bundling of multiple stylesheets, automatic tree-shaking. Only referenced classes & media queries are transpiled to CSS, supports pretty printing, forced includes and plain CSS includes. Extremely small & fast (33KB, incl. dependencies).

    Extensive readme (3k+ words) included. Based on thi.ng/hiccup-css, much of this has been existing in loose form as partial tooling/experiments since 2016. Over the past 2 months I finally took the plunge to actually make this fully usable and been refining the overall workflow & features.

    (Personally, this works _really_ well for me and offers the best of both worlds, i.e. using utility classes for concision, but not leading to clutter in component code, better separation & maintainability)

    Several recently added examples are already using (or have been updated) to this toolchain (see pkg readme for a growing list). There're also new related build instructions in the wiki (linked from each example's readme)
    ---

    thi.ng/rdom — Updated many function signatures to support usage in Web Components (Shadow DOM). Added lazy loading component wrapper. Removed experimental scheduler. I never really used it and the general issue is much better solved outside, e.g. using available synchronization constructs in thi.ng/rstream.

    Added a new super basic usage example (rdom & meta-css):
    github.com/thi-ng/umbrella/tre
    ---

    thi.ng/rdom-forms — Data-driven declarative HTML form/controls based around thi.ng/hiccup-html & thi.ng/rdom. The widgets are unstyled by default, but highly customizable. In addition to being aimed at rdom (for using reactive values & other attribs), it's also suitable for static HTML-generation or SSR purposes.
    ---

    More recent updates:
    github.com/thi-ng/umbrella/blo

    #OpenSource #TypeScript #JavaScript #Announcement #Boids #CSS #Reactive #UI #WebComponents #MetaCSS #RDOM

  35. I used to be relatively obsessed with Craig Reynolds' #boids, which I have implemented quite a few times in different frameworks and engines. It was time to try with #defold ! :D

    It's pure CPU and no optimized at all (no grid, not even using physics triggers to keep a list of nearby entities), so can't add much more than 100 boids.

    But it looks nice and that's cool!

  36. I used to be relatively obsessed with Craig Reynolds' #boids, which I have implemented quite a few times in different frameworks and engines. It was time to try with #defold ! :D

    It's pure CPU and no optimized at all (no grid, not even using physics triggers to keep a list of nearby entities), so can't add much more than 100 boids.

    But it looks nice and that's cool!

  37. Nothing new, but maybe a little unusual: Using boids as alternative to Lloyd relaxation and/or Poisson-disk sampling. The boids here are using only two behaviors: local separation, plus a randomized attractor to create global disturbances. Cell density could also be varied by spatially adjusting the separation distance between boids. Overall convergence/relaxation can be much faster than shown here...

    #Boids #Voronoi #Algorithm #PoissonDisk #ComputationalDesign #Physics #Simulation #GenerativeDesign #ThingUmbrella #TypeScript

  38. Nothing new, but maybe a little unusual: Using boids as alternative to Lloyd relaxation and/or Poisson-disk sampling. The boids here are using only two behaviors: local separation, plus a randomized attractor to create global disturbances. Cell density could also be varied by spatially adjusting the separation distance between boids. Overall convergence/relaxation can be much faster than shown here...

    #Boids #Voronoi #Algorithm #PoissonDisk #ComputationalDesign #Physics #Simulation #GenerativeDesign #ThingUmbrella #TypeScript

  39. Another example using path attraction (hexagon), dynamic targets/attractors (here changing every N frames) and a mix of the usual flocking sub-behavior ingredients: separation, alignment, cohesion

    #Agents #Boids #Particles #Simulation #Behaviors #Emergence #Flocking #Hexagon #Generative #GenerativeArt #TypeScript #ThingUmbrella

  40. Re-added/ported more agent behavior building blocks today, incl. path following and path attraction (both for open/closed geometries). In total there're now 7 freely combinable behaviors, each weighted and so usable as soft/hard constraint.

    Here's an example of path following (here a Hilbert curve) and separation only...

    #Agents #Boids #Particles #Simulation #Behaviors #Emergence #Path #Curve #Hilbert #Generative #GenerativeArt #TypeScript #ThingUmbrella

  41. Boids now with modular behavior system, incl. newly added field-based 3-sensor Braitenberg vehicle steering behavior. In this case the field is an SDF (via thi.ng/geom-sdf), which is used as obstacle map with soft boundary. I'm amazed how well (and without any further help) the lil' buggers are managing to escape these concave corners...

    #Agents #Boids #Particles #Simulation #Behaviors #Emergence #Generative #GenerativeArt #TypeScript #ThingUmbrella

  42. Been debugging boids & behavior combinations all evening! Happy to say, I think all force contributions are fixed now (classic off-by-one error was leading to an initially subtle but increasingly obvious directional bias), and I can focus again on experimenting with some new amazing emergent behaviors... Aside from that, maybe this also qualifies for #Genuary2024 (Day 1: Particles)?!

    Btw. This is just a variation of this #ThingUmbrella example project:

    demo.thi.ng/umbrella/boid-basi

    ...which was created as part of last year's #HowToThing series:

    mastodon.thi.ng/@toxi/11130843

    #Agents #Boids #Behaviors #Emergence #Generative #GenerativeArt

  43. Actually made an entire SDF type face, incl. declarative shape syntax to define characters (there're only lines & circular arcs)...

    #GenerativeArt #SDF #SphereTracing #Agents #Boids #Particles #STRACE

    5/x