DOOM запустили на регулярных выражениях — можно скачать демо-версию

Разработчик с ником 4RH1T3CT0R7 представил необычный эксперимент под названием doom-regex, который продемонстрировал, что культовую игру DOOM можно запустить с помощью регулярных выражений (regex). Это специальный язык шаблонов для поиска, проверки и изменения текста, который в данном случае используется вместо процессора. Автор создал специальный генератор, который преобразует игровые данные в одну очень длинную строку размером 96,6 МБ. Затем обычный regex-движок выполняет поиск совпадений, а сам процесс сопоставления шаблонов используется для вычисления следующего состояния игры. Другими словами, регулярные выражения становятся своеобразной машиной, способной выполнять логику игрового движка. Telegram-канал создателя Трешбокса про технологии

Регистры, ОЗУ, буфер кадров, движок DOOM и WAD находятся в одной строке в виде обычного текста, а небольшой драйвер постоянно применяет к ней фиксированный, упорядоченный список правил. Каждое состояние игры, положение объектов, действия игрока и другие элементы кодируются в виде последовательностей символов, после чего заранее сгенерированное регулярное выражение определяет, каким должно быть следующее состояние. Таким образом, вместо обычного выполнения программного кода используются операции поиска и замены. GIF-анимация доступна по нажатию

Фактически такая реализация не является играбельной: регулярное выражение имеет большой размер, требует много памяти и вычислительных ресурсов. Скорость работы тоже очень низкая, во время записи демонстрационного видео обработка кадра занимала 3 минуты, при этом одновременно было задействовано пять машин. По словам разработчика, цель проекта заключалась в демонстрации вычислительной мощности регулярных выражений, которые при определенных условиях способны выполнять значительно более сложные задачи.

Исходный код, файлы и техническая документация опубликованы в открытом доступе на GitHub, там же можно скачать демо. В репозитории подробно описано, как создаётся регулярное выражение, каким образом кодируется состояние игры и какие есть ограничения. Этот проект стал очередным подтверждением старой шутки о том, что если какая-либо система работает, то на ней можно запустить DOOM.

Источник: trashbox.ru

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев