Культові ігри “Тетріс” і Doom тепер доступні у форматі PDF
1 min read

Культові ігри “Тетріс” і Doom тепер доступні у форматі PDF

Фахівець із кібербезпеки Томас Рінсма створив незвичайну версію класичної гри “Тетріс”, упакувавши її у PDF-файл. Проєкт отримав назву Pdftris.

Про це повідомляє Tom’s Hardware.

Грати в цю головоломку з падаючими блоками можна прямо в браузері. Інший розробник пішов ще далі, адаптувавши у формат PDF культову гру Doom.

Pdftris став можливим завдяки тому, що сучасні PDF-движки браузерів (зокрема, PDFium та PDF.js) підтримують мову програмування JavaScript із достатніми можливостями для створення ігор. Томас зізнається, що реалізація задуму виявилася складним завданням, оскільки йому довелося знайти спосіб зробити гру сумісною з обома платформами. Він використовував техніку показу та приховування полів анотацій для імітації пікселів, створивши монохромну графіку. Для зручності управління додав текстове поле під грою, яке дозволяє керувати “Тетрісом” через клавіатуру.

Скриншот Pdftris

Хоча сам автор визнає, що код Pdftris виглядає недосконалим, він демонструє потужність скриптів у форматі PDF. Гру можна завантажити як невеликий файл (близько 60 КБ) і навіть відкрити у текстовому редакторі, оскільки вона написана в ASCII. Крім того, зрозумілий вихідний код із поясненнями доступний на GitHub.

У свою чергу, розробник під псевдонімом ading2210 створив версію культової відеогри Doom, яка також працює у PDF-форматі. Цей проєкт, названий DoomPDF, працює в браузерах на основі Chromium завдяки використанню PDFium. Головною складністю при створенні гри стало малювання кадрів: замість створення окремого текстового поля для кожного пікселя, застосовується оптимізація — один рядок екрану відображається через текстове поле, заповнене ASCII-символами. Такий підхід забезпечує 6-колірний монохромний вивід.

Скриншот DoomPDF

Швидкість оновлення кадрів у DoomPDF становить близько 80 мс на кадр, що, хоч і повільно, достатньо для гри. Окрім цього, розробник додав текстову консоль із функцією прокрутки, яка використовує 25 текстових полів. Код DoomPDF також опубліковано на GitHub.

Ці проєкти демонструють потенціал нестандартного використання PDF-файлів, який виходить далеко за межі простого відображення документів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *