Ремейки успешных видеоигр — частое явление в современной игровой индустрии. Обновления в ремейке могут коснуться многих составляющих игры в зависимости от глобальных задач нового проекта и тенденций в игровом мире. Но каков бы ни был их масштаб, разработчики всегда стараются сохранить настроение оригинала.

В отличие от совершенно нового проекта, ремейк определенно проще в реализации, поскольку ключевые компоненты игры уже разработаны, опробованы и знакомы игрокам. Именно эти преимущества вместе с общим трендом побудили меня сделать ремейк ранее созданный игры, когда появилась задача углубиться в Unreal Engine 5 и язык программирования С++. О том, что получилось в итоге, что пришлось изменить и доработать, хочу рассказать в этой статье.

Об оригинальной игре

Несколько лет назад в небольшой команде энтузиастов мы занимались разработкой платформера на движке Unity. Разработка завершилась релизом игры в 2017 году в Google Play, на ПК для Windows, Mac и для браузеров.

Игра называется X-Drums. Это синглплеер 2D пиксель-арт платформер, посвященный теме барабанов. Главным героем выступает барабанщик, управляя которым необходимо собрать ноты и добраться до вертолета, чтобы отправиться в музыкальную студию в Лос-Анджелесе.

Скрытый текст

В свое время источником вдохновения была японская рок-группа X-Japan и ее лидер и барабанщик Ёсики Хаяси (яп. 林 佳樹), который и стал главным героем игры.

Действие игры разворачивается на условном складе музыкальных инструментов, где размещаются барабаны, тарелки, клавиши пианино и разные подвижные платформы, по которым можно ходить и прыгать. На пути героя встречаются фанатки, отбирающие ноты, купидоны, пускающие стрелы, ослепляющие прожекторы и резервуары с водой разных свойств.

X-Drums
X-Drums

В игре фиксируется время прохождения, и в мобильной версии был доступен лидерборд от Google Play Service.

Ремейк получил название X-Drums 2.0 и уже опубликован на некоторых инди-площадках. Хотя разработка игры продолжается, но, в отличие от оригинала, уже в соло. Обновления коснулись многих аспектов игры, но в этой статье я сосредоточусь на ключевых, а деталям реализации в Unreal Engine 5.3 C++ попробую посвятить отдельные статьи в будущем.

X-Drums 2.0
X-Drums 2.0

Мультиплеер в ремейке

Фундаментальное отличие ремейка в том, что игра стала мультиплеером, хотя и сохранила синглплеер режим в качестве дополнения.

Почему именно мультиплеер?

Здесь несколько причин. Это и очевидная популярность мультиплееров в наше время, и ориентированность самого движка на мультиплеер проекты, и прежний опыт работы в проекте такого типа, который хотелось использовать и расширить.

В ремейке игроки могут создать свою сессию или присоединиться к открытой, используя Steam аккаунт. Главное условие подключения — игроки должны быть в одном регионе загрузки. Изменить регион можно свободно в настройках Steam приложения (страна аккаунта значения не имеет).

Steam Settings > Downloads > Download Region
Steam Settings > Downloads > Download Region

X-Drums 2.0 предлагает два мультиплеерных режима:

  • Кооператив (англ. Co-op) — это кооперативная игра, в которой всем игрокам нужно собрать необходимое количество нот и вместе оказаться в условной точке эвакуации.

  • Противостояние (англ. Versus) — соревновательная игра, в которой нужно быстрее других собрать необходимое количество нот и первым добраться до точки эвакуации.

Выбрать режим можно в меню хостинга (Host), а для присоединяющихся игроков выбранный отображается в строке сервера. Ожидание игроков происходит, как обычно, в лобби.

X-Drums 2.0 Lobby
X-Drums 2.0 Lobby

Обновления ключевых механик

С переходом к мультиплееру и на новом движке ключевые механики игры требовали не только свежего кода с сетевой поддержкой, но и основательного обновления самого дизайна. Что же изменилось?

Респавн нот

В отличие в оригинальной игры, ноты в ремейке превратились в возобновляемый ресурс. Они респавнятся в мире после подбора и таким образом дают возможность завершить игру, восстановив потери от встречи с фанатками или лучами софитов.

Время респавна можно настраивать, как и класс нот, который должен появиться. Но если время определяется рандомно, в пределах минимума и максимума, то класс нот хотелось контролировать намного больше. Поэтому использовался алгоритм взвешенной случайной выборки (англ. Weighted Random Algorithm).

В игре представлено четыре класса нот с разной стоимостью: белые (1), зеленые (2), синие (4) и радужные (8). Ноты самой высокой стоимости респавнятся на карте крайне редко. Как правило, вероятность их появления не более 10% для каждой точки. Кроме того, они определены для спавна не у каждой.

Настройка респавна нот
Настройка респавна нот

Количество нот для победы в ремейке существенно снизилось. Это связано как с возросшей сложностью игры (о чем расскажу дальше), так и с присутствием на карте нескольких игроков сразу, между которыми и распределяются ноты.

Платформы для головоломки

Ремейк, как и оригинальная игра, представляет собой платформер. И в качестве основных платформ в игре используются барабаны разных размеров и комбинаций. В ремейке этим платформам удалось добавить звук. Теперь, когда герой прыгает на барабан, тот издает соответствующий гулкий стук. И это, в свою очередь, существенно оживило мир игры!

Самой интересной платформой можно считать падающие тарелки (англ. hi-hat or cymbals) и почти без изменений их удалось повторить в ремейке.

Основные же изменения коснулись классических подвижных платформ. В ремейке их нужно приводить в действие с помощью кнопки, а в обычном состоянии они неподвижны. Таким образом можно влиять на игру других игроков, помогая в коопе или мешая в противостоянии.

Более того, кнопка активирует сразу несколько платформ, движение которых могут быть не синхронны. Платформы могут двигаться в разные стороны — вверх или вниз, или с разной скоростью. И чтобы преодолеть препятствие или собрать ноты, их нужно привести в подходящее положение. Это элемент головоломки, который был добавлен в ремейке очень точечно. Таких мест в игре мало, а вот в оригинале подвижных платформ было довольно много.

Мотивированные фанатки

В игре нет противников, и она не предполагает сражений. Однако фанатки и купидоны представляют собой серьезную угрозу. И в сравнении с оригиналом они стали намного сильнее и эффективнее.

В ремейке фанатки стали предельно мотивированы. Они не просто перемещаются из точки, А в точку Б, но и преследуют героя с ускорением в случае обнаружения. В поддержку нового поведения добавлен кулдаун после похищения нот, во время которого можно попробовать скрыться из поля видимости, не потеряв собранное.

Как и в оригинале, в новой игре представлены несколько видов фанаток. Они отличаются по цвету платья и количеству похищаемых нот. Однако в ремейке нет фанатки в белом платье. Она в оригинале представляет собой босса, и после встречи с ней игра заканчивается гейм овером. Необходимость ее появления в новой мультиплеерной концепции пока для меня под вопросом.

Места нахождения фанаток на карте определяются заранее. Однако класс, как и с нотами, выбирается с помощью алгоритма взвешенной случайной выборки (англ. Weighted Random Algorithm). Поэтому в одном и том же месте при каждом запуске игры могут быть разные фанатки. Это еще одно нововведение в ремейке наряду с появлением у них множества звуковых эффектов, благодаря которым они стали более живыми и понятными для игрока. Например, теперь фанатки болтают, вздыхают и даже звенят, когда видят героя.

Парная работа

В отличие от фанаток и нот, купидон в игре представлен только одного вида. Это справедливо для обеих версий игры. Однако в ремейке заметно изменилась его стрельба. Теперь купидон стреляет чаще, и скорость полета стрелы в разы больше оригинала. Более того, он выпускает стрелы только в том случае, если герой оказывается в поле его зрения. Поэтому стрельба выглядит более прицельно, несмотря даже на то, что стрела всегда летит под углом в 45 градусов.

Стрелы рандомно различаются по визуалу, но все выполняют одну функцию. При попадании в героя он замирает и не может двигаться несколько секунд (англ. stun). Если размещать купидона на карте над фанаткой, создается впечатление, что они работают в паре: купидон оглушает, а фанатка на скорости забирает ноты. Однако общего механизма их парной работы нет. Каждый по одиночке успешно выполняет свои задачи, а работа в команде достигается за счет дизайна уровня. Это обновление оказалось самым неожиданным и в тоже время невероятно полезном для игры.

Как и фанаткам, купидонам в ремейке добавлены звуковые эффекты. Например, можно услышать звук пролетающей мимо стрелы, а если прислушаться, то и звуки взмаха крыльев.

Что дают обновления в поведении этих npc?

Поскольку ремейк превратился в мультиплеер, то в зависимости от выбранного режима, фанаток и купидонов можно использовать для прогресса в игре. В случае коопа один из игроков может отвлекать на себя внимание, пока другие собирают ноты. А в случае противостояния, наоборот, переводить их внимание на своих противников и таким образом вырваться вперед.

Софиты

В оригинальной игре попадание под луч софита добавляло несколько секунд к счетчику времени прохождения. Таким образом, они влияли на время, которые было главным для формирования рейтинга игроков в мобильной версии.

Некогда актуальный рейтинг в Google Play
Некогда актуальный рейтинг в Google Play

В мультиплеерном ремейке изначально считать время прохождения не планировалось, поэтому софитам необходимо было найти другое применение, так как хотелось сохранить их в игре. Наиболее подходящий вариант мне показался отнимать ноты, как это делают фанатки.

В оригинале представлено 7 видов софитов, и в зависимости от цвета они добавляли разное количество секунд. В ремейке также 7 видов, но все они отнимают одно число нот, причем большое. Максимальное число нот, которое отнимает фанатка — это 4. Софиты же отнимают 8 и таким образом, становятся самым опасным препятствием, и потери от него восстановить быстро не получится.

В ремейке изменилось не только назначение софитов, но и визуал: обновлено состояние кулдауна и вид луча, добавлены звуковые эффекты.

Отдельным вызовом была рандомизация видов софитов на карте, которой не было в оригинале. Несмотря на то, что все софиты отнимают одинаковое количество нот и цвет, по сути, значение не имеет, но с художественной точки зрения:

  • не хотелось, чтобы рядом оказались одинаковые по цвету софиты, также

  • хотелось, чтобы на карте были представлены софиты всех цветов и

  • при каждом запуске цвета менялись местами.

Использованные ранее алгоритмы рандома или взвешенной случайной выборки в данном случае не выполняли все условия, поэтому решение было другим и на уровне гейммода. В итоге получилось обеспечить уникальность каждого запуска. Более того, контролировать этот процесс не требуется, как и вносить изменения в код с добавлением нового типа софита.

Вращающиеся барабаны

В оригинальной игре вращающиеся барабаны были одной из интереснейших механик. И, конечно, хотелось повторить их в ремейке. Что и получилось с определенной доработкой.

Поскольку ноты в ремейке стали возобновляемым ресурсом, логичным было после опустошения заполнять барабан заново. Поэтому добавлено состояние заполнения (англ. refill), которое длится определенное время и поддерживается визуальным изменением.

Refill state
Refill state

Теперь барабан может выдавать любые ноты, поскольку получилось добавить в него спавнер нот как чайлд актор компонент (англ. child actor component). Для каждого барабана можно настраивать вероятность появления того или иного класса нот.

Еще одним отличием стало место спавна нот. В оригинале нота появлялась справа от барабана и вращалась вместе с ним, поэтому с каждым вращением она автоматически подбиралась героем. Но в ремейке нота появляется над барабаном и чтобы ее собрать, необходимо подпрыгнуть. В этой реализации появившиеся ноты может собирать любой игрок, а не только тот, кто вращает барабан. И это больше соответствует духу мультиплеера.

Поскольку софиты изменили свое назначение и теперь отнимают существенное количество нот, а радужные ноты появляются на карте редко, барабаны выступают отличным балансом, выдавая с определенной легкостью вращения 8 нот, в зависимости, конечно, от их размещения на карте.

Привычные мультиплеерные фичи интерфейса

Переход к мультиплееру определил не только необходимость переработки прошлого, но и дополнения новой игры привычными для мультиплеера фичами.

Среди них в первую очередь — рантайм-статистика по количеству набранных игроками нот. Она представлена в формате таблицы на экране и дублируется в блоке с именем над головой героя.

Лидер в таблице меняется в зависимости от количества набранных нот, и его смена сопровождается небольшой анимацией. Игроки, набравшие необходимое для победы, подсвечиваются в таблице зеленым цветом. А момент достижения этого результата сопровождается звуковым сигналом и дефолтным дрожанием камеры (англ. camera shake).

Хостер в таблице имеет маркер в виде звездочки. Это сделано для того, чтобы понимать, кто создал сессию и не может покинуть игру без проблем для остальных.

Помимо таблицы, в игровом интерфейсе представлена информация о необходимом количестве нот для победы, информация о текущем режиме игры, появляется дельта нот и строка с подсказками.

Ingame Interface
Ingame Interface

Левел арт и левел дизайн

В оригинальной игре для создания карты использовался Tiled Map Editor, а взаимодействие с Unity осуществлялось с помощью бесплатной утилиты Tiled2Unity.

Скрытый текст

Посмотреть, как это работало можно по ссылке.

Для Unreal Engine 5.3 такой утилиты нет. Но можно настроить экспорт/импорт карты, используя Json. Однако в этом пайплайне есть серьезные ограничения. Unreal Engine выдает ошибку при попытке импортировать карту заново после внесения изменений в Tiled Map Editor. Таким образом, придется создавать новый json и импортировать, по сути, новую карту, а значит, настраивать все заново.

Скрытый текст

Подробнее, как это работает рассказывают в видео.

Учитывая эти ограничения и много других, в ремейке было решено создавать новую карту исключительно в редакторе. А поскольку игра превратилась в мультиплеер и ключевые механики претерпели существенные изменения, подход к левел дизайну должен был отличаться от прежнего.

Что в итоге вышло?

Идея условного склада сохранилась, но стеллажи, где размещаются барабаны, стали больше, занимая почти все пространство этажей. Переходы между этажами реализованы с помощью тарелок или платформ, запускаемых по кнопке вместо прежних лестниц. Как и в оригинале, пока задача игроков — добраться до крыши, где их ждет вертолет.

В первой игре одним из недостатков, который отмечали игроки, было неприятное перемещение камеры при переходе между этажами. В ремейке камера прикреплена к персонажу, и поэтому переходы всегда бесшовные.

С точки зрения арта, в ремейке удалось создать ощущение плановости, выделить активные платформы и увести неактивные элементы на задний план. Склад стал более светлым по цвету, чтобы герои не терялись на его фоне.


За последние несколько лет вышло немало ремейков популярных ранее видеоигр. Final Fantasy VII Remake & Rebirth, Resident Evil, Silent Hill, The Last of Us, Yakuza, Dead Space — лишь вершина айсберга. Они не только радуют преданных фанатов, но и привлекают новых игроков, предлагая самый современный игровой опыт.

Следуя тенденциям и используя популярные инструменты разработки, мне удалось поучаствовать в общем тренде на ремейки и создать свой ремейк инди платформера. Насколько это интересно вышло — решать игрокам!

Комментарии (0)