Больше, чем просто документы: «Тетрис» и Doom запустили в PDF

  • 17.01.2025 00:14
  • 3.5k+

Обычно PDF-файлы используют для хранения текстов и картинок, но оказалось, что они умеют гораздо больше. Благодаря поддержке JavaScript, программисты создали игры, которые запускаются прямо в PDF, сообщает Tom`s Hardware.

Аналитик по безопасности Томас Ринсма смог упаковать в формат PDF классический «Тетрис». Свою версию игры он назвал Pdftris. В нее можно играть прямо в браузере.
Ринсма выяснил, что движки PDF в браузерах (PDFium и PDF.js) поддерживают JavaScript с возможностью ввода-вывода, что позволило создать такую простую игру.
Ринсма рассказал, что ему было сложно заставить «Тетрис» работать правильно в обоих движках. Он использовал метод показа и скрытия полей для создания пикселей и добавил управление с клавиатуры через текстовое поле.
Код игры получился «довольно корявым», но он показывает, насколько мощными и гибкими могут быть PDF-скрипты. Чтобы посмотреть код Pdftris, достаточно скачать PDF-файл (всего 60 КБ) и открыть его в текстовом редакторе. Также на GitHub есть более понятный код с комментариями.
Другой разработчик, под псевдонимом ading2210, создал DoomPDF – версию игры Doom, которая тоже работает в браузере через PDF. Эта игра использует движок PDFium и работает только в браузерах Chromium. Для создания изображения он использует текстовые поля, заполняя их символами ASCII, что позволяет получить 6-цветный монохромный вывод.
Обновление изображения происходит медленно (80 миллисекунд на кадр), но для игры этого достаточно. Также в DoomPDF есть текстовая консоль. Код игры на C также доступен на GitHub.

вчера 19:19
1.5k+

Команда Team Spirit выиграла $400 тыс. в Counter-Strike 2 на турнире IEM Cologne 2025

Сербская киберспортивная команда Team Spirit с российско-украинским составом стала победителем турнира IEM Cologne 2025 по Counter-Strike 2. В финале, прошедшем 3 августа в кёльнской Lanxess Arena, команда уверенно обыграла европейский состав немецкого клуба MOUZ со счётом 3:0...

вчера 18:14
2.7k+

«Странную» картину Дали, купленную на распродаже за $200, оценили в $40 тысяч

Аукционный дом Cheffins выставит на торги картину Сальвадора Дали, купленную два года назад на распродаже за 150 фунтов (около 200 долларов). Произведение под названием «Vecchio Sultano» («Старый султан») оценили в 26–40 тысяч долларов, сообщает The Guardian...

вчера 18:10
2.1k+

Археологи раскопали в Турции древнейшие стеклянные артефакты

Археологи обнаружили в турецком Бюклюкале древние стеклянные предметы, меняющие представление о технологиях и культурном обмене бронзового века. Это одни из самых ранних стеклянных изделий, найденных в Центральной Анатолии, сообщает Arkeonews...

вчера 18:08
4.3k+

Белый носок Майкла Джексона продали на аукционе за 6200 евро

Белый носок с кристаллами, в котором Майкл Джексон выступал на концерте в Ницце 27 июня 1997 года, продали на аукционе за 6200 евро. Об этом сообщил телеканал BFMTV. Лот выставили на торгах в Ниме, которые проводил аукционный дом Maison Ivoire Nîmes...