Skip to content
Марк Руссинович запустил Doom в Microsoft Paint через буфер обмена Windows
06 августа 05:56 1 Просмотров Новости

Марк Руссинович запустил Doom в Microsoft Paint через буфер обмена Windows

Технический директор Microsoft Azure и создатель легендарного набора утилит Sysinternals Марк Руссинович представил проект DoomPaint — классический Doom, работающий прямо внутри интерфейса Microsoft Paint. Разработчик опубликовал исходный код на GitHub под репозиторием markrussinovich/DoomPaint. интерфейс DoomPaint в Microsoft Paint

Paint как монитор: ирония и техническая хитрость

Главная идея проекта — использование Paint в роли «монитора». Как отмечает сам Руссинович: «Paint рендерит игру, но не вычисляет её. Paint не вычисляет ничего. Paint никогда ничего не вычислял». Редактор не выполняет никаких вычислений — он лишь отображает кадры, которые поступают через нестандартный канал доставки.

Реальный игровой движок работает в фоновом режиме. Используется модифицированная версия ViZDoom, запущенная в «headless»-режиме (без графического интерфейса). Движок рендерит кадры и передаёт их в Paint через хитрый трюк с буфером обмена Windows на уровне OLE (Object Linking and Embedding). Кадры непрерывно вставляются на холст Paint как обычные правки документа.

Производительность и совместимость

Проект поддерживает оригинальный shareware-файл DOOM1.WAD, а также ассеты Freedoom для полноценной игры. Игра выдаёт 35 кадров в секунду при родном разрешении 320 × 200 пикселей. Воспроизводятся классические звуковые эффекты и MIDI-музыка. игровой процесс DoomPaint при 35 FPS

Уникальные бонусы интеграции с Paint

Поскольку Paint воспринимает каждый вставленный кадр как обычное действие редактирования документа, стандартные функции редактора приобретают неожиданный игровой смысл:

  • Нажатие Ctrl + Z позволяет «перематывать смерть» — отменять свои проигрыши назад, возвращаясь к предыдущим кадрам
  • Кнопка сохранения в любой момент создаёт легитимный файл .png с текущим моментом игры

Инструменты разработки и доступность

Исходный код проекта написан на Python с использованием ассистентов Copilot и Claude. Любой желающий может ознакомиться с реализацией и запустить DoomPaint на своём ПК — проект доступен в открытом доступе на официальной странице GitHub. репозиторий markrussinovich/DoomPaint на GitHub

Проект стал очередным примером энтузиазма сообщества, запускающего Doom на самых неожиданных платформах — на этот раз с непосредственным участием одного из ключевых архитекторов современной инфраструктуры Microsoft.

Поделиться

Похожие публикации