Image default
Game

PDF Chạy Game: Từ Tetris Cổ Điển Đến DOOM Nổi Tiếng, Tất Cả Ngay Trong Trình Duyệt!

Bạn có thể nghĩ rằng các tài liệu PDF chỉ đơn thuần là những văn bản tĩnh chứa chữ, hình ảnh và đôi khi là các biểu mẫu. Tuy nhiên, khả năng của PDF đã vượt xa suy nghĩ thông thường nhờ sự phát triển của các trình duyệt web hiện đại. Điều này được minh chứng rõ ràng qua việc các phiên bản game kinh điển như Tetris và DOOM đã được port thành công để chạy trực tiếp trong tài liệu PDF.

Tetris trên PDF: Bất Ngờ Từ JavaScript Đơn Giản

Thomas Rinsma, một chuyên gia phân tích bảo mật và phát triển, đã công bố bản demo hoạt động của trò chơi giải đố kinh điển Tetris chạy hoàn toàn trong một tệp PDF. Phiên bản độc đáo này có thể chơi được trên Google Chrome và các trình duyệt dựa trên Chromium khác, cũng như Mozilla Firefox. Bạn có thể tự mình trải nghiệm tệp PDF Tetris ngay trên website của Rinsma.

Game Tetris đang chạy trên tài liệu PDF trong trình duyệt web Google ChromeGame Tetris đang chạy trên tài liệu PDF trong trình duyệt web Google Chrome

Rinsma giải thích rằng, mặc dù Adobe Acrobat/Reader đã hỗ trợ scripting mạnh mẽ cho các biểu mẫu và nội dung động trong PDF, nhưng ít người biết rằng PDFium (trình đọc PDF của Chromium) và PDF.js (của Firefox) cũng triển khai một phần hỗ trợ scripting tương tự. Các tài liệu PDF có thể chứa các trường nhập liệu văn bản, nút bấm, hộp kiểm, và các sự kiện JavaScript có thể được gắn vào các thành phần này. Từ đó, thuộc tính của các trường này có thể được sửa đổi thông qua JavaScript.

Về cơ bản, các chức năng scripting vốn dùng để kiểm tra nội dung biểu mẫu đã được tái sử dụng để thay đổi nội dung của PDF. Tài liệu sẽ tạo ra một lưới các nút bấm có thể được hiển thị hoặc ẩn theo lập trình, đóng vai trò như các “pixel” hiển thị game. Trò chơi được điều khiển thông qua các nút bấm có thể nhấp hoặc các phím bấm trên bàn phím được nhập vào một trường văn bản. Đây là một minh chứng ấn tượng cho thấy tiềm năng thực sự của các tài liệu PDF động.

DOOM trên PDF: Một Bước Tiến Táo Bạo Hơn

Không dừng lại ở Tetris, Rinsma đã đưa ý tưởng này đi xa hơn bằng cách hoàn thành việc port tựa game bắn súng góc nhìn thứ nhất ra đời năm 1993, DOOM, lên một tài liệu PDF. Dự án này dựa trên DOOM-ASCII, một phiên bản DOOM hoạt động trong môi trường chỉ có văn bản với ký tự ASCII, được biên dịch cho trình duyệt web bằng WebAssembly và Emscripten. Bạn có thể thử DoomPDF trong trình duyệt của mình—hiện tại, phiên bản này chỉ hoạt động với Chrome và các trình duyệt dựa trên Chromium.

Giao diện game DOOM phiên bản DoomPDF đang hiển thị trong trình duyệt Google ChromeGiao diện game DOOM phiên bản DoomPDF đang hiển thị trong trình duyệt Google Chrome

Mặc dù phiên bản DOOM trên PDF này khá chậm trên Chrome 134 trên M1 Mac Mini, nhưng nó vẫn hoạt động. Bài đăng blog của Rinsma cũng đề cập rằng màn hình game hiển thị đơn sắc, không có màu như dự án DOOM-ASCII gốc. Lý do là màu sắc của các “pixel” nút bấm không thể cập nhật mà không phải thay thế chúng bằng các phần tử khác. Rinsma giải thích: “Ngay cả đối với màn hình GameBoy (160x144x3) cũng cần tới gần 70.000 trường, điều này làm mọi thứ chậm đi quá nhiều.”

Cả mã nguồn của PDF TetrisDoomPDF đều có sẵn trên GitHub để những ai quan tâm có thể tìm hiểu thêm về kỹ thuật đằng sau những dự án độc đáo này.

Kết Luận

Những dự án như Tetris và DOOM chạy trong PDF không chỉ là những minh chứng thú vị về sự sáng tạo mà còn mở ra cái nhìn mới về khả năng tiềm ẩn của các định dạng tài liệu mà chúng ta thường cho là “tĩnh”. Chúng cho thấy rằng với sự hiểu biết sâu sắc về công nghệ và một chút tư duy đột phá, ngay cả những công cụ quen thuộc nhất cũng có thể làm được những điều phi thường. Đừng quên chia sẻ ý kiến của bạn về những khám phá công nghệ độc đáo này và liệu bạn có muốn thấy thêm nhiều ứng dụng tương tự trong tương lai không nhé!

Related posts

Màn Hình Gaming Tốt Nhất 2025: Hướng Dẫn Chuyên Sâu & Đề Xuất Từ Thích Công Nghệ

Administrator

Laptop Gaming Tốt Nhất 2025: Đánh Giá Chuyên Sâu Từ Thích Công Nghệ

Administrator

Tại Sao Tự Build PC Là Lựa Chọn Tối Ưu Hơn Mua Sẵn?

Administrator