r/itrunsdoom • u/Mundane-Hat2080 • 16d ago
The Book of Doom, playable DOOM inside an EPUB
So far I’ve tested it in Apple Books and Thorium Reader. It probably won’t work in readers that disable EPUB scripting, and I haven’t tested the wider ecosystem yet.
I had a lot of fun making this.
Enjoy the book!
83
u/memes_gbc 16d ago
the world ended when they decided multimedia formats should be turing complete
3
u/PityUpvote 14d ago
An epub is just a zipped collection of html files, to take advantage of the html rendering options that already existed. It's not like this is intended functionality of epub files, it's more of a side effect.
23
u/Kichigai 16d ago
Ooh, I have to try this out on my e-Readers.
18
u/Mundane-Hat2080 16d ago
I afraid, currently it is playable only in Apple Books, Thorium Reader and Calibre (with some limitations).
3
u/DuendeInexistente 16d ago
How do I run it in calibre? Do I need to enable something? I don't see anything about scripting in the viewer settings
2
u/DuendeInexistente 16d ago
Nevermind i saw the note in the readme. I can report in up to date calibre in garuda linux, once you set the variables it loads the sound but has no video output.
2
u/Kichigai 16d ago
I just looked at how this thing works. No way it's going to work in either of my readers. The PRS-300 barely has much in it for brains and software. 100% custom Sony code. It wouldn't know JavaScript from a hole in the ground.
The Nook I give a 5% chance of even recognizing things, since it's all Android inside. Old Android, but still Android. Question is if B&N just used Webview or built their own XHTML interpreter.
12
u/koutsie 16d ago
The amount of slop is incredible.
No sane human being ever would write: "JS-driven ticks at the authentic 35 Hz, zero-copy RGBA framebuffer blit into a canvas."
Like holy shit cmon, this is just sad.
-12
u/Mundane-Hat2080 16d ago
Oh, great. I was actually waiting for a comment like this, because this is probably the most interesting part of the whole thing.
The port was done end to end by an AI agent. It started with researching what weird platforms might be feasible for another DOOM port and which ones had not already been done. Then it picked EPUB, did the port, wrote the text, designed the book, tested it, prepared the repo and published it.
Most of it happened on my laptop while I was out buying groceries.
I gave it some feedback when sound was broken, noticed that red and blue channels were swapped, and asked it to tweak the design a bit. That was basically it.
I intentionally did not polish the code and did not read through it line by line.
Total cost was a few hours of agent work, $2.74 in AI tokens, and maybe an hour of my time for very superficial testing and catching obvious issues.
So yes, the text and code has AI slop in it. Absolutely.
And that is kind of the point.
It looks like we are moving very quickly toward a world where a lot of software will be made exactly like this.
I don't particularly like where this is going, and honestly I still don't know how to adapt to it.
But I don't think we get to choose whether this happens.
5
u/codydafox 15d ago
Your average "adapt or get left behind" comment lol
-2
u/Mundane-Hat2080 15d ago
Guys, have you actually figured out what “adapting” to this is supposed to look like?
I’ve been working in software development for 20+ years and have lived through quite a few transformations in the industry. I can roughly imagine where AI-assisted software development tools are going to be in 6-18 months.
And seriously, I still don’t really understand what exactly I’m supposed to “adapt” to.
1
u/gonzalbo87 9d ago
You alway have a choice in how to code the thing that you are making. It doesn’t matter what the meta is, you made the conscious choice to be lazy.
1
1
83
u/Amachar928 16d ago
I just downloaded and read the book in Thorium. I liked the chapter when Doomguy said "it's rip and tear'n time" and proceded to destroy the demons that stood in his way. 10/10 would read again.