Cóż… musiało się stać, prawda? Po tym, jak „adding2210” stworzył port do uruchomienia Dooma w PDF-ie, teraz przyszła kolej na „wojciech-graj”, który opracował „DooM-docm”, port Dooma działający w Microsoft Word. Co prawda nie ma dźwięku i są pewne glitche wizualne, ale framerate jest akceptowalny, a sterowanie nie jest koszmarem…
Myślę, że nikt z oryginalnego zespołu deweloperskiego nie wyobrażał sobie, że Doom zostanie zaadaptowany na tak wiele platform. Rezultat to bardzo popularne wyzwanie techniczne, bezprecedensowe „Hello World” i wiele projektów, które wciąż modyfikują, adaptują i optymalizują znaczną część jego kodu. Oczywiście pliki .WAD są (mniej więcej) nienaruszalne ze względu na prawa autorskie, ale wszystko, co otacza klasycznego Dooma jest naprawdę imponujące i nie widzę, żeby miało się to zatrzymać, przynajmniej w krótkim okresie. Co dalej na liście? Ktoś umieścił Dooma w dokumencie Worda. Tak.
„DooM-docm”: Doom w Wordzie
Biorąc pod uwagę obecny stan Worda i całego pakietu Office, myślę, że nawet sam Doomguy będzie potrzebował pomocy, aby uciec z tego piekła, ale to użytkownik GitHub „wojciech-graj” umieścił go tam w pierwszej kolejności.
Szczegóły techniczne potwierdzają, że „DooM-docm” jest source portem projektu doomgeneric. Dokument Worda zawiera kopię modułu doomgeneric_docm.dll oraz DOOM1.WAD należący do shareware'owej wersji Dooma. Dane gry są zakodowane w base64, które makro VBA wyodrębnia na dysk, a następnie ładuje. Z każdym „tickiem” moduł tworzy obraz BMP bieżącej klatki i używa funkcji GetAsyncKeyState do odczytu stanu klawiatury. Makro zastępuje obraz w dokumencie ostatnią dostępną klatką, a proces się powtarza.
„DooM-docm” wymaga najnowszej wersji Microsoft Word na edycji systemu Windows zgodnej z x64, ale jak można było się spodziewać, Windows Defender nie przepada za ładowaniem dokumentów zawierających podejrzane pliki DLL. Być może konieczne będzie dodanie dokumentu do listy wyjątków przed jakimikolwiek testami. Link poniżej!
Oficjalna strona: Kliknij tutaj
Jak pobierać z GitHub: Kliknij tutaj