Немного впечатлений от работы с Codex
В последнее время я решил попробовать Codex не только в работе или простеньких скриптах, но и в задачах из разряда: "Как автоматизировать крайне рутинную задачу?" и "Интересно, а ЭТО он сможет?"
Началось всё с PlayStation 2
В Beyond Good & Evil при запуске через OPL намертво зацикливался звук.
Open PlayStation Loader - пиратский лаунчер, который может запускать игры через HDD, USB или сеть
Обычные настройки совместимости не помогали, поэтому мы полезли разбираться в самом загрузчике, нашли потерянные системные параметры для поздних ревизий PS2 и собрали собственную версию OPL.
И оно, мать его, ЗАРАБОТАЛО.
Ещё недавно я просто перебирал бы настройки и надеялся на чудо (и в конце концов забил), а теперь у меня лежит собственная сборка OPL, адаптированная под мою консоль.
Актуализация библиотеки PlayStation 2
Codex проверил образы, определил версии и регионы, исправил названия и настроил проблемные игры. В итоге библиотека превратилась в аккуратную коллекцию, где понятно, что за версия перед тобой, на каком языке она запускается и какие настройки ей нужны.
Переводы игр для PS2
Например, сейчас мы занимаемся русификацией Serious Sam: Next Encounter. У игры никогда не было нормальной русской локализации, только кривая пиратская из нулевых. Оказалось, что просто перевести реплики недостаточно: игра вообще не умеет нормально показывать кириллицу.
Пришлось доставать шрифты из игровых ресурсов, вручную добавлять русские буквы, собирать новые образы и проверять каждый вариант на консоли. В какой-то момент русский текст заработал, но сломалась латиница, затем вместо отдельных букв появились графические блоки — и всё это пришлось постепенно распутывать.
Аналогичным образом поправили перевод у Burnout: Dominator и The Warriors — для обеих игр остались только полировка и редактура.
До работы с Codex я даже не представлял, что с помощью ИИ можно внедряться в образы PS2 и изменять там файлы.
Порт карточной игры "Девятка"
Потом я вспомнил про "Девятку" — малоизвестную российскую DOS-игру 1994 года. Запустить её сегодня можно только через DOSBox, а вот нормально перенести на современные системы уже значительно сложнее. Поэтому мы начали буквально разбирать оригинальную игру по кусочкам и восстанавливать её поведение.
Сейчас "Девятка" уже запускается прямо в браузере: мы разобрали оригинальный EXE-файл и восстановили основные механики, меню и музыку. Думаю, об этом порте вы ещё услышите) В планах сделать современную версию "Девятки" с мультиплеером и кучей удобств для современного игрока.
Но это будет не скоро.
Ремейк Star Madness
Исходников у игры НЕТ. Вообще. Игра была сделана белорусскими студентами, провалилась и была забыта давным-давно, но осталась в моей памяти и памяти братьев как забавный космический арена-шутер. Поэтому и возникло желание сделать своеобразный ремейк.
Вот только сначала её пришлось декомпилировать, разобраться в получившемся коде и только после этого начинать восстановление. По сути, мы пытаемся собрать игру заново, ориентируясь на оригинальный исполняемый файл и игровые ресурсы.
И результаты уже есть: готово главное меню, оригинальные корабли, движение, столкновения, оружие и основные игровые механики. Но работы предстоит ещё колоссальный объём.
Забытый порт Quake II для PlayStation 2
Совсем недавно я нашёл старый порт Quake II для PlayStation 2, который первоначальный разработчик забросил 11 лет назад.
За это время в нём так и не появилось нормального освещения, в целом кроме движка в игре больше не работало НИЧЕГО. Мы вернули в игру освещение, врагов, оружие и переделали управление под привычную схему с двумя стиками.
И оно тоже работает — в том числе на настоящей PS2. Тем не менее доработать нужно буквально всё, а затем оптимизировать игру под железо консоли. Ибо чем больше возвращаешь в игру, тем ниже становится частота кадров) Репозиторий на GitHub
PS2 CRT Test Suite для настройки ЭЛТ телевизоров
Ну и самым законченным проектом пока стал PS2 CRT Test Suite. Когда-то это была простая калибровочная сетка для моего телевизора, а теперь — полноценный набор из 17 тестов для настройки CRT, который можно скачать с GitHub и запустить на настоящей PlayStation 2.
Codex — не волшебная кнопка
Codex может ошибаться, творить полную херню. Всё приходится проверять самому — в эмуляторах и на настоящем железе.
Но момент, когда ты несколько часов обсуждаешь с ИИ порт тридцатилетней игры, а потом запускаешь новую сборку и видишь, что она действительно работает, до сих пор ощущается немного НЕРЕАЛЬНО.
И это, пожалуй, главное впечатление от Codex: он не просто пишет код, а помогает разбираться в совершенно разных слоях старых игр — от текста и шрифтов до загрузчиков, графики и полностью декомпилированной логики. Начинаешь учиться вместе с ним, особенно когда вручную перерисовываешь атлас с шрифтами или активно тестируешь получившийся результат.
Codex позволяет браться за проекты, к которым я бы никогда не приступил из-за нехватки знаний. Старая DOS-игра без исходников? Заброшенный порт на PS2? Ошибка внутри загрузчика игр? Теперь это выглядит не как непреодолимая стена, а как большая, но вполне решаемая задача.