Shrek 2 Remake или чем заняться разработчику на выходных? Пилить ремейк любимой игры детства.
Для начала, а почему Shrek 2?
Я не был в курсе форса на dtf по поводу ее номинации на игру года от сообщества. Я особо не в курсе почему игра пользуется такой популярностью в РУ сегменте интернета - да, я слышал что-то про папича, но в целом все это прошло мимо меня. По моему мнению сказывается общая ламповость игры и огромное значение первоисточника.
Я же выбрал ее потому что она лишила меня игровой невинности. Примерно в 2005 году, когда мне было 6 лет - родители купили первый для нас компьютер и несколько дисков с музыкой и этой игрой. Отчетливо запомнился момент, когда отец посадил меня и сестру за компьютер, запустил Shrek 2 и показал нам как в него играть. Помню свой восторг от этой игры, помню как проходил ее несколько раз - таким образом она стала моим теплым воспоминанием из детства.
А зачем?
Потому что игры и разработка это мои две большие страсти. Я являюсь разработчиком на Unreal Engine и у меня давно зрела идея заняться в качестве хобби ремейком какой-нибудь своей любимой игры. Подвернулось время - и вот мы здесь.
Как делать это все в одиночку?
Игра разрабатывается на Unreal Engine 5 - в маркетплейсе можно спокойно обмазаться неплохим количеством бесплатных ассетов. Если бы мне приходилось делать абсолютно ВСЕ с нуля - я бы даже не стал начинать, потому что я прежде всего программист и реализовывать все 3D модели и анимации у меня бы не хватило запала. Но из маркетплейса я использовал только ассеты растительности и ландшафта, а так-же некоторые визуальные эффекты - все остальное берется из оригинальной игры.
Как достать все это из оригинала? Для начала стоит помнить, что оригинальная игра разработана на Unreal Engine 2 и это сильно упрощает работу, потому что разработано множество инструментов для вытаскивания ассетов из игр на этом движке.
Для вытаскивания музыки и звуков я использую Dragon UnPACKer 5 с последующей конвертацией аудио через FFmpeg в связке с десятком строк кода на Python.
Для вытаскивания всех моделей и анимаций используются известный в узких кругах инструмент - UE Viewer (он же UModel).
После извлечения все модели я вручную преобразовываю в fbx формат с помощью Blender. Звучит просто, но на самом деле есть куча скучных заморочек для того чтобы все это упихнуть в Unreal Engine которые я пропущу.
Что делать со всем этим дальше?
Самый простой вариант, я бы назвал его "В стиле Sony" - использовать все те же ассеты из оригинальной игры перенося их на новую версию движка. Движок даст нам красивое освещение и даже с оригинальными ассетами все будет смотреться свежее. Дополнительно можно прогнать все текстуры через апскейлер. Получает ту же версию, но немного подтянутей - с вас 70$.
Делать все с нуля как Capcom в ремейках Resident Evil - это задачка не для программиста одиночки, который пилит все это ради удовольствия, а самый лучший способ убить всю мотивацию и удовольствие - задушишь себя непостижимыми задачами.
Поэтому я решил комбинировать оба этих подхода. Где это уместно я использую старые ассеты, но с новыми материалами и текстурами, иногда докидывая полигонов.
Апскейлинг текстур я делаю через опен сорсную софтину под названием Upscayl. Сверху можно накинуть карту нормалей и получить неплохой результат. Карты нормалей можно создать не выходя из браузера.
Также используя Blender в связке с плагином BlenderKit я накидываю новые материалы придавая старым моделькам более свежий вид.
И какой прогресс?
Пока я сделал только первый уровень. Реализовывать ландшафт и архитектуру уровня на глаз, открыв на втором мониторе оригинальную игру - еще та задачка.
По механикам работает все кроме магазина и зелий. Шрек может драться, лазать, бегать. Первый уровень в оригинальной игре показывает 80% всех механик игры, поэтому по грубым прикидкам сделана большая часть работы косаемая кода - то есть заложена почти вся база. Даже поддержку геймпада завез. Единственное чего вообще нет, так это катсцен - на них у меня не хватает запала, хотя в оригинальной игре вступительная катсцена достаточно веселая (в детстве я их никогда не смотрел, а сейчас решил)
В черновом виде готово главное меню и меню паузы. Имеется функционал настройки графики и музыки. Работают сохранения и загрузка.
Что дальше?
Первый уровень был накинут в достаточно черновом, но более или менее удобоваримом для меня варианте. Я планирую не вылизывать до идеала каждый уровень прямо с ходу его создания, а потихоньку запилить игру и уже в конце переходить к жесткой полировке.
Всего игра насчитывает 11 уровней, первый уровень и большинство механик я запилил примерно за три полных рабочих недели, но дальше мой отпуск кончается и по грубым прикидкам реализация всей игры даже в таком виде может растянуться минимум на год работы по выходным. Учитывая это есть большая вероятность что в какой-то момент я перегорю и заброшу проект, но пока мне это интересно и я планирую продолжать.
Итог
Да - я не 3D дизайнер и не художник, я понимаю что сейчас визуально игра теряет свою ламповость и все это выглядит как обычное васянство. Надо бы поискать больше ассетов и в целом поработать над визуалом, светом и тенью. Сейчас не хватает визуальных эффектов, некоторые ассеты не соответствуют по духу оригиналу (некоторая растительность и кусты). Но для начала как мне кажется неплохо.
Кидаю в монитор.
выглядит уже лучше чем rise of kong
Rise of the Kong Rider
Комментарий недоступен
Оцените плиз картинку, долго искал где можно выложить а тут как раз