Легендарный Doom запустили в графическом редакторе MS Paint

два часа назад, ,
0
DoomPaint

Технический директор Microsoft Azure Марк Руссинович выложил на GitHub проект DoomPaint. Он построен на ViZDoom — платформе на основе ZDoom, которую разработали, в первую очередь, для исследований в области ИИ. Этот проект позволяет запустить игру Doom в графическом редакторе MS Paint — но так, что последний практически не участвует в обработке данных.

Руссинович использовал оригинальный трюк с подменой буфера данных в Windows кадрами из игры. MS Paint в данном случае выступает просто в качестве «монитора» – отображает созданные ViZDoom кадры, но сам ничего не вычисляет. Данные передаются в виде растровых изображений в режиме редактирования документа. Надстройка частично блокирует кнопки в MS Paint и осуществляет низкоуровневый захват клавиатуры для обеспечения управления действиями в игре.

Для первого эпизода загружается подлинный shareware-файл DOOM1.WAD, а карты, не включенные в этот релиз, используют WAD-файлы Freedoom с лицензией BSD. Производительность зависит от ПК и выбранного разрешения, которое может варьироваться от стандартного для Doom 320 x 200 до 640 x 480. Движок работает в собственном потоке с частотой обновления 35 Гц, поэтому fps всего 35 кадров в секунду.

Поскольку каждый кадр – это реальная обработка в Paint, нажатие Ctrl+Z позволяет перемещаться назад по ним, а выбор «Файл > Сохранить» создает скриншот в формате PNG. Проект также включает оригинальную музыку из первого эпизода, преобразованную из формата MUS Doom в MIDI, а также звуковые эффекты, предоставленные движком.

Источник — DoomPaint
Поделиться
Вконтакте
ЧИТАЙТЕ ТАКЖЕ
Комментарии  0
    (без регистрации)
    Любопытный факт
    Первый массовый транзисторный приемник - Regency TR-1, выпущенный в 1954 году и стоивший 49.95 долларов. Сейчас его можно купить за 395 долларов.
    Обновить
    Свежие Комментарии
    Аватар

    ВойтиРегистрация
    Вход
    через соцсети
    Вход
    Почта:
    Пароль:
    Регистрация
    Почта:
    Имя:
    Пароль: