Kategorien

EINE PDF-VERSION VON DOOM IST JETZT VERFÜGBAR

Der Schöpfer von DoomPDF wurde durch das kürzlich veröffentlichte PDF-basierte Tetris inspiriert.
J.o.k.e.r
J.o.k.e.r
Eine PDF-Version von Doom ist jetzt verfügbar

Ein enthusiastischer und kreativer College-Student hat ein überraschend interessantes Projekt in Angriff genommen: Er wollte eine spezielle PDF-Version des kultigen Spiels Doom erstellen, was ihm auch gelungen ist. Er konnte die spezielle Umgebung nutzen, weil der PDF-Container die Verwendung von JavaScript erlaubt, obwohl ein großer Teil der ursprünglichen Funktionen aus Sicherheitsgründen deaktiviert ist.

Im Prinzip ist es möglich, mit der Adobe Acrobat-Plattform dreidimensional zu rendern, dank der umfangreichen JS-Spezifikation, die sie unterstützt, aber eine solche Funktionalität ist nicht weit verbreitet, zumindest nicht in der breiten Öffentlichkeit, wegen der Sicherheitsrisiken, die solche Programme mit sich bringen. Dem steht natürlich die jüngste Entwicklung von Tetris im PDF-Format entgegen, die ebenfalls für Aufsehen gesorgt hat.

Aber zurück zur PDF-Version von Doom, die für die meisten Menschen immer noch interessanter ist als ein einfaches Tetris. Der Student, der den Spitznamen Ading2210 trägt, wählte für das Projekt einen Chromium-basierten Webbrowser. Moderne Webbrowser beherrschen jedoch nur einen kleinen Teil der offiziell unterstützten JS-Spezifikation, um die Angriffsfläche zu verringern und den Betrieb sicherer zu machen.

Im Fall von Doom PDF wurde der in C geschriebene Code mit einer alten Version von Emscripten kompiliert, die eher auf asm.js als auf WebAssembly abzielt. Dadurch kann der Code ohne Probleme in der begrenzten JS-Umgebung des PDF-Handler-Moduls eines bestimmten Webbrowsers ausgeführt werden. Die Eingabebefehle werden erfolgreich über die PDF-Engine des Chromium-Webbrowsers an das Spiel weitergegeben, wobei die Unterstützung der Engine für Textfelder und Schaltflächen genutzt wird, so dass nicht nur die Bewegung steuerbar wird, sondern auch Karten- und Waffenoperationen durchgeführt werden können. Die Portierung, die auf dem doomgeneric-Quellcode aufbaut, hatte natürlich auch ihre Herausforderungen in Bezug auf die visuelle Darstellung und das Framebuffer. 

Galerie öffnen

Das Endergebnis ist erstaunlich detailliert, obwohl es auf ASCII-Zeichen basiert und nur sechs Graustufen verwendet, so dass der Kontrast nicht sehr stark ist. Der Entwickler sagt, dass die Dinge in früheren PDF-basierten Spielen einfacher waren, da man einzelne Textfelder als Pixel verwenden konnte, die ein- und ausgeschaltet werden konnten, so dass die Pixelanzeige relativ glatt war. Bei einer Auflösung von 320 x 240 Pixeln würde diese Methode insgesamt 64 000 solcher Textfelder erfordern, die schnell ein- und ausgeschaltet werden können, was für dieses Projekt nicht machbar war.

Daher musste eine andere Methode gefunden werden: Anstelle von Textfeldern für jedes Pixel wies Ading2210 jeder Zeile der angezeigten Pixel ein separates Textfeld zu, das die oben erwähnten ASCII-Codes in sechs Grautönen enthielt. Diese Rendering-Methode funktioniert recht gut, aber die Geschwindigkeit ist geringer als bei klassischen Spielen: Es dauert etwa 80 Millisekunden, um ein Vollbild mit ASCII-Zeichen zu rendern, was zu einer Leistung von etwa 12,5 FPS führt. Das ist zwar etwas besser als die Diashow, aber ein bisschen übertrieben, aber darum geht es hier nicht, sondern um die Tatsache, dass bereits eine PDF-Version von Doom erstellt wurde.

Das kultige Spiel wurde im Laufe der Jahre auf viele, viele Plattformen portiert, darunter das eingebaute Display eines Roboter-Rasenmähers, Tastaturen mit Display-Tastenkappen und sogar Notepad. Wer eine PDF-Version von Doom ausprobieren möchte, findet sie hier.

Wir empfehlen Ihnen gerne

    Teste

      Diesbezügliche Artikel

      Zurück zum Seitenanfang