January 19, 2021

Фанаты воссоздали исходный код ремастеров первых игр про Соника

Увлечённые Соником энтузиасты смогли воссоздать исходный код игрового движка Retro Engine, на котором SEGA в сотрудничестве с Кристианом Вайтхедом сделали Sonic CD, Sonic 1 и Sonic 2 для современных игровых платформ.

Легенды гласят, что Retro Engine – это одна из первых и самых удачных попыток воссоздать геймплей культовой серии 16-битных игр. Работая над собственной фанатской игрой про Соника, Кристиан ещё в 2002 году решил отказаться от неудобных конструкторов игр и самостоятельно написать игровой код на языках программирования Visual Basic и C++. Проект Кристиана спустя несколько переработок и реинкарнаций перерос в мощный и гибкий инструмент, в котором стало возможно не только воссоздание сониковского геймплея, но и других фишек из ретро-игр до эпохи 32-бит: например, манипуляции с игровой палитрой, растровые эффекты и графические техники ("mode 7" и параллакс-скроллинг).

Изучением и обратной разработкой Retro Engine с 2018 года занимался фанат под ником Rubberduckycooly. В этом ему и в целом сообществу по модификациям игр, работающих на этом движке, помогло немало факторов: от собственного опыта изучения файлов Sonic Mania до того случайного факта, что версия Sonic CD для Windows Phone оказалась с весьма слабым шифрованием программного кода.

В конце 2020 года Rubberduckycooly смог разобрать версию Retro Engine для Sonic CD (RSDKv3) и даже расшифровать правила написания кода, в результате чего удалось провести декомпиляцию игровых скриптов с последующей возможностью их модификации. Загружая изменённый игровой код вместо оригинального, энтузиасты могут добавлять новые функции или доработать существующие. В качестве примера Rubberduckycooly сделал мод на игру, который в разы сокращает время перехода в игровое "прошлое" или "будущее".

Чуть позже энтузиасты объявили, что им удалось воссоздать исходники исполняемых файлов, в которых реализуются скрипты и функции Retro Engine. Полученный код был опубликован на портале GitHub, где любой желающий может преобразовать его в полноценное приложение. Преимущества такого подхода – наглядность текста и возможность портировать игру на любую платформу, для которой у специалиста есть инструменты разработки. Порты Sonic 1, 2 & CD для PS Vita, Nintendo Switch, Mac и Linux появились уже на первый день с момента публикации исходников.

Стоит отметить, что без легальной копии собрать свой билд мечты не получится – это вполне логичная мера против пиратства. Чтобы вновь запустить разобранную игру, вам понадобится не только скомпилированный исполняемый файл, но и особый архивный файл формата .rsdk, в котором содержатся скрипты, звуки, графика и другие вспомогательные материалы. Этот файл можно найти внутри официальных релизов Sonic 1, Sonic 2 и Sonic CD на App Store или Google Play.