Минутка обратного проектирования

Минутка обратного проектирования
КДПВ

В рамках эксперимента Qwen3.8-Flash-Next в паре с DeepSeek Harness была поставлена задача сделать source порт Commander Keen Episode 4.

После 4 дней разбора бинарников модель написала, что всё готово:

Меню
Меню
Первый уровень
Первый уровень

В целом, механики внутри даже работали. Можно было ходить, прыгать, стрелять и т. п. Полностью работает звук прямо сразу. Но графика и код — увы.

Учитывая, что у модели есть зрение, попросил сделать скриншоты и самостоятельно сравнить. Получилось прикольно.

Оригинал выглядит так:

Сочный 16-цветный EGA
Сочный 16-цветный EGA

Как видит модель:

Что-то пошло не так
Что-то пошло не так

Оказалось, что не так просто сделать корректный скриншот из под Linux, особенно в безголовом режиме, когда не поднимается реальное окно. Интерактивно несколько часов потратили с моделью, пока не понял причину, что она не видит свои результаты из-за картинки. Фикс оказался простой — модель поняла, что надо снимать OpenGL буфер, а не просто скриншот.

Потом сверяли разрешения экрана и количество цветов. Тут пришлось помочь, т. к. игра запускалась изначально с меню в текстовом режиме:

Чуть кривой скриншот, но понятно
Чуть кривой скриншот, но понятно

А в текстовом режиме у нас 640*350. А только потом уже шла игра в 320*200. У модели самостоятельно сносило башню от этого.

И вот к вечеру мы пришли с моделью к такой картинке:

Справа оригинал
Справа оригинал

Сравни и напиши, что не так, дескать.

Я попробовал. Итерации 4 в эпистолярном жанре. Прогресса особо не было.

Что помогло — заставил промптом явно сравнивать картинки попиксельно, написал, что меня нет и ушел спать. Итог оказался сегодня в рабочем каталоге:

Шаг 3
Шаг 3
Шаг 4
Шаг 4
Шаг 7
Шаг 7
Шаг 8
Шаг 8
Шаг 11
Шаг 11
Шаг 12
Шаг 12
Шаг 13
Шаг 13
Шаг 15 — выглядит идентично
Шаг 15 — выглядит идентично

Где-то в 1:41 ночи сделана первая картинка. Модель нашла что-то и перезапустила процесс.

Последняя картинка — 2:31. Т.е. за 50 минут полностью отлажен рендеринг глобальной карты. Не думаю, что человек бы справился. Осталось дорисовать персонажа, но тут какой-то из процессов на машине занял весь диск. Поэтому пока всё. Наблюдаю за экспериментом дальше.

Конечно, возможность поставить задачу декомпиляции и портирования сложной программы с графикой и звуком и получить приемлемый результат это поразительно.

Бесплатный
Локальный ИИ10
Тесты3
Дневники по горячим следам3
Обратное проектирование1
Комментарии
avatar
Здесь будут комментарии к публикации