rek

Kolejny tydzień, kolejny nietypowy port Dooma. Tym razem dzieło id Software trafiło do pliku .DOC

Kolejny tydzień, kolejny nietypowy port Dooma. Tym razem dzieło id Software trafiło do pliku .DOC
Jakub "Jaqp" Dmuchowski
Doom w Wordzie? Jak się okazuje, jest to możliwe, a stosowny dokument waży niespełna 7 MB.

Autorem projektu określonego mianem DooM-docm jest rezydujący w Holandii Wojciech Graj. Swoim dziełem podzielił się ze światem za pośrednictwem repozytorium na GitHubie, niemniej pobranie z niego pliku .DOC z grą to dopiero pierwszy z warunków, które musimy spełnić, aby uruchomić Dooma w Wordzie.

Doom w Wordzie

Do rozpoczęcia zabawy niezbędny będzie świeża wersja programu Word, system Windows oraz komputer z procesorem o architekturze x64. Po pobraniu najnowszej dystrybucji DooM-docm i otworzeniu dokumentu musimy nastawić się na to, że przyjdzie nam przeklikać szereg komunikatów, wliczając w to te z Windows Defender, jeśli pozostawiliśmy usługę aktywną. Jeśli uda nam się uporać z ostrzeżeniami na temat potencjalnego zagrożenia, możemy rozpocząć zabawę.

W moim przypadku najpierw musiałem uświadomić przeglądarkę, że rzeczywiście chcę pobrać ten plik, później wyciągnąć go z kwarantanny, do której został automatycznie wepchnięty przez Defendera, a na koniec skorzystałem ze wskazówek dostępnych na stronie Microsoftu, aby odblokować wykonywanie makr w dokumencie. W efekcie Doom w Wordzie wreszcie się uruchomił i, co by nie mówić, działał.

Z zapisem rozgrywki możecie zapoznać się na filmie umieszczonym na YouTubie przez Wojtka:

https://www.youtube.com/watch?v=G3XoOCMnSNg

Poruszamy się za pomocą strzałek, strzelamy zaś poprzez wciskanie CTRL, a klawisze numeryczne pozwalają przełączać wyposażoną broń. A jeśli głowimy się nad tym, w jaki sposób udało się umieścić Dooma w obrębie dokumentu tekstowego, Wojciech Graj postanowił umieścić krótkie wyjaśnienie na stronie projektu:

Dokument Word zawiera bibliotekę doomgeneric_docm.dll i dane gry doom1.wad zakodowane w base 64, które makro VBA wyodrębnia na dysk, a następnie ładuje. W każdym tiku gry doomgeneric.dll tworzy obraz bmp zawierający bieżącą klatkę i używa GetAsyncKeyState do odczytu stanu klawiatury. Pętla gry głównego makra VBA uruchamia tik w grze doom, a następnie zastępuje obraz w dokumencie najnowszą klatką.

Jako że poruszony został temat kolejnego nietypowego portu tworu Johna Romero i spółki, wypada wspomnieć o innych przedsięwzięciach w stylu DooM-docm. Doom został już uruchomiony na robocie kuchennym, Nintendo Alarmo, a nawet przeprowadzono symulację jego działania na komputerze kwantowymGuillermo Rauch pokusił się nawet o przekształcenie legendarnej strzelanki w system w stylu Captcha, który ma odsiać boty od ludzi. Oczywiście niewykluczone, że Doom to nie wasze klimaty (na co szansa jest raczej nikła, skoro to czytacie) – w takim przypadku zawsze możecie zagrać w Tetrisa w PDF-ie i wydrukować sobie zrzut ekranu.

Dodaj komentarz