DOOM β‘π ‘π π £π
Yes, it's literally the game, rendered as a node output
- IMAGE
This is the node that shows up in the pack browser and makes you do a double-take. Category: DOOM. Display name: DOOM. No required inputs, no optional inputs - you drop it on the canvas and it hands you an IMAGE output. It is, as far as the schema tells you, exactly what it looks like: a live game frame coming out of a ComfyUI node.
What's actually going on here
Nobody documents this one - there's no tooltip, no node description, nothing in the pack's public materials that spells out the mechanics. But the pieces line up plausibly: the pack's requirements.txt pulls in pygame, a real Python game library, alongside the physics engine (pymunk) that also powers the particle-system side of the pack. pygame isn't needed for any of the audio, depth, or color analysis elsewhere in the pack - its presence is best explained by exactly this node. Put those two facts together and the honest read is: this is a real, rendered game loop, running inside ComfyUI's process, with each call to the node handing you whatever frame the game is currently on.
What's genuinely undocumented is how you'd control it. The schema has zero exposed inputs - no keyboard, no direction, no seed. That means whatever drives the game state (if anything does, beyond an internal auto-play or a fixed demo loop) isn't wired through ComfyUI's normal node graph, and there's nothing in the public pack materials that explains it further. Treat this one as a curiosity and an easter egg from an author who's clearly having fun with the format, not a documented production node - the pack's author is also known in the community for real-time, interactive ComfyUI/video work (ComfyStream, Daydream), and this node reads like exactly the kind of "because I could" demo that comes out of that world.
The inputs and outputs that matter
- Required inputs: none.
- Optional inputs: none.
- Output: a single IMAGE.
There's genuinely nothing else in the schema. If you're expecting widgets for keybinds or level select, they're not there - at least not exposed as graph inputs.
How to install it
Via ComfyUI Manager: search "RyanOnTheInside," install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ryanontheinside/ComfyUI_RyanOnTheInside.git
cd ComfyUI_RyanOnTheInside
pip install -r requirements.txt
then restart ComfyUI. pygame is part of that requirements.txt install - if it fails to install on your platform (this occasionally trips up on unusual Python builds or headless Linux setups missing SDL system libraries), this specific node is the one most likely to be affected, even if the rest of the pack loads fine.
Common issues & troubleshooting
The node doesn't appear in your node list at all. If pygame failed to import during startup, this pack skips nodes it can't load rather than crashing the whole install - check your ComfyUI console log at startup for an import error mentioning pygame or this node specifically.
Output image is static or doesn't seem to update between runs. Given there's no documented control surface, don't assume there's a bug on your end if it doesn't behave like an interactive game - this is genuinely undocumented territory, and if you need it to do something specific, the pack's GitHub issues are the place to ask, not a guess on our part.
You expected this to be a metaphor or a joke node, not literal. It isn't a metaphor - the output type is IMAGE and the dependency list backs up that it's rendering an actual game frame. Try it and see what comes out.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | β |