1 điểm bởi GN⁺ 2024-02-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bitwise Liminal là một phim ngắn nền web được tạo bằng 256 byte mã, tác phẩm được giới thiệu tại Lovebyte Party 2024
  • Câu chuyện bắt đầu với bối cảnh một cuộn băng VHS cũ được tìm thấy ở một buổi bán đồ trong sân, có nhãn “Bitwise Liminal”
  • Khi phát, cuộn băng chỉ hiện nhiễu tĩnh, nhưng sau đó người kể chuyện trải qua những giấc mơ bất an và bị ám ảnh bởi cuộn băng
  • Sau quá trình điều tra, cuộn băng được phát hiện là một bản sao lưu kỹ thuật số, và dữ liệu được khôi phục bằng phần mềm đặc biệt là một chương trình 256 byte
  • Khi mở chương trình trong trình duyệt web, một cảnh tượng giống với giấc mơ xuất hiện, và người kể chuyện không ngủ nữa mà cứ tiếp tục nhìn vào nó

Phim ngắn được tạo bằng mã 256 byte

  • Bitwise Liminal là một tác phẩm ngắn dựa trên mã, có phụ đề “A Short Film in 256 Bytes of Code”
  • Được ghi là một mục được giới thiệu tại Lovebyte Party 2024
  • Tác phẩm có hình thức câu chuyện: sau khi tìm thấy một cuộn băng VHS cũ, dữ liệu ẩn bên trong được khôi phục và chạy trong trình duyệt web

Mạch truyện nối từ băng VHS đến trình duyệt

  • Người kể chuyện tìm thấy một cuộn băng VHS cũ ở buổi bán đồ trong sân, với dòng chữ “Bitwise Liminal” viết bằng bút Sharpie
  • Khi phát cuộn băng, màn hình chỉ hiện nhiễu tĩnh
  • Sau đó, người kể chuyện bắt đầu có những giấc mơ sống động và bất an, đồng thời liên tục nghĩ về cuộn băng VHS kỳ lạ
  • Kết quả điều tra cho biết cuộn băng là một bản sao lưu kỹ thuật số, và dữ liệu được khôi phục bằng phần mềm đặc biệt
  • Dữ liệu được khôi phục là một chương trình 256 byte, và người kể chuyện mở nó trong trình duyệt web bằng đôi tay run rẩy
  • Cảnh tượng nhìn thấy trong trình duyệt gợi nhớ đến những giấc mơ của người kể chuyện, và cuối cùng câu chuyện kết thúc trong trạng thái không còn cần ngủ nữa, chỉ tiếp tục nhìn mãi

1 bình luận

 
GN⁺ 2024-02-12
Ý kiến trên Hacker News
  • Cái này ấn tượng và trông như một cảnh phim thật. Nhưng khi nghĩ rằng nó nằm gọn trong 256 byte, tôi lại phải nhìn nhận lại những thứ chúng ta dùng hằng ngày đã phình to đến mức nào, và trình duyệt hiện nay mạnh đến đâu
    Dù vậy, các demo 8K như "the Sheep and the Flower" được chia sẻ gần đây trên HN https://news.ycombinator.com/item?id=39121101, hay "One of those days" https://www.pouet.net/prod.php?which=75790 / video YouTube https://youtu.be/8T_Um-cw0Wc làm lại từ một video YouTube thật https://www.youtube.com/watch?v=R1NagZN2kjY còn khiến tôi kinh ngạc hơn
    Chúng lớn hơn phim 256 byte rất nhiều, nhưng truyền tải được đồ họa và câu chuyện nhiều hơn hẳn

  • phiên bản có chú thích nào giải thích từng phần cho những người bình thường như chúng ta không?

  • Bài liên quan gần đây: Cross My Heart – A Frogger Demake in 256 Bytes of HTML/JS - https://news.ycombinator.com/item?id=39336677 - tháng 2/2024, 44 bình luận
    Thường thì các bài gửi tiếp nối sẽ bị giảm trọng số(https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=follow-up%20downweight&sort=byDate&type=comment), nhưng lần này (a) người gửi là tác giả và (b) tác phẩm rất xuất sắc, nên theo tiêu chí https://news.ycombinator.com/showhn.html đã đổi thành Show HN và giữ nguyên

  • Nếu đây là “phim ngắn”, thì coi như tôi vừa đọc xong cuốn tiểu thuyết mới của mình

    • Nếu đổi t+=.1 thành t+=.019986 thành 9e3, vẫn có thể tạo được vòng lặp khoảng 45 giây trong phạm vi 256 byte. Chỉ là một phần phía dưới màn hình sẽ bị cắt
  • Chỉ là chuyện nhỏ, nhưng đây là lần đầu tôi thấy người ta nhúng svg vào canvas chỉ để dùng sự kiện onload. Trong ngữ cảnh này canvas được tham chiếu bằng bare id, kỳ lạ mà vẫn ngầu

    • Hóa ra đưa vào svg onload nhỏ hơn một chút so với dùng thẻ script
      Đưa vào sự kiện canvas onclick còn có thể tiết kiệm thêm chút dung lượng
    • Tôi thắc mắc vì sao điều đó được phép. Tôi không biết JavaScript có thể làm như vậy
  • Điểm quá tuyệt là nó thực sự là 256 byte thuần túy, chứ không phải kiểu nộp kết quả sau khi zip, gzip, xử lý hậu tố như các game jam 1KB thông thường rồi loại asset ra khỏi tiêu chí. Xin bày tỏ sự kính nể

    • Cái này cũng hay: https://linusakesson.net/scene/a-mind-is-born/
    • Đây là một thử thách điên rồ gần như bất khả thi, và khi nó thực sự chạy được thì trông như phép thuật
    • Luôn có thể đưa bộ giải nén vào entry. PNG bootstrap đã khá phổ biến trong demoscene JavaScript từ lâu, và bắt đầu có hiệu quả với các demo từ 1KB trở lên
      Với kích thước nhỏ hơn thì cũng có những phương án khác, nhưng demo 256 byte thường quá nhỏ để nhét bộ giải nén vào. Tuy nhiên tôi đồng ý về phần loại asset khỏi tiêu chí
    • Trong những cuộc thi như vậy, import gameassets cũng được cho phép à?
      Nhân tiện, trong Python thì import GOTO chạy được đấy :)
  • Tác phẩm của người này lúc nào cũng khiến tôi há hốc mồm. Phần mô tả các công cụ họ dùng ở đây: https://frankforce.com/tools/
    Các tác phẩm trên blog micro animation Dwitter ở đây: https://www.dwitter.net/u/KilledByAPixel
    Phần giải thích trên YouTube: https://www.youtube.com/watch?v=HV7Dmo277Rs

    • “Phần giải thích trên YouTube” đó thực ra không giải thích các Dweet hoạt động như thế nào. Bản thân tác phẩm thì đáng kinh ngạc và xem rất thích, tôi cũng mong được nghe người làm trực tiếp trình bày, nhưng với ai đang tìm phần giải thích chi tiết về nguyên lý hoạt động, video đó sẽ gây thất vọng
  • Nhìn những thứ như thế này khiến mình nghĩ rằng toàn bộ sự sống thực sự có thể được mã hóa trong DNA. Mình từng đọc rằng nếu nén bộ gen người bằng gzip thì chỉ khoảng 4MB, trực giác thì thấy quá nhỏ để biểu diễn một con người
    Nhưng nếu từ 256 byte mà sinh ra được những chuyển động như thế này, thì rõ ràng trực giác của mình đã sai

    • 4MB là đủ để phân biệt 2^(3.2 * 10^7) trạng thái khả dĩ. Giả sử có một bộ giải nén có thể diễn giải chỉ một phần cực kỳ nhỏ của một phần cực kỳ nhỏ của một phần cực kỳ nhỏ của một phần cực kỳ nhỏ trong số các trạng thái đó thành sinh vật có chức năng
      Trên Trái Đất có khoảng 1 nghìn tỷ loàihttps://www.nsf.gov/news/news_summ.jsp?cntn_id=138446, cứ cho rằng số loài tiềm năng hiện chưa tồn tại nhiều hơn thế 1 nghìn tỷ lần, và mỗi loài có 1 nghìn tỷ biến thể. Dù có nhân rộng rãi thêm 1 nghìn tỷ nữa, theo Wolfram Alphahttps://www.wolframalpha.com/input?i2d=true&i=Divide%5BPower%5B2%2C3.2Power%5B10%2C7%5D%5D%2Ca+trillion+trillion+trillion+trillion%5D++a+percent+of+a+percent+of+a+percent+of+a+percent thì vẫn còn dư biên sai số khoảng 10 lũy thừa 10 triệu
      Ở đây “khoảng” mang nghĩa kiểu như nói một dãy núi gần giống với giấy nhám thô, nhưng con số tròn quá nên không thể không làm tròn
    • Việc có thể nhân bản một sinh vật chỉ bằng DNA là một hiểu lầm. Để một sinh vật mới hình thành, cũng cần nền tảng sinh học của phôi được truyền từ bố mẹ, tức là hạ tầng sinh học
    • Vài ngày trước trên HN có một bài phản đối cách nhìn DNA như mã nguồn, và tế bào như máy tính hay máy móc
      https://www.nature.com/articles/d41586-024-00327-x
    • Sự sống được tạo ra chỉ từ DNA trong chân không có lẽ sẽ khá nhàm chán. Toàn bộ sự sống cần một môi trường để tương tác, và hiện tại chỉ có một môi trường như vậy; mà thứ đơn nhất thì không nén tốt được
      Ngoài ra, nếu nhìn lại tập Mandelbrot, trong một quá trình khá đơn giản cũng chứa lượng thông tin khổng lồ
      Cuối cùng, để hạ bớt ấn tượng về 256 byte này một chút, cũng cần tính đến việc nó cần phần cứng và phần mềm hỗ trợ. 256 byte này chắc sẽ không tạo ra cùng ảo ảnh đó trên C64
    • Cũng có thể là một seed của bộ sinh số ngẫu nhiên cỡ 4MB
  • Thấy cái này làm quạt hệ thống trên 5560U của mình tăng lên 100% :-)

  • Ai có thể giải thích mình đang xem gì trong phim ngắn này không? Mình thấy hoạt hình đen trắng, các hộp chuyển động và những đường nhiễu, nhưng không hiểu ý nghĩa lắm

    • Nó chính là bộ phim đó
      Điều đáng kinh ngạc là kích thước tệp nhỏ đến mức nào. Chỉ 256 byte
      Để hình dung nó ấn tượng ra sao: toàn bộ bộ phim nhỏ hơn ảnh chụp màn hình khung hình đầu tiên khoảng 58 lần. Một đĩa mềm 1,44MB có thể chứa toàn bộ bộ phim này hơn 5.000 lần mà vẫn còn chỗ
      Video thông thường gồm nhiều hình ảnh và thông tin cho biết phần nào của hình ảnh di chuyển tới đâu
      Nhưng bộ phim này không có dữ liệu hình ảnh. Nó chỉ chứa một chút toán học để vẽ các hộp với độ sáng khác nhau theo thời gian