1 bình luận

 
GN⁺ 2024-03-24
Ý kiến trên Hacker News
  • Tôi nghĩ điều tuyệt nhất trong tác phẩm này là cách thời gian vận hành
    Vì một bước ở mỗi cấp được tính bằng vô số bước của cấp ngay bên dưới, nên càng zoom out lại càng có cảm giác rơi vào một vòng xoáy hàm mũ, nơi một bước mất vài ngày, vài năm, rồi vài nghìn năm
    Nhưng điểm thông minh là trình mô phỏng điều chỉnh tốc độ mượt theo mức zoom, đến mức xóa luôn cảm giác về sự tồn tại của thời gian
    Giá mà có hiển thị thời gian trong game trôi qua bao nhiêu cho mỗi 1 giây ngoài đời, nhưng để làm vậy thì phải chọn một cấp nào đó làm cấp “đáy”, tức cấp chạy theo thời gian thực, và như thế có lẽ sẽ phá vỡ tính fractal của toàn bộ hệ

    • Trong bài viết giải thích cách triển khai, sau khi giải thích khái niệm mẫu meta pixel, họ cho biết “tỷ lệ clock” của tính chu kỳ
      Đại loại là “chu kỳ của mẫu này là 35328, nên sau khi chạy 35328 thế hệ thì thế hệ của cấp meta tiến thêm 1”
      Có thể nói kiểu trễ thời gian này là cần thiết, vì nếu tính tự tương đồng của mẫu trải dài theo thời gian và hai cấp hoạt động với clock khác nhau, thì cấp tiếp theo phải chậm lại khi nó hiện lên khớp với góc nhìn hoạt họa tự tương đồng của cấp trước
      Nói cách khác, cấu trúc ở cấp n cần 35328 lần lặp của cấu trúc tự tương đồng ở cấp n+1, nên khi kéo n+1 lên thành góc nhìn tự tương đồng của n, n+1 cũng phải chậm lại để khớp cả tính tự tương đồng theo thời gian
      Nếu vậy thì cũng khiến tôi tò mò liệu có một kiểu hằng số bất biến theo thời gian nào đó, trong đó “độ phức tạp tính toán” của một góc nhìn được giữ không đổi ở mọi mức zoom hay không
    • Điều đặc biệt ấn tượng là mỗi lần zoom out, bạn luôn thoát ra từ một phần khác của mạch
      Vì thế nó không có cảm giác như một fractal lặp lại bình thường, mà để lại cảm giác như đang nhìn nhiều bộ phận của một cỗ máy từ các góc độ thời gian khác nhau
    • Vì trọng lực làm thời gian chậm lại
      Càng lên cao thì càng ít chịu ảnh hưởng của trọng lực, nên thời gian trôi nhanh hơn
      Tham khảo: https://en.wikipedia.org/wiki/Gravitational_time_dilation
    • Có lẽ chỉ cần đặt cấp bắt đầu là thời gian thực, rồi quy định kim giây chạy chậm hơn ở cấp bên dưới và nhanh hơn ở cấp bên trên là được chăng
    • Vì lưới là vô hạn, nên hẳn cũng có thể có một cấp nào đó hoàn toàn giống hệt cấp tiếp theo, kể cả toàn bộ lịch sử
      Khi đó có thể đồng nhất mọi cấp với nhau và thực chất xem chúng như cùng một cấp, còn cả không gian lẫn thời gian đều trở thành vòng tròn theo thang đo
      Dù vậy, cấp duy nhất đó vẫn có thể không lặp lại trong cả không gian lẫn thời gian
  • Lần đầu zoom in, tôi đã vô thức thốt lên “cái quái gì thế này”
    Nó lật ngược hoàn toàn thứ tôi đã quen thuộc hơn 20 năm, và là một trong những thứ ngầu nhất tôi thấy sau một thời gian dài

  • Đây là loại mà đừng chỉ đọc bình luận, phải tự chạy thử
    Tôi suýt đóng lại, nhưng vào xem rồi thì hoàn toàn sững sờ
    Thật sự tuyệt vời

    • Chỉ nhìn và zoom qua lại thôi cũng đã có vô số thứ để suy nghĩ
    • Tôi đồng ý là nên nhấp vào liên kết
      Tôi cũng thường đọc bình luận trước để xem có paywall, lãng phí thời gian, banner khổng lồ hay trang lừa đảo gì không rồi mới quyết định có nhấp hay không
      Ngược lại, tôi rất biết ơn những người đọc bài rồi để lại bình luận cho phần còn lại
      Mỗi lần học một ngôn ngữ mới, tôi đã làm Game of Life của Conway ít nhất cả chục lần, và tôi đã bắt đầu nghĩ xem thứ này được triển khai như thế nào
      Tùy cách triển khai, chỉ thêm vài mẫu ví dụ để người dùng bắt đầu cũng đã phiền rồi, còn trang này dường như gần như đã kết hợp các still life, oscillator và spaceship thành vô hạn lớp
      Mẫu trông có vẻ lặp lại, nhưng chỉ riêng việc dựng được lớp cơ sở đã cực kỳ ấn tượng
    • Rất khuyên bật “darude - sandstorm” trong lúc cuộn
    • Có vẻ trang đang bị nghẽn vì lưu lượng truy cập
      Tôi định thử lại sau vài ngày
  • Thật thú vị khi nó được viết bằng Haxe
    Đây là ngôn ngữ tôi mới nghe lần đầu; tôi vốn đang tìm một “ngôn ngữ của hacker” có thể chen vào gần như mọi ngách, và có lẽ đây chính là nó
    Nhìn vào kiểu tĩnh tùy chọn và khả năng biên dịch sang nhiều đích, đặc biệt là C++, tôi không hiểu lắm vì sao nó không phổ biến hơn
    Nó trông như một ngôn ngữ rất thực dụng, do những nhà thiết kế hiểu rõ nhu cầu của lập trình viên tạo ra

    • Theo tôi biết thì Haxe được tạo ra để thay thế Flash
      Tôi không biết vì sao nó không phổ biến hơn, nhưng trong cộng đồng game cũng có khá nhiều người dùng
    • Haxe là một ngôn ngữ khá vững chỗ đứng nhưng không được biết đến rộng rãi, và luôn ở vị thế kẻ yếu
      Dù vậy nó hoàn toàn tuyệt vời
      Nó còn có macro có thể biến đổi cây cú pháp trừu tượng (AST), cho phép làm những việc đáng kinh ngạc ở thời điểm biên dịch
      Rất ít ngôn ngữ hỗ trợ tính năng như vậy một cách trưởng thành
      Nếu bạn ghét Lisp nhưng muốn một ngôn ngữ của hacker, Haxe đáng để thử
    • Cũng giống lý do vì sao những thứ thật sự tốt thường không phổ biến
      Những người giỏi tạo ra thứ hay ho lại kém trong việc làm nó nổi bật, còn ngược lại những người giỏi khoác lác thì tạo ra các món phức tạp nhưng dễ bán và thổi phồng sự chú ý
    • Haxe khá tuyệt, và nếu chưa thử thì đáng để nghịch qua
      Tôi không làm game nên chưa dùng nhiều, nhưng nó có cảm giác như “nếu ActionScript 3 rời khỏi thế giới Flash và tiếp tục tiến hóa thì sao?”
      Một ngày nào đó tôi muốn dùng nó nhiều hơn và thử làm thứ gì đó như game
    • Điều này làm tôi nhớ đến những ý tưởng cũ khi muốn tạo ra cách liên kết chặt giữa các class/logic phía server PHP và phía client JS khi xây website và web app
      Tôi đặc biệt hay gặp chuyện này khi làm form dựa trên HTML: dù định nghĩa form trong PHP, để trải nghiệm người dùng tốt hơn thì thường vẫn định nghĩa object TypeScript rồi gửi form bằng Ajax để không phải tải lại trang
      Việc phải định nghĩa tên trường ở cả hai bên là cơn ác mộng bảo trì, nên thay vào đó tôi để TypeScript yêu cầu server qua Ajax danh sách input cần thiết
      Với Haxe, có vẻ những việc như vậy có thể làm gọn gàng hơn nhiều: https://haxe.org/use-cases/web/
  • Thật sự đáng kinh ngạc
    Có thêm chi tiết về cách nó hoạt động ở đây: http://b3s23life.blogspot.com/2006_09_01_archive.html?m=1

  • Cực kỳ ấn tượng
    Link GitHub cho những ai muốn xem nó hoạt động thế nào: https://github.com/saharan/works/tree/main/life

    • Trong repo đó còn có vài mô phỏng khá hay khác, nhưng cái này rõ ràng là đỉnh nhất
      Một trong những ý tưởng Game of Life đáng kinh ngạc nhất mà tôi thấy sau một thời gian dài
  • Thỉnh thoảng tôi nghĩ liệu vũ trụ của chúng ta có phải cũng như thế này không
    Chúng ta cứ tiếp tục tìm các hạt cơ bản nhất, nhưng có lẽ thứ đó không tồn tại
    Có thể mọi thứ đều có thể zoom vô hạn, và chúng ta chỉ nhận thức được cấp độ của mình
    Vật chất được tạo nên từ một dạng vật chất khác, rồi dạng vật chất đó lại được tạo nên từ dạng vật chất khác nữa, cứ thế kéo dài vô hạn
    Và ở các cấp độ khác cũng có thể có sự sống
    Chẳng hạn bên trong electron, hoặc chúng ta đang sống bên trong một sinh vật khổng lồ hơn rất nhiều

  • Tôi có vài suy nghĩ
    Nếu cố ý thay đổi giá trị của một ô thì chuyện gì sẽ xảy ra? Có vẻ sẽ sinh ra hỗn loạn và biến đổi cuối cùng sẽ lan truyền tới mọi cấp độ; tôi thật sự muốn xem điều đó
    Ngoài ra, liệu có thể làm cho mỗi ô là một mô phỏng khác nhau nhưng khi zoom ra lớn hơn thì vẫn hoạt động như Game of Life của Conway không? Nếu giữ được ranh giới và bật/tắt đúng thời điểm thì có vẻ khả thi, và tôi tò mò giới hạn nằm ở đâu

    • Cấp độ nơi ô bị thay đổi sẽ bị phá hủy bởi làn sóng hỗn loạn lan ra từ điểm hư hại ban đầu, và phía sau sẽ còn lại một mẫu “tro tàn” tẻ nhạt
      Các cấp độ bên dưới sẽ không bị ảnh hưởng, và bằng công nghệ chưa hỏng, chúng sẽ mô phỏng trung thành sự hỗn loạn đang diễn ra phía trên
      Các cấp độ phía trên sẽ không còn mô phỏng Game of Life nữa
      Phần bị hỏng ở cấp độ bên dưới sẽ trông như một điểm mờ không phải trắng cũng chẳng phải đen, và càng lên cao nó sẽ càng lớn dần mãi mãi theo cấp số nhân nhưng chậm hơn
    • Nếu khi cố ý thay đổi giá trị ô mà hỗn loạn sinh ra và biến đổi lan truyền tới mọi cấp độ, thì đây có phải là một phép ẩn dụ giống ung thư không?
      Sẽ rất thú vị nếu xem nó diễn tiến ra sao, và liệu có xuất hiện hiệu ứng kiểu “sửa chữa” hay “hệ miễn dịch” nào không
  • Được triển khai thật sự đẹp
    Game of Life có lẽ là mô phỏng đầu tiên tôi thử làm với tư cách lập trình viên, và sau đó nhiều năm tôi vẫn thường quay lại với nó
    Đến giờ, mỗi khi người ta suy ngẫm về những thứ như ý thức, tôi vẫn nghĩ tới nó
    Liệu trong chúng ta có một thứ gì đó như bột phép, hay chỉ là kết quả của những quy tắc đơn giản diễn ra trên một sân khấu khổng lồ?

    • Có thể bạn sẽ thấy thú vị khi nhìn hành vi nổi lên trong lần chạy chương trình 256 byte này
      Đây là cảnh một tâm trí được sinh ra: https://www.youtube.com/watch?v=sWblpsLZ-O8
    • Cũng như các định luật vật lý không dừng lại ở ranh giới của hộp sọ, không có thứ gọi là chủ quyền của cái tôi
      Nhưng nếu một ý nghĩ tự xem mình là chủ thể đang suy nghĩ của chính nó thì cũng chẳng ai bận tâm
      Ngay từ đầu đã không có ai cả, chỉ có những ý nghĩ mà thôi
    • Có lẽ chính các quy tắc đơn giản mới là “bột phép”
      Những cấu trúc Turing-complete như thế này xuất hiện ở khắp nơi, và trên nhiều phương diện chúng tương đương với nhau
      Có lẽ cấu trúc nền tảng này là cơ sở của siêu hình học của chúng ta, và thực tại chỉ là một nút trong các khả năng hoán vị của nó
      Các quy tắc đơn giản của Game of Life có thể là sự phản chiếu nổi lên của bản chất căn bản của siêu thực tại
      Việc sự phản chiếu như vậy tồn tại trong cấu trúc thần kinh và cấu trúc ý nghĩa của chúng ta có lẽ chính là “bột phép” cần thiết để ý thức nảy sinh
  • Cũng có một phiên bản rất hay trực quan hóa Game of Life bằng 3D
    Các khung thời gian trước đó được xếp tuần tự xuống phía dưới như rễ cây đang mọc, và được hiển thị dạng animation từ góc nhìn đẳng cự
    Nó không phải fractal như tác phẩm này, nhưng chắc chắn có cùng cảm giác nơi nghệ thuật và khoa học gặp nhau
    AlecsForum: https://www.instagram.com/reel/C2hoRnFsmQW/