Thread
Emergent Microcosms 🌎💻
Time to think about snippets of computer code that can generate complex + delightful virtual worlds.
This playful approach to emergence—algorithms that can unfurl entire virtual universes—are essentially “Emergent Microcosms”
🧵
1/
Time to think about snippets of computer code that can generate complex + delightful virtual worlds.
This playful approach to emergence—algorithms that can unfurl entire virtual universes—are essentially “Emergent Microcosms”
🧵
1/
“Emergent Microcosms” is a fuzzy category and I’m still thinking about it, but with its roots in artificial life, this space spans ALife, complexity science, simulation, and creative coding. And it’s amazing.
(LLMs + AI art are all the rage, but we’ve forgotten this space!)
2/
(LLMs + AI art are all the rage, but we’ve forgotten this space!)
2/
Here are a few major areas where emergent microcosms are found:
🦠Cellular automata
⏳ Falling-sand games
đź”· Physics-based simulations, eg rigid body and particle simulators
3/
🦠Cellular automata
⏳ Falling-sand games
đź”· Physics-based simulations, eg rigid body and particle simulators
3/
You also see emergent microcosms using such techniques as:
🎮 Shaders
🕸️ Agent-based models
🦤 Evolutionary computation
🌱 L-systems
(Note: this is more than just complex visuals, such as fractals; there needs to be a dynamic and emergent quality)
4/
🎮 Shaders
🕸️ Agent-based models
🦤 Evolutionary computation
🌱 L-systems
(Note: this is more than just complex visuals, such as fractals; there needs to be a dynamic and emergent quality)
4/
The granddaddy of these kinds of creative coding programs is John Horton Conway’s Game of Life, a class of cellular automaton (CA) that involves a grid with rules for how squares change from one timestep to the next.
en.wikipedia.org/wiki/Conway%27s_Game_of_Life
5/
en.wikipedia.org/wiki/Conway%27s_Game_of_Life
5/
But there has been so much innovation in the CA world at the intersection of ALife, most wonderfully with Lenia, by @BertChakovsky:
chakazul.github.io/lenia.html
Lenia has an entire bestiary of “creatures” discovered within its virtual world, from orbium to Quadridae gyrans
6/
chakazul.github.io/lenia.html
Lenia has an entire bestiary of “creatures” discovered within its virtual world, from orbium to Quadridae gyrans
6/
There is also some amazing work being done by @slackermanz focused on Multiple Neighborhood Cellular Automata:
slackermanz.com/understanding-multiple-neighborhood-cellular-automata/
(PS cellular automata can work well when implemented as shaders)
7/
slackermanz.com/understanding-multiple-neighborhood-cellular-automata/
(PS cellular automata can work well when implemented as shaders)
7/
Here’s an open-ended CA where you can specify the rules by writing your own code:
aperocky.com/cellular-automata/
8/
aperocky.com/cellular-automata/
8/
Falling-sand games are close cousins of CA, but allow the user to paint and play with different types of particles: en.wikipedia.org/wiki/Falling-sand_game
For example, check out @MaxBittker’s Sandspiel:
sandspiel.club/
9/
For example, check out @MaxBittker’s Sandspiel:
sandspiel.club/
9/
Here’s a programmable version of Sandspiel!
studio.sandspiel.club/
This allows the user to easily code bespoke emergent microcosms.
10/
studio.sandspiel.club/
This allows the user to easily code bespoke emergent microcosms.
10/
Another project by @maxbittker is Orb.Farm, which is a tiny self-contained aquatic ecosystem, which combines ecology and complex systems with falling-sand games:
orb.farm/
12/
orb.farm/
12/
In an entirely different realm, there is the demoscene (+ code golf world I suppose), devoted to creating mind-blowing demos in tiny computer programs:
en.wikipedia.org/wiki/Demoscene
13/
en.wikipedia.org/wiki/Demoscene
13/
There are L-systems, which use a recursively executed ruleset to generate plant-like structures:
en.wikipedia.org/wiki/L-system
14/
en.wikipedia.org/wiki/L-system
14/
Here’s an exploration into building a procedurally generated world, using voxels:
procworld.blogspot.com/
15/
procworld.blogspot.com/
15/
Physics simulations, including particle systems and rigid body simulations, can also be used to develop emergent microcosms.
An early system that allowed for the creation of a whole host of “creatures” was Soda Constructor: en.wikipedia.org/wiki/Soda_Constructor
16/
An early system that allowed for the creation of a whole host of “creatures” was Soda Constructor: en.wikipedia.org/wiki/Soda_Constructor
16/
Soda Constructor is now defunct, but you can play with a web-based open source version here:
peterfidelman.github.io/constructor/
17/
peterfidelman.github.io/constructor/
17/
Systems of particles can do lots of things, including demonstrating flocking, swarming, and other collective behaviors:
processing.org/examples/flocking.html
19/
processing.org/examples/flocking.html
19/
Examples from the agent-based model world, some of which are more emergent microcosms than others, can be found here: ccl.northwestern.edu/netlogo/
(And many of these are also much smaller and simpler microcosms)
20/
(And many of these are also much smaller and simpler microcosms)
20/
Here’s a “primordial particle system” that uses a small set of rules in an agent-based system to yield some delightful complexity:
www.youtube.com/watch?v=makaJpLvbow
21/
www.youtube.com/watch?v=makaJpLvbow
21/
Related to biology, here’s a great example of an emergent microcosm that relies on digital evolution by @JJVentrella:
www.swimbots.com/genepool/
22/
www.swimbots.com/genepool/
22/
There are also mechanisms for combing biological inspiration with CA, such as "Neural Cellular Automata"
distill.pub/2020/growing-ca/
23/
distill.pub/2020/growing-ca/
23/
More broadly, I recommend checking out the work of evolving “organisms” in silico to do a whole variety of things:
- @DoctorJosh: www.meclab.org/
- @ncheney_and_lab: www.uvm.edu/neurobotics/publications
- @drmichaellevin: drmichaellevin.org/
24/
- @DoctorJosh: www.meclab.org/
- @ncheney_and_lab: www.uvm.edu/neurobotics/publications
- @drmichaellevin: drmichaellevin.org/
24/
Games are also great environments for creating emergent microcosms (eg via procedural generation).
Note: boundary is fuzzy, as many games use some of this (such as roguelikes), but might not fully count as an emergent microcosm.
25/
Note: boundary is fuzzy, as many games use some of this (such as roguelikes), but might not fully count as an emergent microcosm.
25/
Nevertheless, here are some examples from the gaming world that could reasonably count as emergent microcosms:
- SimLife
- Spore
- No Man's Sky
- Noita
(note: the Falling Everything engine for Noita combines falling sand and rigid bodies: nollagames.com/fallingeverything/ )
26/
- SimLife
- Spore
- No Man's Sky
- Noita
(note: the Falling Everything engine for Noita combines falling sand and rigid bodies: nollagames.com/fallingeverything/ )
26/
Want to know how to make some of these?
Processing is a great language for programming these kinds of emergent microcosms. @ProcessingOrg
processing.org/
27/
Processing is a great language for programming these kinds of emergent microcosms. @ProcessingOrg
processing.org/
27/
If you want to see lots of fantastic examples for Processing, @thecodingtrain by @shiffman is amazing:
thecodingtrain.com/
28/
thecodingtrain.com/
28/
. @GalaxyKate has done also some great work here:
www.galaxykate.com/
For, example, see this tutorial:
galaxykate0.tumblr.com/post/139774965871/so-you-want-to-build-a-generator
29/
www.galaxykate.com/
For, example, see this tutorial:
galaxykate0.tumblr.com/post/139774965871/so-you-want-to-build-a-generator
29/
"The Computational Beauty of Nature: Computer Explorations of Fractals, Chaos, Complex Systems, and Adaptation" by @flakenstein is a useful classic:
www.amazon.com/Computational-Beauty-Nature-Explorations-Adaptation/dp/0262561271
30/
www.amazon.com/Computational-Beauty-Nature-Explorations-Adaptation/dp/0262561271
30/
I also highly recommend thinking about open-endedness.
For example, check out this by @kenneth0stanley, @joelbot3000, and @err_more:
www.oreilly.com/radar/open-endedness-the-last-grand-challenge-youve-never-heard-of/
31/
For example, check out this by @kenneth0stanley, @joelbot3000, and @err_more:
www.oreilly.com/radar/open-endedness-the-last-grand-challenge-youve-never-heard-of/
31/
There is so much more, particularly since this has such a fuzzy and fractal boundary, but here are a couple more philosophical essays I wrote related to unspooling computational worlds:
arbesman.substack.com/p/-unspooling-computational-worlds
arbesman.substack.com/p/-the-philosophers-tree
32/
arbesman.substack.com/p/-unspooling-computational-worlds
arbesman.substack.com/p/-the-philosophers-tree
32/
Anyway, there is a lot I've left out, but please send me more examples of emergent microcosms!
I’m always looking for the holy grail here, a sort of computational Standard Model for a digital cosmos.
33/
I’m always looking for the holy grail here, a sort of computational Standard Model for a digital cosmos.
33/