DoomPDF: Khi anh em có thể chơi game bắn súng trên 1 file PDF

16/01/2025 11:04
DoomPDF: Khi anh em có thể chơi game bắn súng trên 1 file PDF

Doom - tựa game bắn súng góc nhìn thứ nhất huyền thoại do id Software phát triển cho hệ điều hành DOS được ra mắt vào năm 1993. Dù đã hơn 30 năm tuổi, tựa game này vẫn tiếp tục được các nhà phát triển tìm cách để chơi trên những nền tảng sáng tạo nhưng cũng không kém phần “kỳ lạ”.


Hiện tại, danh sách các nền tảng có thể chạy Doom lại được bổ sung thêm một cái tên mới: PDF. Một học sinh trung học đam mê lập trình và an ninh mạng đã phát triển dự án DoomPDF, chứng minh rằng việc “tiêu diệt cacodemon trên sao Hỏa” đều có thể thực hiện trên bất kể nền tảng nào được sử dụng. Anh em có thể tải file PDF này và chơi thử ở đây.


DoomPDF: Bắn súng trên PDF


Nhà phát triển Ading2210 đã tạo ra DoomPDF dựa vào việc khai thác khả năng hỗ trợ JavaScript của tiêu chuẩn PDF. Theo Ading2210, Adobe Acrobat hỗ trợ đầy đủ thư viện PDF JS, cho phép thực hiện những tính năng đáng kinh ngạc như: Render 3D, hardware detection và nhiều điều khác nữa. Tuy nhiên, DoomPDF không dựa vào Adobe Acrobat mà thay vào đó sử dụng trình duyệt Chrome và các trình duyệt dựa trên nhân Chromium. Các trình duyệt này hỗ trợ một "PDF engine" và API có phần hạn chế hơn nhưng vẫn đủ khả năng thực hiện các phép tính cần thiết để chạy tựa game này.


Cách Doom hoạt động trên PDF


Ading2210 đã biên dịch mã C gốc của Doom bằng một phiên bản cũ hơn của Emscripten nhắm đến asm.js thay vì WebAssembly. Về mặt điều khiển (di chuyển, bắn súng…), người chơi có thể thực hiện thông qua các trường văn bản và phím bấm trong PDF. Về khả năng hiển thị đồ họa, DoomPDF có thể hiển thị "Six-color monochrome" (ảnh đơn sắc có 6 sắc thái), đủ để tái hiện một cách cơ bản các khung cảnh trong game. Mặc dù phiên bản này không được tối ưu hóa về hiệu năng, DoomPDF vẫn được coi là “chơi được”.


Meme "Chạy Doom trên mọi thứ"


Kể từ khi id Software cung cấp mã nguồn của Doom vào năm 1997, một phong trào đầy tính “meme” được lan rộng, nơi các lập trình viên cố gắng chạy Doom trên những nền tảng và thiết bị kỳ lạ nhất mà họ có thể làm. Doom đã được chứng minh là có thể chạy trên:



Tin xem thêm

Mark Cuban: AI sẽ buộc mọi người phải ra ngoài chơi và tương tác với nhau nhiều hơn.

Chuyên mục UH Plus
09/06/2025 10:22

Mark Cuban: AI sẽ buộc mọi người phải ra ngoài chơi và tương tác với nhau nhiều hơn.

Xuất hiện vùng áp thấp ở Biển Đông, có khả năng mạnh lên thành bão

Chuyên mục UH Plus
09/06/2025 10:17

Vùng áp thấp đang xuất hiện trên Biển Đông sáng nay có khả năng rất cao sẽ phát triển mạnh lên thành áp thấp nhiệt đới và không loại trừ khả năng có thể phát triển thành ...

Samsung Galaxy G Fold, chiếc máy gập làm 3 tiếp tục hé lộ thông tin cho anh em..

Chuyên mục UH Plus
08/06/2025 20:38

Samsung Galaxy G Fold, chiếc máy gập làm 3 tiếp tục hé lộ thông tin

Trận Malaysia đấu tuyển Việt Nam nguy cơ ế vé

Chuyên mục UH Plus
08/06/2025 20:35

2 ngày trước khi ĐT Việt Nam đá trên sân của ĐT Malaysia, vé của trận đấu này vẫn chưa được bán hết.

Anh em biết có bao nhiêu % iPhone đang chạy iOS 18?

Chuyên mục UH Plus
07/06/2025 09:30

Có bao nhiêu % iPhone đang chạy iOS 18?

Sáng nay, gần 103.000 thí sinh Hà Nội chính thức tham dự kỳ thi vào lớp 10

Chuyên mục UH Plus
07/06/2025 09:27

Sáng nay, 7-6, thí sinh trên địa bàn Hà Nội làm bài thi môn ngữ văn, môn thi đầu tiên của kỳ thi tuyển sinh lớp 10 trung học phổ thông năm học 2025-2026.

Anh em có biết: Tại sao người ta lại tin tưởng đánh giá ẩm thực của 1 công ty sản xuất lốp xe?

Chuyên mục UH Plus
06/06/2025 23:58

Tại sao người ta lại tin tưởng đánh giá ẩm thực của 1 công ty sản xuất lốp xe? (có podcast AI)

Giá điện, giá nhà cho thuê kéo CPI tháng 5 tăng

Chuyên mục UH Plus
06/06/2025 23:55

Giá điện sinh hoạt, giá nhà cho thuê tăng là nguyên nhân chủ yếu khiến chỉ số giá tiêu dùng (CPI) tháng 5-2025 tăng 0,16% so với tháng trước.

Anh em thấy đẹp hay xấu? Xuất hiện những hình ảnh concept về giao diện của iOS 26..

Chuyên mục UH Plus
05/06/2025 10:13

Xuất hiện những hình ảnh concept về giao diện của iOS 26?