Игру Тетрис запустили в PDF-файле

Когда вы думаете о PDF-файлах, вы, скорее всего, представляете себе рабочие документы, контракты и статичные изображения. Этот формат не известен как игровая платформа, но один разработчик решил использовать его именно так. Томас Ринсма, аналитик по безопасности, создал полнофункциональную версию игры Tetris внутри PDF-файла. Хотя я не думаю, что игра, получившая название pdftris, станет основной для ПК-геймеров, это интересный проект с точки зрения реализации, который демонстрирует возможности PDF-файлов при их уникальном использовании.

Вы можете играть в «Тетрис» внутри PDF-файла, открыв его в совместимом браузере. Ринсма отмечает, что поддерживаются Firefox и все браузеры Chromium, хотя в Chrome у меня получилось лучше, чем в Edge. Вероятно, это связано с тем, что в Edge используется Adobe Reader, который, по словам Ринсмы, «не соответствует требованиям по ряду параметров».

К сожалению для мобильных геймеров, на данный момент pdftris работает только в браузерах для настольных компьютеров.

Вот работающая игра «Тетрис» внутри PDF-файла. Даже есть управление с клавиатуры (путем ввода WASD в поле ввода). Кроме того, после окончания игры вы можете «сохранить» свой счет, распечатав страницу. Работает в большинстве браузеров (создано для pdfium/PDF.js)

Игра работает не совсем гладко, что неудивительно. Когда я загрузил pdftris в Edge, частота кадров в игре была настолько низкой, что я не мог играть в нее правильно. В Chrome игра работала лучше, но на экране появлялись черные линии. Но плавный геймплей – это не то, для чего нужен такой проект, как pdftris.

Создание «Тетриса» в PDF было увлекательным проектом, который также представлял собой сложную задачу. PDFium, программа для чтения PDF-файлов в Chromium, и PDF.js, программа для чтения PDF-файлов в Firefox, используют разные движки.

«Было немного сложно найти объединение функций, которые работают в обоих движках, но в итоге оказалось, что показ/скрытие «полей» аннотаций хорошо работает, чтобы сделать монохромные пиксели, а ввод с клавиатуры может быть осуществлен путем ввода текста в поле ввода»
- объяснил Ринсма в сообщении на Hacker News

После получения отзывов от пользователей и тех, кто заинтересовался проектом, Ринсма поделился записью в блоге о проекте. В нем они отвечают на первый вопрос, который, как я предполагаю, зададут многие: «Зачем вам делать Тетрис в PDF?». Короткий ответ от Ринсмы: «Почему бы и нет?». Вдохновение для проекта пришло после того, как Ринсма понял, что движки PDF в современных настольных браузерах поддерживают JavaScript и некоторые примитивы ввода-вывода.

Вы также можете ознакомиться с проектом на GitHub, чтобы увидеть код, используемый для ввода клавиш в текстовом поле, который позволяет управлять следующими блоками в pdftris.

Если вам интересно, то да, PDF можно использовать для запуска Doom. Ринсма сумел заставить классическую игру работать в PDF после некоторых усилий.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)