Декомпиляция Melee дошла до 100%: команда энтузиастов восстановила код Super Smash Bros. Melee на C так, что он собирается в бинарник, байт-в-байт совпадающий с оригинальным main.dol для GameCube. Для разработчиков это не просто новость из ретро-гейминга, а показательный кейс о том, как старый проприетарный софт превращают в изучаемый, переносимый и потенциально модифицируемый код без доступа к исходникам Nintendo.
О достижении сообщает Tom's Hardware. Речь идет о Super Smash Bros. Melee, файтинге Nintendo 2001 года для GameCube. Проект декомпиляции шел больше шести лет и добрался до главной технической цели: восстановленный C-код можно скомпилировать в main.dol версии v1.02 US, совпадающий с оригиналом на уровне байтов. Размер этого исполняемого файла, по данным источника, составляет 3,88 МБ. Да, по меркам современных игр это почти шутка. По сложности обратной разработки — совсем нет.
Важно не перепутать: это не готовый порт для ПК и не легальная раздача игры в новой упаковке. Репозиторий позволяет пересобрать исполняемый файл, но для запуска все еще нужны оригинальные ассеты: текстуры, звук и прочие данные с диска GameCube, которым пользователь владеет. Такой подход типичен для аккуратных decomp-проектов: разработчики не выкладывают коммерческие ресурсы правообладателя, а восстанавливают структуру программы и добиваются эквивалентной сборки.
Фраза «байт-в-байт идентично» здесь ключевая. В обычной обратной разработке можно получить похожее поведение, приблизительную логику и удобочитаемый код. В matching decompilation планка выше: результат компиляции должен совпасть с оригинальным бинарником. Это требует угадывать не только алгоритмы, но и детали компилятора, порядок инструкций, размещение данных, оптимизации и странности toolchain начала 2000-х. Для игры с физикой, коллизиями, персонажами, анимациями и сетом механик, которые до сих пор разбирают по кадрам на турнирах, задача получается почти спортивной дисциплиной внутри программной археологии.
Декомпиляция Melee вписывается в более широкий тренд. За последние годы сообщества вокруг старых игр все чаще берутся за восстановление кода классики: часть проектов начинается из любви к конкретной игре, часть — из вполне практичной тревоги. Оригинальное железо стареет, дорожает, ломается, а ремонт GameCube или другой консоли двадцатилетней давности не становится проще. Эмуляторы закрывают часть проблемы, но декомпиляция дает другой уровень контроля: код можно читать, профилировать, переносить, документировать и расширять.
Для русскоязычных IT-команд здесь есть знакомая инженерная мораль: легаси живет дольше, чем планировали его владельцы. Разница только в том, что в корпоративной системе обычно есть хотя бы репозиторий с историей, а в случае GameCube-игры есть бинарник, дизассемблер, терпение и форумные обсуждения. Зато результат интересен не только фанатам Nintendo. На таком коде можно изучать архитектуру игрового движка, работу с памятью на ограниченном железе, обработку ввода, физику персонажей и дизайн систем, которые выдержали 25 лет соревновательной эксплуатации.
Отдельная интрига — что будет с модами и портами. Источник осторожно говорит: ожидания уже есть, но быстрых чудес ждать не стоит. 100% декомпиляция Melee снимает один огромный барьер, но дальше начинается обычная инженерная рутина: переносимость, сборочные цепочки, замена платформозависимых частей, работа с графикой, вводом, аудио, тестирование и юридическая гигиена. Нативный порт — это не кнопка «собрать под Windows», как бы этого ни хотелось комментаторам в духе «я бы поиграл, если бы умел компилировать».
В источнике также упоминается вклад современных ИИ-инструментов в финальную фазу работы. Деталей достаточно мало, поэтому лучше не превращать это в сказку про нейросеть, которая за вечер разобрала GameCube-классику. Более реалистичный сценарий: ИИ помогает ускорять рутинные операции, подсказывать соответствия, разбирать шаблоны кода и снижать стоимость последнего процента, где ручная работа особенно вязкая. Для индустрии это, пожалуй, интереснее рекламного лозунга: ИИ оказывается не заменой инженеру, а дополнительным инструментом в очень специфичной и трудоемкой задаче.
Юридический фон при этом никуда не делся. Nintendo известна жесткой позицией к эмуляторам, фанатским проектам и репозиториям, которые, по мнению компании, нарушают ее права. Декомпиляционные проекты обычно стараются держаться в зоне, где публикуется восстановленный код, но не распространяются оригинальные игровые данные. Насколько комфортно правообладателю будет видеть вокруг Melee новые инструменты, моды и потенциальные порты, вопрос открытый. Разработчикам же этот кейс полезен уже сейчас: он показывает, что сохранение цифрового наследия давно стало инженерной практикой, а не хобби людей с лишними вечерами и старой приставкой под столом.
Следующий этап будет менее эффектным в заголовках, но важнее для экосистемы: из 100% совпадающего кода должны вырасти документация, инструменты для моддинга и, возможно, переносы на современные платформы. Технические детали и исходный указатель на проект приведены в материале ; дальше сообщество будет проверять, сможет ли аккуратная программная археология пережить не только старое железо, но и нервную систему правообладателей.