Microsoft Paint запустил DOOM в качестве «монитора»: проект от CTO Azure работает на реальном движке
В мире ретро-гейминга снова появился новый порт DOOM, но этот проект выделяется своей необычной архитектурой. Разработкой занимался Марк Руссинович (Mark Russinovich), главный технолог облачного подразделения Azure в корпорации Microsoft. Его проект, получивший название DoomPaint, использует классический редактор изображений Microsoft Paint в качестве «монитора» для отображения игрового процесса.
Как это работает: хак на уровне OLE
В основе проекта лежит технический трюк, использующий возможности интерфейса OLE (Object Linking and Embedding). Движок игры (ViZDoom) работает в «бесэкранном» режиме: он не отправляет изображение на видеовыход монитора. Вместо этого каждый кадр игры помещается в буфер обмена Windows, откуда Microsoft Paint автоматически подхватывает его и отрисовывает на холсте программы.
Автор проекта отмечает, что это решение позволяет игре работать с приемлемой производительностью — до 35 FPS. Руссинович считает этот показатель «привлекательным» именно в контексте игр 1990-х годов. Однако он честно предупреждает, что скорость может иногда падать до уровня, который он иронично называет «табличным» (spreadsheet-tier), намекая на характерные для старых программ задержки.
Важно понимать: Paint здесь выступает только как визуализатор. Он не участвует в вычислениях игровой логики или физики — это делает движок ViZDoom. Как иронично заметил автор, «Paint никогда ничего не вычислял».
Технические детали и совместимость
Проект использует оригинальный shareware-версию DOOM1.WAD. Для восполнения отсутствующих в бесплатной версии эпизодов применяются лицензионные пакеты Freedoom (с открытой лицензией BSD). Звуковое сопровождение и музыка также работают корректно.
Согласно инструкциям на странице проекта, система способна выдерживать полную производительность в разрешении 320 x 200 пикселей. При желании можно увеличить разрешение до 640 x 400, хотя это может повлиять на стабильность кадров.
Код проекта распространяется под лицензией MIT. Все файлы, ресурсы и инструкции доступны для скачивания и изучения на официальном репозитории GitHub. Там же можно найти подробные руководства по запуску.
О разработчике
Марк Руссинович — известный специалист в индустрии, который присоединился к Microsoft в 2006 году. Он превратил SysInternals в ключевой инструмент диагностики Windows и позже сформировал архитектуру безопасности и надежности облачной платформы Azure. В последние годы он активно участвует в обсуждении проблемной наследия системы Windows 11.
Увлечение ретро-геймингом не является для него чем-то необычным. Ранее Руссинович уже демонстрировал свои навыки программирования, например, запуская DOOM с использованием только регулярных выражений.