Когда вы думаете о 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 после некоторых усилий.
Комментарии (0)