Домой Новости Игры Исходный код браузерного порта DOS-игры «Поле Чудес 2»

Исходный код браузерного порта DOS-игры «Поле Чудес 2»

Культовая DOS-классика получила вторую жизнь: разработчик воссоздал игру в браузере, используя ИИ для анализа старого бинарного кода.

Исходный код браузерного порта DOS-игры «Поле Чудес 2»
Исходный код браузерного порта DOS-игры «Поле Чудес 2» — иллюстрация к материалу. Источник: linux.org.ru

В открытый доступ выложили исходный код браузерного порта культовой DOS-игры «Поле Чудес 2», вышедшей в 1993 году. Проект реализован на языке TypeScript и позволяет запустить классику прямо в браузере, не прибегая к использованию сторонних эмуляторов или запуску оригинальных исполняемых файлов.

Разработчик порта воссоздал логику игры, опираясь на детальное изучение бинарных данных и метод дизассемблирования. В обновленной версии полностью реализованы все основные механики оригинала: от экрана приветствия и ввода имени до турнирной сетки из восьми этапов. В распоряжении игрока 16-секторное колесо, привычный выбор букв с помощью курсора-руки, открытие табло, мини-игра со шкатулками и даже возможность торговаться с виртуальным Якубовичем. Авторы также не забыли про аутентичные детали: рекламные паузы, финальную церемонию и таблицу рекордов.

Технические особенности реализации

Ключевым отличием порта стал подход «zero binaries». Вместо использования непрозрачных бинарных архивов автор перекодировал все ресурсы: спрайты и шрифты переведены в формат WebP без потерь, а словарь вопросов и таблица результатов представлены в виде JSON-файлов. Реализована система проверки: встроенные тесты способны собрать ресурсы обратно в исходные файлы, что гарантирует побайтовую точность переноса.

Для поддержки работоспособности проекта предусмотрен широкий набор инструментов: unit- и integration-тесты, а также автоматизированный smoke-тест через Playwright. Процесс развертывания максимально прост: достаточно перейти в директорию web, выполнить установку зависимостей через npm и запустить локальный сервер разработки.

Роль нейросетей в портировании

Как сообщает издание Rozetked, создатель проекта Денис Ширяев задействовал возможности модели Claude Fable 5 для переноса кода с ассемблера на TypeScript. По словам разработчика, нейросеть справилась с задачей за несколько часов, успешно переписав исходники и извлекая графические элементы игры.

Этот проект стал яркой иллюстрацией того, как современные LLM меняют подход к сохранению цифрового наследия. Использование ИИ позволило ускорить процесс восстановления сложных программных алгоритмов, которые ранее требовали ручного анализа кода месяцами. Исходный код TypeScript-части проекта опубликован под лицензией MIT, однако автор делает важное уточнение: данная лицензия не затрагивает права на сами графические и звуковые данные оригинальной DOS-игры 1993 года.

Источник: https://www.linux.org.ru