N+1
Январь
2025
1
2 3
4
5 6 7 8 9 10
11
12
13 14 15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

DOOM запустили на PDF

0
N+1 
Энтузиаст с ником ading2210 смог запустить легендарный шутер DOOM внутри PDF-файла. Для этого он воспользовался возможностью обработки JavaScript PDF-движком, который используется в браузерах на базе проекта Chromium. В качестве базы послужил код проект doomgeneric — специальной реализации движка DOOM с минимальными зависимостями для облегчения портирования и запуска на различных платформах. Чтобы встроить игру внутрь PDF, ее код сначала был скомпилирован в подмножество JavaScript, предназначенное для выполнения с высокой производительностью (asm.js). Интерфейс игры и пользовательский ввод реализованы с помощью текстовых полей и кнопок — стандартных объектов, которые поддерживает PDF-движок. Каждая строка экрана представляет собой отдельное текстовое поле, содержимое которого заполняется различными ASCII-символами. Это позволило добиться монохромного изображения с шестью оттенками. Обновление всех текстовых строк занимает около 80 миллисекунд на один кадр. Также автор добавил в документ консоль из 25 текстовых полей, с помощью которых на экран выводится дополнительная техническая информация. Файл с игрой и исходный код доступны на GitHub.