1 commentaires

 
GN⁺ 2024-03-24
Commentaires Hacker News
  • Ce qu’il y a de plus génial dans cette œuvre, à mon avis, c’est la façon dont le temps fonctionne
    Comme une étape d’un niveau est calculée par la multitude d’étapes du niveau juste en dessous, plus on dézoome, plus on a l’impression de tomber dans un tourbillon exponentiel où une seule étape prend des jours, des années, voire des milliers d’années
    Mais c’est astucieux que le simulateur ajuste la vitesse en douceur selon le niveau de zoom, au point d’effacer l’existence même du temps
    J’aimerais bien qu’il y ait une indication de la quantité de temps de jeu qui s’écoule par seconde réelle, mais pour ça il faudrait définir un niveau comme niveau « de base », c’est-à-dire celui qui tourne en temps réel, et ça casserait sans doute la nature fractale de l’ensemble

    • Dans le billet qui explique l’implémentation, après avoir présenté le concept de motif méta-pixel, on donne le « rapport d’horloge » de la périodicité
      Quelque chose comme : « La période de ce motif est 35328, donc après 35328 générations, la génération du méta-niveau avance de 1 »
      On peut même considérer qu’un tel ralentissement temporel est nécessaire, car si l’auto-similarité du motif s’étend dans le temps et que deux niveaux fonctionnent avec des horloges différentes, alors il faut ralentir quand le niveau suivant apparaît pour correspondre à la vue animée auto-similaire du niveau précédent
      Autrement dit, la structure du niveau n nécessite 35328 répétitions de la structure auto-similaire du niveau n+1, donc quand on ramène n+1 à une vue auto-similaire de n, il faut aussi ralentir n+1 pour faire correspondre l’auto-similarité temporelle
      Du coup, je me demande s’il existe aussi une sorte de constante invariante dans le temps telle que la « complexité de calcul » d’une vue reste constante à tous les niveaux de zoom
    • Le fait qu’à chaque dézoom on sorte toujours par une autre partie du circuit est particulièrement frappant
      Du coup, cela ne donne pas l’impression d’un fractal banalement répétitif, mais plutôt de regarder différentes parties d’une machine sous des angles temporels différents
    • C’est parce que la gravité ralentit le temps
      Plus on monte, moins on subit la gravité, donc le temps passe plus vite
      Référence : https://en.wikipedia.org/wiki/Gravitational_time_dilation
    • On pourrait simplement considérer que le niveau de départ est en temps réel, avec l’aiguille des secondes qui tourne plus lentement dans les niveaux inférieurs et plus vite dans les niveaux supérieurs
    • Comme la grille est infinie, un niveau donné devrait pouvoir être complètement identique au niveau suivant, y compris dans toute son histoire
      On pourrait alors identifier tous les niveaux les uns aux autres et les considérer en fait comme un seul et même niveau, ce qui rendrait l’espace comme le temps cycliques à l’échelle
      Ce niveau unique pourrait malgré tout ne pas être répétitif, ni dans l’espace ni dans le temps
  • Quand j’ai zoomé pour la première fois, j’ai eu spontanément une réaction du genre : « mais qu’est-ce que c’est que ça ? »
    Cela renverse complètement quelque chose qui m’était familier depuis plus de 20 ans, et c’est parmi les choses les plus incroyables que j’aie vues depuis longtemps

  • C’est le genre de chose qu’il ne faut pas juste lire dans les commentaires, il faut l’essayer soi-même
    J’étais à deux doigts de fermer la page, puis je suis entré et je suis resté totalement fasciné
    C’est vraiment remarquable

    • Rien qu’en regardant et en zoomant dans tous les sens, on a déjà énormément de matière à réflexion
    • Je suis d’accord sur le fait qu’il faut cliquer sur le lien
      En général, je lis d’abord les commentaires pour vérifier s’il y a un paywall, une perte de temps, une énorme bannière ou un site douteux avant de décider de cliquer
      En revanche, je suis très reconnaissant envers les gens qui lisent puis laissent des commentaires pour les autres
      À chaque fois que j’apprends un nouveau langage, j’ai dû implémenter le Jeu de la vie de Conway au moins une douzaine de fois, et là je réfléchis déjà à la façon dont ceci a été réalisé
      Selon l’implémentation, ne serait-ce que proposer quelques motifs d’exemple avec lesquels l’utilisateur peut démarrer peut être fastidieux, mais ce site semble avoir quasiment combiné des natures mortes, des oscillateurs et des vaisseaux spatiaux en un nombre infini de couches
      Les motifs donnent l’impression de se répéter, mais rien que la construction de la couche de base est déjà très impressionnante
    • Je recommande vivement de mettre « darude - sandstorm » en fond pendant qu’on fait défiler
    • Le site semble crouler sous le trafic
      Je pense réessayer dans quelques jours
  • C’est intéressant de voir que c’est écrit en Haxe
    Je n’avais jamais entendu parler de ce langage, et je cherchais justement une sorte de « langage de hacker » capable de s’adapter à presque n’importe quelle niche ; c’est peut-être lui
    En voyant le typage statique optionnel et la compilation vers plusieurs cibles, notamment C++, j’ai du mal à comprendre pourquoi il n’est pas plus populaire
    On dirait un langage très pratique, conçu par des gens qui comprennent bien les besoins des développeurs

    • Si je me souviens bien, Haxe a été créé pour remplacer Flash
      Je ne sais pas pourquoi il n’est pas plus populaire, mais pas mal de gens l’utilisent dans la communauté du jeu vidéo
    • Haxe est un langage assez bien installé, mais peu connu, et il reste toujours en position d’outsider
      Cela dit, il est absolument excellent
      Il possède aussi des macros capables de transformer l’arbre syntaxique abstrait (AST), ce qui permet des choses étonnantes à la compilation
      Très peu de langages offrent ce genre de fonctionnalité de manière mature
      Si vous n’aimez pas Lisp mais voulez un langage de hacker, Haxe mérite d’être essayé
    • Pour la même raison que beaucoup de très bonnes choses restent peu populaires
      Ceux qui savent fabriquer des choses géniales sont souvent mauvais pour les mettre en avant, tandis que ceux qui excellent dans le baratin créent des produits complexes mais faciles à vendre, ce qui génère une attention disproportionnée
    • Haxe est vraiment sympa, et ça vaut le coup d’y jeter un œil si vous ne l’avez jamais utilisé
      Je ne l’ai pas beaucoup pratiqué parce que je ne fais pas de jeux, mais ça donne un peu une impression de : « et si ActionScript 3 avait continué à évoluer en dehors du monde Flash ? »
      J’aimerais bien l’utiliser davantage un jour, voire faire un jeu avec
    • Cela me rappelle de vieilles idées que j’avais pour créer une manière de fortement coupler les classes/la logique côté serveur en PHP et le côté client en JS pour créer des sites et des web apps
      Je tombais souvent sur ce problème en construisant des formulaires basés sur HTML : même si le formulaire est défini en PHP, l’expérience utilisateur est meilleure quand ça fonctionne sans rechargement de page, donc en général on définit un objet TypeScript pour envoyer le formulaire en Ajax
      Le fait de devoir définir les noms des champs des deux côtés est un cauchemar pour la maintenance, alors à la place j’avais fait en sorte que TypeScript demande en Ajax au serveur la liste des entrées nécessaires
      Avec Haxe, ce genre de chose pourrait sans doute être fait de manière beaucoup plus propre : https://haxe.org/use-cases/web/
  • Vraiment stupéfiant
    Il y a ici plus de détails sur son fonctionnement : http://b3s23life.blogspot.com/2006_09_01_archive.html?m=1

  • Vraiment incroyable
    Pour celles et ceux qui veulent voir comment ça fonctionne, voici le lien GitHub : https://github.com/saharan/works/tree/main/life

    • Il y a aussi quelques autres simulations sympas dans ce dépôt, mais celle-ci est de loin la meilleure
      C’est l’une des idées autour du Jeu de la vie les plus étonnantes que j’aie vues depuis longtemps
  • Je me dis parfois que notre univers pourrait être comme ça lui aussi
    On continue à chercher les particules les plus fondamentales, mais peut-être qu’il n’y en a pas
    Peut-être que tout peut être zoomé à l’infini, et que nous ne percevons que notre propre niveau
    La matière serait faite d’une autre matière, elle-même faite d’une autre matière, et ainsi de suite à l’infini
    Et il pourrait aussi y avoir de la vie à d’autres niveaux
    À l’intérieur d’un électron, par exemple, ou bien nous vivrions nous-mêmes à l’intérieur d’un être vivant immensément plus grand

  • Ça me fait penser à plusieurs choses
    Que se passerait-il si on modifiait artificiellement la valeur d’une cellule ? J’ai l’impression que cela créerait du chaos et que le changement finirait par se propager à tous les niveaux, et j’aimerais vraiment le voir
    Et pourrait-on faire en sorte que chaque cellule soit une simulation différente tout en continuant, à un niveau de zoom supérieur, à se comporter comme le Jeu de la vie de Conway ? Si les frontières sont respectées et que l’allumage et l’extinction se produisent au bon moment, ça semble possible, et je me demande où se situe la limite

    • Le niveau où la cellule a été modifiée serait détruit par une onde de chaos qui se propagerait vers l’extérieur depuis le point initial d’altération, en laissant derrière elle un motif de « cendres » assez ennuyeux
      Les niveaux inférieurs ne seraient pas affectés et simuleraient fidèlement, avec leur mécanique intacte, le chaos qui se déroule au-dessus
      Les niveaux supérieurs, eux, ne simuleraient plus le Jeu de la vie
      La partie brisée du niveau inférieur apparaîtrait comme un point flou, ni blanc ni noir, et continuerait à grandir éternellement en devenant exponentiellement plus lente à mesure qu’on remonte
    • Si le fait de modifier artificiellement la valeur d’une cellule crée du chaos et que ce changement se propage à tous les niveaux, est-ce que ce serait une métaphore proche du cancer ?
      Ce serait intéressant de voir comment cela se déploie, et si une sorte de « correction » ou d’« effet de système immunitaire » apparaît
  • C’est vraiment magnifiquement réalisé
    Le Jeu de la vie est sans doute la première simulation que j’ai essayé de programmer, et j’y suis revenu à plusieurs reprises au fil des années
    Même aujourd’hui, j’y repense chaque fois que des gens réfléchissent à des choses comme la conscience
    Avons-nous en nous une sorte de poussière magique, ou ne sommes-nous que le résultat du déploiement de règles simples sur une immense scène ?

    • On peut prendre plaisir à observer le comportement émergent dans l’exécution de ce programme de 256 octets
      C’est la naissance de l’esprit : https://www.youtube.com/watch?v=sWblpsLZ-O8
    • De même que les lois de la physique ne s’arrêtent pas aux frontières du crâne, il n’existe rien comme une souveraineté du soi
      Mais si une pensée se considère comme le sujet qui pense ses propres pensées, cela n’importe à personne
      D’ailleurs, il n’y a personne au départ, il n’y a que des pensées
    • Peut-être que les règles simples elles-mêmes sont cette « poussière magique »
      Ce genre de structure Turing-complète apparaît un peu partout, et elles sont équivalentes entre elles sur bien des plans
      Peut-être que cette structure sous-jacente est le socle de notre métaphysique, et que la réalité n’est qu’un nœud parmi ses possibilités permutationnelles
      Les règles simples du Jeu de la vie sont peut-être un reflet émergent de la nature fondamentale d’une méta-réalité
      Et c’est peut-être la présence de ce reflet dans notre structure neuronale et notre structure de sens qui constitue la « poussière magique » nécessaire à l’émergence de la conscience
  • Il existe aussi une superbe version du Jeu de la vie visualisée en 3D
    Les frames temporelles précédentes s’empilent en dessous dans l’ordre, comme des racines qui poussent, et le tout est animé en projection isométrique
    Ce n’est pas fractal comme cette œuvre, mais cela partage clairement la même ambiance à la croisée de l’art et de la science
    AlecsForum : https://www.instagram.com/reel/C2hoRnFsmQW/