- thevaleev
- 18 января 2021
- Сониковское сообщество
- GitHub
Опубликован исходный текстовый код игрового движка Retro Engine, который использовал Кристиан Вайтхед (The Taxman) при разработке ремастера игры Sonic the Hedgehog CD, а также мобильных версий игр Sonic the Hedgehog 1 и Sonic the Hedgehog 2. Изучили и разобрали его на исходные составляющие участники сообщества Retro Engine Modding Server, которое специализируется на модификации Sonic Mania и других игр, сделанных австралийским программистом.
Retro Engine поначалу был фанатской игрой, и разработан ещё в 2002 году с целью преодолеть технические ограничения, которые накладывали в то время программы для создания игр. Концепт игрового движка задумали таким образом, чтобы с его помощью можно было легче воссоздать атмосферу игр эпохи 32-битных консолей и перенять с них те фишки, которые все реже используют в современных играх – среди них манипуляции с игровой палитрой или псевдо-трехмерный режим "mode 7". Движок также работает с отдельными собственными игровыми сценариями, синтаксис который похож на языки Visual Basic и C++.
Изучением и обратной разработкой Retro Engine с 2018 года занимался разработчик модов под никнеймом Rubberduckycooly. В этом ему и в целом сообществу по модификациям игр, работающих на этом движке, помогло немало факторов: от собственного опыта изучения файлов Sonic Mania до того случайного факта, что версия Sonic CD для Windows Phone была недостаточно подвержена процессу шифрования кода. В конце 2020 года Rubberduckycooly закончил анализ третьей версии движка Sonic CD (RSDKv3) и расшифровал местный язык программирования, в результате чего удалось провести декомпиляцию игровых скриптов с последующей возможностью их модифицикации. Теперь, загружая изменённый игровой код вместо оригинального, энтузиасты могут добавлять в игру новые функции или доработать существующие. В качестве примера Rubberduckycooly сделал мод, делающий игровые переходы из "прошлого" в "будущее" быстрее.
А вскоре после публикации игрового кода энтузиасты объявили, что им удалось практически полностью восстановить исходный текстовый код самого файла запуска, в котором и реализуется основной функционал Retro Engine. Полученные тексты были опубликованы на портале GitHub, где любой желающий может преобразовать их в полноценное приложение. Главными особенностями такого подхода является прозрачность кода и возможность портировать игру на любую платформу, для которой у специалиста есть инструменты разработки. Порты для PS Vita, Nintendo Switch, Mac и Linux появились уже на первый день с момента публикации исходников!
Тем не менее, попробовать собрать себе билд не получится, если у вас нет купленной игры – скорее всего, так было сделано, чтобы избежать неправомерного копирования. Чтобы вновь запустить разобранную игру, вам понадобится не только преобразованный файл запуска, но и особый архивный файл формата .rsdk, в котором содержатся все звуки, графика и другие вспомогательные материалы. Этот файл содержится внутри официальных релизов Sonic 1 и Sonic 2 (их можно скачать на App Store, Google Play или Amazon).