Оригинальный Doom удалось запустить в Microsoft Paint на скорости до 35 кадров в секунду, и это не очередная шутка из серии «я открыл GIF в редакторе». Проект DoomPaint показал Марк Руссинович, CTO Microsoft Azure: в итоге Doom в Paint работает как полноценная сборка с музыкой и звуком, а не как нарезка заранее подготовленных кадров. Для русскоязычной IT-аудитории это история не столько про ностальгию, сколько про инженерную изобретательность: старый код и банальный буфер обмена снова оказались сильнее здравого смысла.
По данным Engadget, поводом для новости стал проект DoomPaint, который запускает настоящую shareware-версию оригинального Doom и использует Paint как экран для игрового процесса. Важна именно эта деталь: речь не о стилизации под Doom и не о переписанной мини-игре «по мотивам», а об оригинальном релизе, который вывели в приложение, вообще-то созданное для каракулей, правки скриншотов и школьных мемов. Когда такой трюк делает не анонимный экспериментатор с форума, а топ-менеджер Microsoft, история автоматически выходит из жанра старого интернет-фольклора и превращается в демонстрацию зрелого инженерного любопытства.
Главная техническая деталь у DoomPaint не в самом факте запуска, а в способе вывода изображения. Руссинович описал механику на GitHub очень приземленно: каждый кадр сначала отправляется в буфер обмена Windows, а затем вставляется на холст Paint как обычное редактирование документа. То есть Paint здесь не «показывает видео» в бытовом смысле, а буквально получает поток кадров через штатные механизмы операционной системы. За счет этого весь проект выглядит не как грубый хак в духе «подсунули движок в чужое окно», а как аккуратно собранная демонстрация того, насколько гибкими могут быть самые скучные системные функции, если разработчик понимает, как они реально работают.
Отдельно впечатляет заявленная скорость: до 35 FPS. Для современного железа это, конечно, не рекорд и не повод сравнивать видеокарты, но для игры начала 1990-х и для такого пути вывода — вполне рабочая цифра. Здесь важен даже не абсолютный показатель, а сам факт, что связка «рендер кадра, буфер обмена, вставка в Paint» не развалилась в слайд-шоу на пару кадров в секунду. Более того, сборка поддерживает звук и музыку, так что перед нами не музейная инсталляция без половины функций, а достаточно цельный опыт. Именно поэтому проект выглядит убедительно: он не прячется за эффектным кадром, а выдерживает минимальную проверку на практичность.
Еще один сильный элемент этой истории — воспроизводимость. В репозитории лежат инструкции и материалы, которые позволяют повторить эксперимент на своей версии Paint. Для разработчиков это делает DoomPaint существенно интереснее любого вирусного ролика. Видео в соцсетях можно ускорить, смонтировать и выдать за инженерное чудо, а вот воспроизводимая сборка быстро вычищает маркетинговый туман. Если любой желающий может поднять проект у себя, посмотреть на ограничения, пощупать узкие места и убедиться, что Paint действительно выполняет роль экрана, новость получает реальную техническую ценность. Пускай это ценность не прикладная в продуктовом смысле, но вполне ощутимая для тех, кто любит понимать систему руками, а не по пресс-релизам.
Контекст у новости тоже идеально вписывается в старую индустриальную традицию: Doom давно стал универсальным тестом на человеческую изобретательность. С момента выхода в 1993 году его запускали на газонокосилках, принтерах, чат-ботах, игровых коробках и множестве других устройств, которым по инструкции положено заниматься чем угодно, только не отрисовкой коридоров с демонами. В источнике вспоминается даже эксперимент с кишечными бактериями: технически Doom там тоже считался «запущенным», хотя полное прохождение растянулось бы примерно на 600 лет. На таком фоне Doom в Paint выглядит почти разумным компромиссом. Это все еще абсурдно, но хотя бы происходит на обычном Windows-ПК, а не в лабораторной установке или корпусе бытовой техники.
И все же в этой новости важен не сам мем «запустили Doom еще где-то». Doom в Paint напоминает разработчикам вещь, которую легко потерять за слоями фреймворков, контейнеров и облачных сервисов: границы платформы определяются не только продуктовым замыслом, но и качеством понимания системных примитивов. Буфер обмена, операции вставки, событийная модель старого desktop-приложения, ограничения рендеринга — звучит как скучный список из документации. Но именно такие детали и становятся материалом для самых эффектных демонстраций, потому что позволяют не ломать платформу в лоб, а использовать ее собственные правила чуть более изобретательно, чем предполагали авторы интерфейса.
Для бизнеса из этой истории не вытекает немедленная мораль уровня «срочно переносим игровые движки в офисные приложения», и это даже к лучшему. Любая попытка превратить такой эксперимент в продуктовую стратегию выглядела бы как презентация, которую кто-то забыл вовремя закрыть. Зато есть другой, вполне практичный вывод: инженерная культура бренда держится не только на релизах, но и на способности его технических лидеров публично показывать, что им по-прежнему интересно устройство системы как таковой. Для Microsoft это бесплатная демонстрация живучести Windows-экосистемы. Для команд разработки — хороший антидот от избыточной абстракции: иногда самый убедительный технодемо рождается не из нового стека, а из внимательного чтения старых API и упрямого желания проверить, где заканчиваются реальные ограничения платформы.
Поэтому главный вопрос после DoomPaint звучит не «на чем еще можно запустить Doom», а «какие привычные инструменты мы сами давно списали в мебель и перестали воспринимать как конструктор». Такие истории живут годами именно потому, что соединяют ностальгию с очень конкретным инженерным навыком: видеть в банальном интерфейсе не только назначение, но и скрытый набор возможностей. Исходный контекст и детали проекта собраны в заметке .