DOOM for Nuke

DoomNode is a Nuke NDK generator node that embeds PureDOOM directly inside Nuke, outputs the live DOOM framebuffer as float RGBA, and lets you play from a standard Viewer using on-node Start DOOM and Stop DOOM controls.

First submitted: 27 May 2026

Updated: 28 May 2026

Author: ahmed ramadan

Website: https://www.linkedin.com/in/a-ramadan0096

Compatible Nuke versions: 14.0 or later

Compatibility: Windows

What this is

  • A single Nuke node called `DoomNode` that:

  1. Holds a private PureDOOM game instance inside the node's C++ Op.

  2. Runs DOOM at its native ~35 Hz on a Python QTimer, independent of Nuke's timeline.

  3. Copies DOOM's 320×200 framebuffer into Nuke's float RGBA image stream each tick.

  4. Captures keyboard input via a QApplication event filter, toggled by `Start DOOM` / `Stop DOOM` buttons on the node properties panel.

    Architecturally it is a `DD::Image::Iop` (image operator) configured as a generator — zero inputs, one output, fixed format.

Watch demo

Installation

  • Extract nuke versions folder into your .nuke directory or just pick your installed Nuke version, then copy each of menu.py and init.py content into your existing files or just extract them if you don't have ones

Source code licence: GPL-2.0.

Important distribution note: this project statically links GPL-2.0 PureDOOM into a Nuke NDK plugin that also links Foundry's proprietary SDK. Because of that combination, compiled binaries should not be publicly distributed. For a Nukepedia listing, link to the source repository and documentation only; do not upload `DoomNode.dll`, `DoomNode.so`, or `DoomNode.dylib`.

or register to download or rate.

Comments

or register to join the conversation.

Download Verification