Содержание
DoomPaint использует Microsoft Paint как экран для Doom и разгоняется до 35 FPS. Проект выложил Марк Руссинович, технический директор Microsoft Azure и один из людей за SysInternals.
И это не картинка с имитацией игры. DoomPaint запускает реальный движок Doom через ViZDoom, грузит настоящий shareware-файл DOOM1.WAD и рисует кадры в Paint через буфер обмена Windows. Звучит как очередная шутка из серии «Doom запустили на калькуляторе», но тут особенно хороша инженерная часть.
Paint в DoomPaint работает как монитор, а не как движок
DoomPaint не заставляет Paint считать логику игры, физику или поведение монстров. По словам Руссиновича, игра рендерится без окна, а каждый кадр попадает в буфер обмена Windows и вставляется на холст Paint как обычное редактирование документа.
На странице проекта DoomPaint на GitHub Руссинович объясняет механику так: «The actual Doom engine (ViZDoom) runs the real shareware DOOM1.WAD … and renders headlessly». То есть движок работает отдельно, а Paint получает уже готовую картинку.
Технически весь фокус держится на OLE и буфере обмена. Windows давно умеет передавать между приложениями не только текст, но и объекты. DoomPaint использует этот механизм с наглостью хорошего демо-сцена проекта: кадр за кадром вставляет изображение в Paint.
Руссинович отдельно проговорил главный панчлайн: «Paint renders the game but does not compute it. Paint computes nothing. Paint has never computed anything. That’s the joke». В переводе без потери смысла: Paint показывает игру, но ничего не считает. И никогда не считал.
До 35 FPS при 320 x 200 и даже звук с музыкой
На подходящей машине DoomPaint может идти при 320 x 200 пикселях с фреймрейтом до 35 FPS. Это родная для Doom скорость, поэтому цифра выглядит не только забавно, но и вполне исторически честно.
В репозитории заявлен режим 640 x 400 пикселей. Автор предупреждает, что производительность зависит от системы. Иногда проект держит приятный темп, а иногда уходит в режим, который Руссинович описал как «spreadsheet-tier» — примерно уровень отзывчивости тяжёлой таблицы.
В DoomPaint есть звук и музыка. Для такого проекта это важная деталь, потому что многие «порты Doom на странные устройства» ограничиваются картинкой. Здесь игра остаётся игрой, пусть и с Paint в роли очень странного дисплея.
- Движок: ViZDoom
- Данные игры: shareware DOOM1.WAD
- Дополнительные WAD: Freedoom для эпизодов, которых нет в shareware-версии
- Вывод изображения: кадры через буфер обмена Windows в Paint
- Заявленный максимум: до 35 FPS
- Лицензия: MIT
Почему этот порт выделяется среди сотен других
Doom давно превратили в универсальный тест на «а можно ли вообще». Его запускали на банкоматах, принтерах, камерах, умных часах и внутри других игр. DoomPaint цепляет не самим фактом запуска, а тем, кто его сделал и каким способом.
Марк Руссинович пришёл в Microsoft в 2006 году. До этого он стал известен как один из авторов SysInternals, набора утилит для диагностики Windows. Эти инструменты до сих пор любят администраторы, инженеры поддержки и все, кто хоть раз ловил странный процесс в системе.
Сейчас Руссинович отвечает за архитектуру, безопасность и надёжность Azure. При этом он регулярно комментирует технические проблемы Windows 11. На этом фоне DoomPaint выглядит не корпоративной демкой, а нормальным хакерским развлечением человека, который всё ещё любит ковыряться в системе руками.
Для нас тут главный кайф не в том, что Doom снова куда-то запустили. Главное — Paint остался Paint. Он не стал эмулятором, не получил скрытый игровой режим и не научился рендерить 3D. Его просто превратили в окно просмотра через старые механизмы Windows.
DoomPaint уже доступен на GitHub, распространяется под лицензией MIT и использует реальный shareware DOOM1.WAD вместе с Freedoom WADs для недостающих эпизодов.