iLenta Меню

Ігри «Тетріс» та Doom випустили у форматі PDF

13 січня 2025, 21:08 | Roter [269]
Хоча PDF-файли зазвичай асоціюються зі статичними документами, вони підтримують JavaScript. Цим і скористалися хитромудрі програмісти.
Ігри «Тетріс» та Doom випустили у форматі PDF
Safe Life

Аналітик з безпеки Томас Рінсма запакував класичну гру «Тетріс» у формат PDF та назвав розробку Pdftris, повідомляє видання Tom`s Hardware. У головоломку з падаючими блоками можна грати у більшості браузерів. Інший розробник проробив те саме, але з грою Doom.

Про Pdftris відомо небагато, тому що на сторінці GitHub немає опису. Але Рінсма охоче спілкувався з користувачами на Hacker News та розповідав про розробку. Ідея зробити гру в незвичайному форматі спала йому на думку після того, як він зрозумів, що PDF-движки сучасних браузерів (PDFium і PDF.js) підтримують JavaScript з достатнім набором функцій вводу-виводу для створення простого проєкту на кшталт «Тетріса».

Аналітик з безпеки розповів, що йому було нелегко змусити свій «Тетріс» правильно працювати в обох двигунах. Але він знайшов рішення: «Показ і приховування полів анотацій добре підходить для створення монохромних пікселів». Крім того, Рінсма додав можливість керування з клавіатури через текстове поле під грою.

Розробник скромно визнає, що код його «Тетріса» у PDF «досить кострубатий». Однак він вважає, що це показує, наскільки потужними та гнучкими можуть бути скрипти у PDF. Щоб подивитися, що всередині Pdftris, не потрібні складні програми. Необхідно просто завантажити PDF-файл розміром 60 КБ і відкрити його у звичайному текстовому редакторі – це текст у кодуванні ASCII. Також є зрозуміліший вихідний код із коментарями. Він доступний на сторінці проєкту на GitHub.

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

PDF-движок Chromium підтримує текстові поля та кнопки, проте створення швидкого та якісного буфера кадру виявилося складним завданням. Замість відображення кожного пікселя окремим текстовим полем (що було б неефективним при роздільній здатності Doom 320×200), використовується одне текстове поле на рядок екрана, що заповнюється символами ASCII. Це дозволило досягти 6-колірного монохромного виведення.

Цей спосіб малювання досить повільний — оновлення тексту займає приблизно 80 мілісекунд на кадр. Але для гри цього достатньо. Також була зроблена текстова консоль, що прокручується, з 25 текстових полів.

Джерело: tomshardware

© 2012-2025 iLenta. Всі права захищені.
Повна версія

Різне

Sony відвантажила 75 млн ігрових консолей PlayStation 5
Sony відвантажила 75 млн ігрових консолей PlayStation 5
14 лютого 2025, 08:06 | Roter
Компанія Sony опублікувала свій черговий фінансовий звіт, який охоплює період із жовтня по грудень 2024 року.
Докладніше...
 
Apple випустить власних роботів, але не раніше 2028 року
Apple випустить власних роботів, але не раніше 2028 року
13 лютого 2025, 08:07 | Bazelas
За інформацією відомого аналітика Мін-Чі Куо, компанія Apple розглядає можливість розробки роботів для споживчого використання.
Докладніше...
 
Представлено моментальну камеру Leica Sofort 2 Burton Special Edition
Представлено моментальну камеру Leica Sofort 2 Burton Special Edition
12 лютого 2025, 21:32 | Bazelas
Leica та Burton Snowboards об'єдналися, щоб випустити спеціальну серію моментальної камери Leica Sofort 2 Burton Special Edition, присвячену піонеру сноубордингу Джейку Бертону та його захопленню фотографією.
Докладніше...
 
Представлено компактний масажний пістолет Xiaomi Mijia Fascia Gun 3 Mini
Представлено компактний масажний пістолет Xiaomi Mijia Fascia Gun 3 Mini
11 лютого 2025, 14:07 | Roter
Компанія Xiaomi представила у Китаї новий масажний пістолет Mijia Fascia Gun 3 Mini.
Докладніше...
 
LG випустила очищувач повітря PuriCare AeroHit
LG випустила очищувач повітря PuriCare AeroHit
09 лютого 2025, 23:08 | Bazelas
Компанія LG представила новий стильний очисник повітря PuriCare AeroHit із передовими технологіями очищення повітря.
Докладніше...
 
Сторінки: 1 2 3 4 5 6
Повна версія
 
© 2012-2025 iLenta. All rights reserved.