1 comentarios

 
GN⁺ 2024-03-24
Opiniones en Hacker News
  • Creo que lo más genial de esta obra es la forma en que funciona el tiempo.
    Como un paso de cada nivel se calcula como muchísimos pasos del nivel inmediatamente inferior, mientras más alejas el zoom se siente como caer en un remolino exponencial en el que un paso tarda días, años o miles de años.
    Pero es ingenioso que el simulador ajuste suavemente la velocidad según el zoom, al punto de borrar la existencia misma del tiempo.
    Me gustaría que hubiera una indicación de cuánto tiempo de juego transcurre por cada segundo real, pero para eso habría que definir algún nivel como el nivel “base”, es decir, el que corre en tiempo real, y eso rompería la fractalidad del conjunto.

    • En el artículo que explica la implementación, después de explicar el concepto de patrón de metapíxel, se da la “relación de reloj” de la periodicidad.
      Es algo como: “El periodo de este patrón es 35328, así que, al avanzar 35328 generaciones, la generación del metanivel avanza en 1”.
      Incluso podría decirse que este retraso temporal es necesario, porque si la autosimilitud del patrón se extiende en el tiempo y dos niveles operan con relojes distintos, entonces el siguiente nivel tiene que desacelerarse cuando aparece para coincidir con la vista animada autosimilar del nivel anterior.
      Es decir, la estructura del nivel n requiere 35328 repeticiones de la estructura autosimilar del nivel n+1, así que al llevar n+1 a una vista autosimilar de n, n+1 también debe ralentizarse para que coincida incluso la autosimilitud basada en el tiempo.
      Entonces me pregunto si existe algo así como una constante invariante en el tiempo que mantenga constante la “complejidad computacional” de alguna vista en todos los niveles de zoom.
    • Me impresiona especialmente que cada vez que alejas el zoom siempre sales por una parte distinta del circuito.
      Por eso no se siente como un fractal que se repite de forma común, sino como ver distintas partes de una máquina desde diferentes ángulos temporales.
    • Es porque la gravedad hace que el tiempo vaya más lento.
      Mientras más alto subes, menos te afecta la gravedad y más rápido pasa el tiempo.
      Referencia: https://en.wikipedia.org/wiki/Gravitational_time_dilation
    • ¿No bastaría con dejar el nivel en el que empezaste en tiempo real, y definir que el segundero se mueva más lento en los niveles inferiores y más rápido en los superiores?
    • Como la cuadrícula es infinita, debería ser posible que algún nivel sea completamente idéntico al siguiente nivel, incluida toda su historia.
      Entonces podrías identificar todos los niveles entre sí y, en la práctica, verlos como el mismo nivel, con el espacio y el tiempo volviéndose circulares a escala.
      Ese único nivel aun así podría no repetirse ni en el espacio ni en el tiempo.
  • La primera vez que hice zoom hacia adentro, inconscientemente reaccioné con un “¿qué es esto?”.
    Le dio la vuelta por completo a algo con lo que llevaba más de 20 años familiarizado, y es de lo más genial que he visto en mucho tiempo.

  • Esto es de esas cosas que hay que ejecutar directamente, no solo leer los comentarios.
    Estuve a punto de cerrarlo sin más, pero entré y quedé completamente hipnotizado.
    Es realmente impresionante.

    • Solo mirarlo y hacer zoom por todos lados ya te deja muchísimas cosas en qué pensar.
    • Estoy de acuerdo en que hay que hacer clic en el enlace.
      Yo también normalmente leo primero los comentarios para ver si hay muro de pago, pérdida de tiempo, banners enormes o sitios fraudulentos antes de decidir si hago clic.
      Aun así, agradezco mucho a quienes leen el artículo y dejan comentarios para el resto.
      Cada vez que aprendo un lenguaje nuevo, he implementado el Juego de la Vida de Conway al menos una docena de veces, y ya estoy pensando en cómo se implementó esto.
      Dependiendo de la implementación, incluso meter unos cuantos patrones de ejemplo para que el usuario pueda iniciar puede ser engorroso, pero este sitio parece combinar casi naturalezas muertas, osciladores y naves espaciales en un número infinito de capas.
      El patrón parece repetirse, pero solo el haber construido la capa base ya es muy impresionante.
    • Recomiendo mucho poner “darude - sandstorm” mientras haces scroll.
    • Parece que el sitio quedó aplastado por el tráfico.
      Creo que volveré a intentarlo en unos días.
  • Es interesante que esté escrito en Haxe.
    Es un lenguaje del que nunca había oído hablar, pero estaba buscando un “lenguaje de hackers” que pudiera encajar en casi cualquier nicho, y quizá sea este.
    Con tipado estático opcional y compilación a varios destinos (especialmente C++), no entiendo muy bien por qué no es más popular.
    Parece un lenguaje muy práctico, hecho por diseñadores que entienden bien las necesidades de los desarrolladores.

    • Según entiendo, Haxe se creó para reemplazar a Flash.
      No sé por qué no es más popular, pero hay bastante gente que lo usa en la comunidad de juegos.
    • Haxe es un lenguaje bastante establecido, pero no muy conocido, y siempre ha estado en posición de desventaja.
      Aun así, es totalmente excelente.
      También tiene macros capaces de transformar el árbol de sintaxis abstracta (AST), lo que permite hacer cosas sorprendentes en tiempo de compilación.
      Muy pocos lenguajes ofrecen soporte maduro para una función así.
      Si no te gusta Lisp pero quieres un lenguaje de hackers, vale la pena probar Haxe.
    • Es la misma razón por la que la mayoría de las cosas realmente buenas no son populares.
      Quienes hacen bien cosas geniales suelen ser malos para promocionarlas, mientras que quienes saben vender humo crean productos complejos pero fáciles de vender y generan una atención exagerada.
    • Haxe está bastante bueno, y si no lo has usado vale la pena trastearlo.
      No lo he usado mucho porque no hago juegos, pero se siente como “¿qué habría pasado si ActionScript 3 hubiera seguido evolucionando fuera del mundo de Flash?”.
      Algún día quiero usarlo más y también hacer algo como un juego.
    • Me recuerda ideas antiguas que tenía para crear una forma de acoplar fuertemente clases/lógica del lado del servidor en PHP con el lado cliente en JS al crear sitios web y webapps.
      Me pasaba especialmente seguido al crear formularios basados en HTML: aunque definiera el formulario en PHP, para una mejor experiencia de usuario normalmente definía un objeto TypeScript y enviaba el formulario por Ajax, ya que lo ideal era que funcionara sin recargar la página.
      Tener que definir los nombres de los campos en ambos lados era horrible para el mantenimiento, así que en su lugar hacía que TypeScript pidiera al servidor por Ajax la lista de entradas necesarias.
      Con Haxe parece que este tipo de trabajo podría hacerse de forma mucho más limpia: https://haxe.org/use-cases/web/
  • Es realmente asombroso.
    Aquí hay más detalles sobre cómo funciona: http://b3s23life.blogspot.com/2006_09_01_archive.html?m=1

  • Increíblemente genial
    Link de GitHub para quienes quieran ver cómo funciona: https://github.com/saharan/works/tree/main/life

    • En ese repositorio también hay algunas otras simulaciones buenas, pero esta es por mucho la mejor
      Una de las ideas más sorprendentes sobre el Juego de la vida que he visto en mucho tiempo
  • A veces pienso que quizá nuestro universo también sea así
    Seguimos buscando las partículas más fundamentales, pero tal vez no exista tal cosa
    Quizá todo pueda ampliarse infinitamente, y nosotros solo percibimos nuestro propio nivel
    La materia está hecha de otra materia, y esa materia a su vez de otra materia, y así hasta el infinito
    Y también podría haber vida en otros niveles
    Dentro de un electrón, por ejemplo, o quizá nosotros vivimos dentro de un ser vivo muchísimo más grande

  • Me vienen varias ideas
    ¿Qué pasaría si cambiáramos artificialmente el valor de una celda? Creo que se generaría caos y el cambio terminaría propagándose a todos los niveles; realmente me gustaría verlo
    Además, ¿sería posible hacer que cada celda sea una simulación distinta y, aun así, en un zoom más amplio siga comportándose como el Juego de la vida de Conway? Si respeta los bordes y se enciende y apaga en el momento correcto, parece posible, y me da curiosidad dónde estará el límite

    • El nivel en el que se cambie la celda quedaría destruido por una onda de caos que se expande hacia afuera desde el punto inicial de daño, y detrás quedaría un patrón aburrido de “ceniza”
      Los niveles inferiores no se verían afectados y simularían fielmente el caos que ocurre arriba con tecnología intacta
      Los niveles superiores dejarían de simular el Juego de la vida
      La parte dañada del nivel inferior se vería como un punto borroso, ni blanco ni negro, y crecería eternamente hacia arriba de forma exponencialmente más lenta
    • Si al cambiar artificialmente el valor de una celda se genera caos y el cambio se propaga a todos los niveles, ¿sería esto una analogía parecida al cáncer?
      Sería interesante ver cómo se desarrolla y si aparece algún efecto tipo “corrección” o “sistema inmune”
  • Está implementado de una forma realmente hermosa
    El Juego de la vida probablemente fue la primera simulación que intenté hacer como programador, y después seguí volviendo a él durante años
    Incluso ahora me viene a la mente cada vez que la gente reflexiona sobre cosas como la conciencia
    ¿Tenemos algo como polvo mágico, o somos solo el resultado de reglas simples desplegándose en un escenario enorme?

    • Puede ser divertido ver el comportamiento emergente que aparece al ejecutar este programa de 256 bytes
      Es la escena en la que nace una mente: https://www.youtube.com/watch?v=sWblpsLZ-O8
    • Así como las leyes de la física no se detienen en los límites del cráneo, tampoco existe algo como la soberanía del yo
      Pero a nadie le importa si un pensamiento se considera a sí mismo el sujeto que piensa sus propios pensamientos
      Para empezar no hay nadie, solo hay pensamientos
    • Tal vez las reglas simples en sí mismas sean el “polvo mágico”
      Estas estructuras Turing-completas aparecen por todas partes y, en muchos sentidos, son equivalentes entre sí
      Quizá esta estructura subyacente sea la base de nuestra metafísica, y la realidad sea solo un nodo entre sus posibilidades permutacionales
      Las reglas simples del Juego de la vida podrían ser un reflejo emergente de la naturaleza fundamental de la metarrealidad
      Que ese reflejo exista dentro de nuestras estructuras neuronales y semánticas quizá sea el “polvo mágico” necesario para que surja la conciencia
  • También hay una versión genial que visualiza en 3D el Juego de la vida
    Los fotogramas temporales anteriores se apilan en orden hacia abajo, como si crecieran raíces, y se ven animados desde una perspectiva isométrica
    No es fractal como esta obra, pero sin duda comparte esa vibra donde se cruzan el arte y la ciencia
    AlecsForum: https://www.instagram.com/reel/C2hoRnFsmQW/