2 điểm bởi GN⁺ 2024-10-12 | 1 bình luận | Chia sẻ qua WhatsApp

Chúng tôi đã tạo ra "Bad Apple!!" tuyệt nhất trong Minecraft

  • Demoscene và Bad Apple!!

    • Demoscene là một loại hình nghệ thuật khiến máy tính thực hiện những việc vốn không được thiết kế để làm.
    • "Bad Apple!!" là một hoạt hình nghệ thuật bóng đổ đã được phát trên nhiều nền tảng khác nhau.
    • Chúng tôi đã thực hiện một dự án tái hiện Bad Apple!! trong Minecraft.
  • Bối cảnh của dự án

    • Dự án này đòi hỏi rất nhiều sáng tạo và kỹ thuật.
    • Chúng tôi đã nhận được sự giúp đỡ từ nhiều người như Yuki, Mia, Kira.
    • Do engine của Minecraft chậm, việc phát video ở 20 fps là rất khó.
  • Cách lưu trữ dữ liệu

    • Thử thách lớn nhất là tìm ra cách lưu các frame thô trong Minecraft.
    • Chúng tôi đã thử nhiều cách như các dòng hopper, binary đóng gói và các dòng repeater.
    • Cuối cùng, chúng tôi đã dùng khối cấu trúc để lưu dữ liệu.
  • Triển khai hoạt hình

    • Chúng tôi đã triển khai hoạt hình bằng khối cấu trúc.
    • Khối cấu trúc hoạt động giống như Ctrl-C/Ctrl-V, cho phép lưu các khối vào bộ nhớ và nạp chúng ở vị trí khác.
    • Chúng tôi đã dùng khối cấu trúc để triển khai hoạt hình ở 20 fps.
  • Tối ưu hóa và khắc phục vấn đề

    • Do engine render của Minecraft chậm, việc tối ưu hóa là cần thiết.
    • Chúng tôi đã dùng delta coding để chỉ cập nhật khác biệt giữa các frame, qua đó cải thiện hiệu năng.
    • Chúng tôi có thể tận dụng trạng thái khối để dùng nhiều màu hơn và các khối được tối ưu hơn.
  • Âm thanh và các tính năng khác

    • Chúng tôi đã dùng đĩa nhạc để phát phần nhạc của Bad Apple!!
    • Chúng tôi cũng dùng khối cấu trúc để triển khai các tính năng như redstone không dây.
  • Chuẩn bị frame

    • Chúng tôi đã chuyển video sang 6 màu và chuyển từ 30 fps xuống 20 fps.
    • Chúng tôi đã dùng kỹ thuật dithering để tạo ra hình ảnh chất lượng cao.

Tóm tắt của GN⁺

  • Dự án này là một ví dụ về việc vượt qua các giới hạn của Minecraft và triển khai Bad Apple!! theo cách đầy sáng tạo.
  • Dự án đã tận dụng các tính năng của Minecraft như khối cấu trúc để triển khai hoạt hình phức tạp.
  • Dự án này nhắc các nhà phát triển về tầm quan trọng của giải quyết vấn đề một cách sáng tạo và hợp tác.
  • Những dự án tương tự gồm có các bản triển khai Bad Apple!! trên nhiều nền tảng khác nhau.

1 bình luận

 
GN⁺ 2024-10-12
Ý kiến trên Hacker News
  • Tôi đã học được nhiều điều về đồ họa máy tính hơn cả mong đợi. Xin dành lời khen cho tác giả

    • Hình mà tác giả gọi là "mặt trời" thực ra là cảnh Eirin đang nhìn mặt trăng
    • Có cảnh Eirin vươn tay về phía mặt trăng rồi chần chừ và rụt tay lại
    • Ở cảnh tiếp theo, Kaguya cũng vươn tay về phía mặt trăng nhưng không hề do dự
    • Theo Touhou wiki, kế hoạch của Eirin là đánh cắp mặt trăng
  • Tôi thấy thật tuyệt khi có sự tham gia của phụ nữ, điều vốn hiếm gặp trong cộng đồng hacker

  • Ở chế độ riêng tư trên Safari di động, phần nhúng YouTube yêu cầu đăng nhập

    • Nếu chuyển sang Firefox Focus thì có thể phát video mà không cần đăng nhập
  • Tôi không thực sự hiểu vì sao Bad Apple lại trở thành "Hello World" của render đồ họa, nhưng xem theo thời gian thực thì rất thú vị

    • Tôi đã tìm thấy một bản demo Bad Apple thể hiện hypermedia FPS tốc độ cao
  • Tôi thích xu hướng "Bad Apple on all the things!"

    • Lần đầu thấy nó trên Genesis/Mega Drive, tôi đã ngạc nhiên trước những gì phần cứng yếu vẫn có thể làm được
    • Tôi rất khâm phục những người port nó lên các thiết bị cấu hình thấp
  • Mojang đã cải thiện vấn đề độ trễ của Redstone

    • Mojang nhận khá nhiều chỉ trích từ cộng đồng
    • Minecraft phải đồng thời duy trì một codebase Java 15 năm tuổi và một ứng dụng C++ đa nền tảng quy mô lớn, điều này rất khó khăn
    • Tôi muốn ghi nhận năng lực kỹ thuật của Mojang và nói rằng Minecraft thật tuyệt vời
  • Tôi không còn nghiện Minecraft như thời trung học nữa, nhưng thỉnh thoảng vẫn chơi với bạn bè

    • Tôi cảm thấy những thay đổi của Redstone lớn đến mức đáng kinh ngạc
    • Tôi thán phục trước việc công nghệ thay đổi nhanh đến mức nào theo thời gian
  • Kết quả công việc trông gần như tầm thường, nhưng tôi nghĩ quá trình để đạt được nó mới thật sự đáng nể

    • Họ đã thành công trong việc render Bad Apple ở 20fps
    • Điều đó có thể thực hiện chỉ bằng cách thay đổi texture tùy chỉnh và định nghĩa đối tượng
  • Tôi thấy thú vị vì có rất nhiều công sức đổ vào việc hiện thực hóa video

    • Sau khi làm xong bản triển khai Bad Apple, tôi mệt đến mức chỉ muốn xử lý bằng ffmpeg rồi thôi
  • Thành tựu "Get'r Done": khả năng hiện thực hóa một ý tưởng lớn bằng cách giải quyết từng vấn đề riêng lẻ trong những ràng buộc của hệ thống