Formát PDF je nepochybně mnohem univerzálnější, než si většina uživatelů uvědomuje. Pravdou však je, že až dosud, když jste slyšeli „jdu si zahrát hru, otevírám PDF“, neočekávali jste, že se hra bude odehrávat uvnitř samotného dokumentu. Ale samozřejmě, ve světě technologií nezná kreativita hranic. Jedním z příkladů je nedávná adaptace kultovních videoher, jako jsou Doom a Tetris, tak, aby fungovaly v tomto formátu.
PDF: mnohem víc, než se na první pohled zdá
Společnost Adobe vytvořila formát PDF v 90. letech 20. století jako prostředek pro sdílení dokumentů, které se konzistentně zobrazují na jakémkoli zařízení nebo operačním systému. Ačkoli jeho původní účel byl ve svých cílech poměrně omezený, faktem je, že jeho současné technické specifikace zahrnují málo známé funkce, jako je podpora JavaScriptu, které umožňují přidávat do jeho obsahu interaktivitu.
Od jeho zavedení byla tato funkce využívána jak kreativními vývojáři, tak škodlivými aktéry. Zatímco ti první našli způsob, jak na tento formát přenést videohry, ti druzí využili této složitosti k vytvoření škodlivého softwaru.
Zabíjení vesmírných démonů v kanceláři
Jestliže se však PDF stalo předmětem a motivací kreativních řešení, legendární hra Doom, vydaná v roce 1993 společností iD Software, nezůstává pozadu: byla portována na neobvyklé platformy, od kalkulaček až po elektronické těhotenské testy. Nyní ji lze díky vývojáři identifikovanému jako ading2210 hrát také v souboru PDF vytvořeném v rámci projektu DoomPDF.
Aby to bylo možné, byl původní kód hry Doom převeden na kód asm.js (optimalizovaná podmnožina jazyka JavaScript navržená pro vysoce efektivní běh ve webových prohlížečích). Vývojáři následně čelili zvláštní výzvě: vizualizaci.
Namísto použití tisíců malých jednotlivých textových políček k reprezentaci každého pixelu (což by bylo extrémně pomalé) se rozhodli přiřadit každému řádku obrazovky textové pole a pomocí znaků ASCII vytvořit monochromatickou grafiku.
Tetris jako zábavná kratochvíle
Programátor Thomas Rinsma se rozhodl prozkoumat možnosti souborů PDF vytvořením hratelné verze hry Tetris. Tento projekt nazvaný PDFTris využívá k simulaci herních bloků mřížku tlačítek, která se aktivují nebo deaktivují pomocí JavaScriptu. Na rozdíl od hry Doom, jejíž grafická složitost představuje větší výzvu, Tetris těží ze svého jednoduchého, minimalistického designu.
Implementační dokument PDFTris ukazuje, jak lze využít události JavaScriptu, například stisknutí kláves v textových polích, k vytvoření funkční herní smyčky. Tento přístup je nejen důmyslný, ale také ukazuje, že i s tak omezeným prostředím, jako je PDF, je možné vyvíjet interaktivní zážitky.