Sunday, 12 January 2025

Show HN: Doom (1993) in a PDF https://bit.ly/4jeo1jO

Show HN: Doom (1993) in a PDF I made a Doom source port that runs within a PDF file. I was inspired by the recent HN post about Tetris in a PDF ( https://bit.ly/3C5N8V9 ) and I wondered if I could get Doom to run using a similar method. It turns out that old versions of Emscripten can compile C to asm.js code that will happily run inside the limited JS runtime of the PDF engine. I used the doomgeneric ( https://bit.ly/42u9iLN ) fork of the original Doom source, as that made writing the IO fairly easy. All I had to do was implement a framebuffer and keyboard inputs. Unlike previous interactive PDF demos, the output for DoomPDF is achieved by creating a text field for each row of pixels in the screen, then setting their contents to various ASCII characters. This gives me a 6 color monochrome display, that can be updated reasonably quickly (80ms per frame). The source code is available at: https://bit.ly/3WhAol4 Note that this PDF can only run in Chromium-based browsers that use the PDFium engine. https://bit.ly/4h9z4sE January 13, 2025 at 01:50AM

No comments:

Post a Comment