Doom w PDF-ie – jak to się nie da!?
Młody programista z liceum dokonał nietypowego wyczynu – uruchomił kultowego „Dooma” z 1993 roku w formacie PDF. Jego projekt, nazwany DoomPDF, nawiązuje do podobnych eksperymentów – działających w PDF-ie gier „Tetris” i „Breakout”. Wdrożenie wykorzystuje zaawansowane funkcje JavaScript, dostępne w dokumentach PDF. Do uruchomienia gry niezbędna jest przeglądarka oparta na silniku Chromium. Twórca projektu, Ading2210, odkrył, że specyfikacja JS dla Adobe Acrobat oferuje znacznie szersze możliwości, niż przypuszczano – od złożonej grafiki przestrzennej po interakcję z podzespołami komputera. Fundamentem projektu jest przemyślane zastosowanie starszej wersji kompilatora Emscripten. To narzędzie umożliwiło konwersję pierwotnego kodu gry napisanego w języku C na format asm.js, zdolny do działania w środowisku przeglądarki internetowej. Obsługę gry zaimplementowano poprzez system pól formularzy PDF – każdy przycisk i element interfejsu stanowi integralną część dokumentu. Jeszcze nie było Dooma na maszynie do pisania;) Największym wyzwaniem było opracowanie systemu renderowania grafiki. Zamiast konwencjonalnego podejścia z tysiącami pojedynczych elementów, twórca wprowadził ciekawe rozwiązanie: każda linia obrazu to pojedyncze pole tekstowe, a obraz konstruowany jest ze znaków ASCII tworzących różne odcienie szarości. Rezultat? Gra osiąga płynność 12,5 FPS – nie jest to imponująca wartość, ale umożliwia komfortową rozgrywkę. https://dailyweb.pl/nintendo-switch-2-zostanie-pokazany-juz-jutro-wiemy-jak-bedzie-wygladac-i-ile-ma-mocy/ Mimo że jakość grafiki ustępuje oryginałowi – widoczne są ograniczenia w palecie barw i kontrastach – samo uruchomienie tak złożonej gry w dokumencie PDF budzi podziw. Wcześniejsze próby implementacji gier w tym formacie ograniczały się do prostszych rozwiązań, gdzie każdy piksel stanowił osobny element dokumentu. Przy rozdzielczości „Dooma" takie podejście wymagałoby obsługi dziesiątek tysięcy elementów jednocześnie, co przekraczało techniczne możliwości. Aplikację udostępniono na otwartej licencji GNU GPL v2. To kolejny rozdział w fascynującej przygodzie adaptacji „Dooma” na nietypowe platformy. Tę kultową grę uruchamiano już na rozmaitych urządzeniach – od ekranów kalkulatorów, przez cyfrowe termostaty, aż po wyświetlacze wbudowane w kluczyki samochodowe.
Młody programista z liceum dokonał nietypowego wyczynu – uruchomił kultowego „Dooma” z 1993 roku w formacie PDF. Jego projekt, nazwany DoomPDF, nawiązuje do podobnych eksperymentów – działających w PDF-ie gier „Tetris” i „Breakout”.
Wdrożenie wykorzystuje zaawansowane funkcje JavaScript, dostępne w dokumentach PDF. Do uruchomienia gry niezbędna jest przeglądarka oparta na silniku Chromium. Twórca projektu, Ading2210, odkrył, że specyfikacja JS dla Adobe Acrobat oferuje znacznie szersze możliwości, niż przypuszczano – od złożonej grafiki przestrzennej po interakcję z podzespołami komputera. Fundamentem projektu jest przemyślane zastosowanie starszej wersji kompilatora Emscripten. To narzędzie umożliwiło konwersję pierwotnego kodu gry napisanego w języku C na format asm.js, zdolny do działania w środowisku przeglądarki internetowej. Obsługę gry zaimplementowano poprzez system pól formularzy PDF – każdy przycisk i element interfejsu stanowi integralną część dokumentu.