Энтузиасты декомпилировали Dragon Age: Origins на 60% и готовят перенос культовой RPG на 64-битный движок
Команда энтузиастов отчиталась о преодолении важного рубежа в масштабном проекте реверс-инжиниринга культовой ролевой игры Dragon Age: Origins Ultimate Edition. На текущий момент разработчикам удалось декомпилировать 60% исходного кода и связать 55% полученных данных. Над проектом на протяжении почти 3 лет трудятся 6 профессиональных программистов. Главная цель инициативы заключается в воссоздании читаемого исходного кода на языке C из скомпилированного машинного кода без доступа к закрытым архивам Electronic Arts или BioWare. В общей сложности авторам предстоит вручную разобрать и структурировать 34415 отдельных функций.
Оригинальная версия игры на базе проприетарного движка Eclipse давно известна технической нестабильностью на актуальных операционных системах. Ограничения устаревшей 32-битной архитектуры и жесткая фрагментация оперативной памяти регулярно приводят к фатальным ошибкам и вылетам при попытке загрузить текстуры высокого разрешения в крупных игровых зонах. Декомпиляция позволит энтузиастам не просто использовать поверхностные любительские патчи, а детально отследить алгоритмы работы распределения ресурсов, исправить системные утечки памяти движка и подготовить полноценную нативную 64-битную сборку для PC, совместимую с современными компиляторами.
Помимо исправления багов стабильности, получение чистого исходного кода открывает дорогу для переработки многих ключевых систем. Разработчики уже заявили о планах внедрить официальную поддержку контроллеров на PC с переносом интерфейса и схемы управления с консолей. Кроме того, команда изучает возможность реализации сетевого кооператива для прохождения сюжетной кампании, что потребует раздельных инвентарей, индивидуального распределения добычи и полного отключения тактической паузы. В долгосрочной перспективе перенос движка создаст надежную платформу для глобальных сюжетных модификаций, режима разделенного экрана и неофициальных портов на мобильные устройства.
Несмотря на активный интерес игроков, репозиторий проекта сейчас остается строго закрытым для сообщества. Авторы планируют выложить наработки в открытый доступ только по достижении отметки в 90% готовности кода, на что при текущих темпах уйдет еще около 1 года. Создатели открыто придерживаются бескомпромиссной анти-ИИ позиции и категорически отказываются принимать сгенерированные нейросетями запросы на слияние кода. Как отметил один из разработчиков под ником Shot_Let_1344, команда стремится защитить проект от некачественного кода любителей легкой славы, а также избежать потенциальных юридических рисков, связанных с обучением нейросетей на чужом закрытом коде.
Закрытый статус репозитория и принципиальный отказ от генеративных инструментов спровоцировали заметные споры в среде создателей модификаций. Часть моддеров обвинила коллектив в искусственном затягивании работы и высокомерии, настаивая на том, что алгоритмы машинного обучения могли бы в разы ускорить расшифровку инструкций ассемблера. Участники проекта парировали критику тем, что их основная работа в IT-индустрии и так перегружена постоянной рутиной по вычитке машинного кода, поэтому в фанатском проекте они предпочитают досконально изучать логику игры вручную. После достижения 90% готовности авторы разрешат сообществу создавать любые независимые ветки проекта, но намерены сохранить жесткий ручной контроль над основной сборкой.
Фанатская реставрация разворачивается на фоне полного бездействия со стороны Electronic Arts, руководство которой неоднократно отвергало идею выпуска официального ремастера. Создатели оригинала признавали, что компания давно утратила специалистов по движку Eclipse, а предварительная документация и модернизация устаревшего софта потребовали бы непозволительно больших бюджетов и нескольких лет работы. При этом авторы декомпиляции подчеркивают полную легальность своей работы в американском правовом поле, поскольку проект не распространяет графические файлы, оригинальные ресурсы или готовые исполняемые файлы, перекладывая этап финальной компиляции на самих пользователей.