Phim ngắn bằng đoạn mã 256 byte “Bitwise Liminal”
(killedbyapixel.github.io)- 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
Ý 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
Có 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?
https://github.com/callumlocke/bitwise-liminal-expanded
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
t+=.1thànht+=.01và9986thành9e3, 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ắtChỉ 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ầuscriptĐưa vào sự kiện
canvas onclickcòn có thể tiết kiệm thêm chút dung lượngĐ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ể
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í
import gameassetscũng được cho phép à?Nhân tiện, trong Python thì
import GOTOchạ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
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
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ăngTrê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
https://www.nature.com/articles/d41586-024-00327-x
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
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
Đ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