DOOM in Altium Designer. The PCB can wait.
Download · Controls · Build from source
Doomium runs DOOM inside a frame on your board. Move the frame and the game follows it; delete the frame and the game closes. Pick a renderer: a crisp window, PCB fill primitives, or colored PCB regions.
This version is for Altium Designer 25 on Windows x64. You'll also need a game WAD: Freedoom works, or you can use an IWAD from your own copy of DOOM. Game data isn't included in the download.
-
Download Doomium-v0.3.0-ad25-win-x64.zip and extract it.
-
Save your documents and close Altium.
-
Open PowerShell in the extracted folder and run:
powershell -ExecutionPolicy Bypass -File .\Install-Doomium.ps1 -Prebuilt
-
Start Altium again. You can choose your WAD when the game starts, or put it beside the installed
Doomium.dllbeforehand. The installer prints that folder's path.
The installer handles registration and keeps a backup when updating an existing install. Altium supplies the .NET runtime; you only need the SDK if you want to build from source.
If Altium is installed somewhere else
The default program folder is C:\Program Files\Altium\AD25. Pass -AltiumInstallDir to use a different one.
The data folder is detected automatically if there is only one. If you have several Altium installations, pass -AltiumDataRoot 'C:\ProgramData\Altium\Altium Designer {…}' with the folder for your AD25 installation.
Add -ValidateOnly to check the paths and menu resources before installing.
Open a .PcbDoc, draw four connected tracks forming a rectangle, and select all four. Then choose one of the three Tools → Convert → Doomium commands.
There's a catch with Altium's Place → Rectangle tool: its grouped rectangle doesn't reliably expose its tracks to the plugin. Use Tools → Convert → Explode Rectangle to Free Primitives first, select the four tracks, and try again. A single rectangular fill works too. Keep the frame aligned with the board axes.
Doomium Original draws the game in a window over the PCB. Doomium Primitives draws it with PCB fills; Doomium Regions uses colored PCB regions. The latter two change the board in memory while running. Try them on a spare .PcbDoc first and don't save during playback. How the renderers work.
Click the game to focus it. Middle-click over it to capture the mouse, then middle-click again when you want your Altium pointer back. You can grab the exposed frame border to move it around.
| Action | Control |
|---|---|
| Forward / back | W / S or ↑ / ↓ |
| Strafe | A / D |
| Turn | Mouse while captured, Q / E, or ← / → |
| Run | Hold Shift |
| Fire | Left mouse button or Ctrl |
| Use / open doors | Right mouse button or Space |
| Change weapon | 1–7 |
| Automap | Tab |
| Capture / release mouse | Middle mouse button over the game |
| Show these controls | F1 in Original mode |
| Stop | Esc, or run the active Doomium command again |
Original mode draws a 320×200 image scaled to the frame, with an FPS counter and an F1 help overlay. Its pixels aren't saved in the .PcbDoc or included in fabrication output. Native modes use mechanical layers and leave the original frame in place; they restore temporary objects, colors, names, and visibility when playback stops normally. Their FPS depends heavily on board complexity and scene detail. On the test machine, complex scenes in Regions ran in single-digit FPS. %LOCALAPPDATA%\Doomium\doomium.log records native frame rates.
You'll need AD25 installed locally and a .NET SDK that can target net6.0-windows. The engine source is already in this repository.
dotnet build .\Doomium\Doomium\Doomium.csproj -c ReleaseTo build and install in one go, close Altium and run .\Doomium\Doomium\Install-Doomium.ps1. To make a release ZIP, run .\Build-Release.ps1; the archive and its SHA-256 checksum go into dist/.
The build references SDK assemblies from your Altium installation. Those DLLs aren't included in the release.
The engine is Managed Doom, a C# port of DOOM by Nobuaki Tanaka. Doomium and the included engine source are licensed under GPL v2 or later. See LICENSE and third-party notices for the upstream revision and copyright details.
Кратко по-русски
DOOM прямо в Altium. Разводку платы можно ненадолго отложить.
Скачайте ZIP из релиза, распакуйте его и закройте Altium. В папке с файлами запустите powershell -ExecutionPolicy Bypass -File .\Install-Doomium.ps1 -Prebuilt. WAD выберите при первом запуске игры; подойдёт, например, Freedoom 2.
Рамка пока должна состоять из четырёх дорожек. Если нарисовали её через Place → Rectangle, сначала выполните Tools → Convert → Explode Rectangle to Free Primitives. Выделите все четыре дорожки и выберите Tools → Convert → Doomium Original, Doomium Primitives или Doomium Regions. Подойдёт и один прямоугольный Fill.
Средняя кнопка мыши включает и выключает захват. WASD — движение, ЛКМ — выстрел, ПКМ — открыть дверь или нажать кнопку, Shift — бег. В режиме Original подсказка открывается по F1. Выйти из игры — Esc. Режимы Primitives и Regions временно меняют открытую плату, поэтому сначала попробуйте их на отдельном .PcbDoc и не сохраняйте документ во время игры.
