Particle Life
Deux mille points sans intelligence. Cinq couleurs. Une petite table de vingt-cinq nombres qui décide qui attire qui. Personne ne dessine une seule image — et la vie apparaît.
Le principe
L'émergence, c'est l'idée que des règles simples, répétées, produisent une complexité que personne n'a écrite. Une molécule d'eau n'est pas mouillée. Un seul neurone ne peut pas penser. Voici cette idée que vous pouvez tenir dans votre main.
Chaque particule porte une couleur et suit une seule règle : la force avec laquelle chaque autre couleur l'attire ou la repousse. Donnez une matrice 5×5 de vingt-cinq nombres à deux mille particules, et la structure s'auto-organise — amas, chaînes, membranes, bras en rotation. Rien n'est scénarisé ; c'est le produit de la physique, pas de l'intention. Changez les nombres, et une vie entièrement différente apparaît.
L'idée unique qui fait tout fonctionner
Un plancher de répulsion, puis un puits d'attraction
La première version ne faisait qu'attirer — et une attraction sans plancher est la plus forte à distance nulle, donc tout s'effondrait en amas morts ou se dispersait en poussière. La solution tient dans la forme d'une seule courbe : repousser les particules quand elles se serrent, les rattirer quand elles s'éloignent. Elles se stabilisent à un écart maintenu d'exactement β·R = 30 px — et la poussière grise s'éveille en galaxie.
Quatre mondes, un seul moteur
Les deux mille mêmes particules. Seule la table de nombres change — et l'univers entier se réorganise en une autre forme de vie.
Galaxy
poursuite cycliqueChaque couleur poursuit la suivante dans une boucle sans fin. Le résultat ne cesse de tourner — moulins, bras qui s'enroulent, une spirale vivante.
Cells
cohésion + répulsionLes couleurs s'accrochent à leurs semblables et repoussent les étrangères, avec deux ponts discrets. Elles se figent en membranes — un tissu qui garde sa forme.
Soup
une chaîne alimentaireUn écosystème doux : A poursuit B, B poursuit C. Prédateurs et proies dérivent dans un équilibre agité, jamais tout à fait immobile.
Chaos
poursuite pureChaque relation est une poursuite et rien n'est jamais réciproque. La structure ne se forme que pour se déchirer — un mouvement qui ne se pose jamais.
Sous le capot
La force à deux zones
Un plancher de répulsion universel en deçà de β·R, puis un puits d'attraction au-delà. Cette seule courbe fait toute la différence entre poussière morte et galaxie vivante.
Voisins en O(N)
Un hachage spatial découpe le monde en cellules de la taille du rayon d'interaction ; chaque particule ne vérifie que son voisinage 3×3. ~4 000 000 de comparaisons par image tombent à ~100 000.
Rendu GPU
Sprites de points WGSL avec une vraie passe de bloom — sous-échantillonnage ×4 → gaussienne → composition additive — sur un repli WebGL2 pour que le rendu ne se dégrade jamais.
Déterministe
Un pas de temps fixe à 60 Hz et un générateur aléatoire à graine : le comportement est indépendant du framerate, et une même graine rejoue exactement le même univers, image par image.
Des univers partageables
Chaque monde est un court lien ?s= — matrice, graine et nombre dans une seule URL. Ouvrez celui d'un inconnu et regardez la galaxie identique se former sur votre écran.
Découverte
Une recherche par règles aléatoires évalue des milliers de matrices selon le nombre d'amas et le mouvement, faisant émerger de tout nouveaux mondes à conserver.
Conçu sans framework en TypeScript pour que le moteur tourne sans interface dans Node — la physique est testée unitairement, et la paire se stabilise réellement à un pixel près de β·R.
En chiffres
Construisez un univers à partir de vingt-cinq nombres.
Ajustez la matrice, regardez la vie se réorganiser en temps réel, puis partagez l'univers exact que vous avez créé en un seul lien.
Lancer la simulationAutres Projets
0202
Évolution des Créatures
Des créatures 2D faites d'articulations et de muscles commencent impuissantes. Un algorithme génétique les fait muter au fil des générations jusqu'à ce qu'elles découvrent comment se déplacer.
0303
Carte Mentale
Tapez une phrase. Regardez un vrai modèle de langage décider quels mots comptent pour comprendre chaque autre mot. Le mécanisme invisible à l'intérieur de chaque IA — rendu visible.

