Недавнее шоу Indie World, проводимое время от времени Nintendo, завершилось анонсом Axiom Verge 2. Первую часть серии постоянно заносят в списки лучших современных метроидваний, некоторые даже ставят её на первое место, выше Hollow Knight, Guacamelee! и других хитов. Так что сейчас самое время наверстать упущенное и ознакомиться с оригиналом, раз уж сиквел, как говорит разработчик, расскажет одновременно и о прошлом, и о будущем вселенной Axiom Verge.
Если бы Самус была мужчиной
Многие метроидвании прежде всего пытаются походить на Castlevania — с большим упором на ближний бой, возможностью менять экипировку и так далее. Axiom Verge же навеяна первой Metroid эпохи NES: во главе угла стоит исследование, подходить вплотную к противникам незачем, даже двойного прыжка здесь нет — вместо этого персонаж в какой-то момент начинает подпрыгивать выше.
При этом игра не копирует Metroid, а предлагает на её основе что-то куда более современное и масштабное. В ней есть элементы, которые были бы попросту невозможны на NES, и они становятся одними из важнейших и самых сильных составляющих Axiom Verge. Арсенал у главного героя значительно шире, секретов во много раз больше, а наиболее интересные и оригинальные механики связаны с использованием «глитчей» — тут это часть самой игры, а не попытки воспользоваться несовершенством кода.
Серия Metroid не только прекрасна геймплейно, но и легко «ломается» — и в первой части, и во второй, и во всех Metroid Prime игрокам удавалось выбираться за пределы комнат, находить неиспользованные локации, по-особенному прыгать, специально застревать в дверях ради попадания в определённые зоны раньше положенного. В Axiom Verge баги стали «фичами» — к примеру, довольно скоро персонаж учится пролезать через узкие стены при двойном нажатии на кнопку движения. Не просто телепортируется, а ненадолго распадается на крупные пиксели, словно игрок делает это против правил, хотя на самом деле так и надо.
Куда более крутые трюки выполняются при помощи модификации под названием «Разрушитель адреса» (Address Disruptor), выдаваемой через пару часов после старта. При нажатии отдельной кнопки персонаж выпускает небольшую искажающую волну, которая может каким-то образом повлиять на окружение (лишь в определённых местах) или даже на противников. Летящие от земли к потолку пузыри этой волной можно превратить в крепкие квадраты, на которые удастся встать, а невидимые платформы станут осязаемыми после пары секунд манипуляций. Позднее появляется усиленная версия модификации, с которой опций заметно больше.
Забавно тестировать этот гаджет на разных врагах и наблюдать за тем, как они меняются. Кто-то становится «союзником» и не наносит герою урон своим лазером, кто-то оказывается медленнее, либо ваши снаряды перестают от него отскакивать. Встречаются и гениальные метаморфозы — один тип противников превращается в такой крупный прямоугольник из бесформенных спрайтов, что перестаёт пролезать в пространства, которые раньше вмещали его без труда. Одних побеждать таким образом легче, другие, наоборот, обзаводятся более мощными способностями, поэтому никогда не знаешь, чем закончится эксперимент над очередным монстром.
Сюрпризы на каждом шагу
В целом взаимодействовать с окружением здесь интересно — секретов и отлично спрятанных коллекционных предметов тут масса. Можно исказить внешний вид противника и обнаружить, что он начинает двигаться в другом направлении и разрушает стены. Или самостоятельно воспользоваться лазерным буром, который тоже получаешь довольно рано, и сверлить камни — вдруг найдётся тайный проход. Иногда сверлить нужно в разных направлениях, попутно используя ту самую телепортацию. А в некоторых ситуациях пригодится портативный дрон, пролезающий в узкие коридоры, — сворачиваться калачиком, как Самус, герой не умеет.
В итоге попытки найти очередной секрет того стоят, поскольку все коллекционные предметы полезны. Всякие записки и дневники позволяют больше узнать о вселенной (герой иногда даже комментирует находки), узлы здоровья повышают запас «жизней», узлы мощности влияют на силу снарядов, а узлы дальности и размера увеличивают, как можно догадаться, их дальность полёта и размеры. В случае со здоровьем зачастую находишь не сами узлы, а их фрагменты — собираешь весь набор и радуешься полученному улучшению.
Но одними лишь изменениями характеристик дело не ограничивается — в Axiom Verge полно опциональных модификаций для «Разрушителя аксиом» (Axiom Disruptor), высокотехнологичного биомеханоидного оружия, которое герой получает в первые минуты. Можно пройти игру до конца, пропуская все дополнительные моды и получая лишь необходимые для сюжета, но с полным арсеналом играть значительно веселее. С ним открывается так много вариантов, что для каждого конкретного случая используешь новую модификацию — почти все они когда-нибудь оказываются полезны.
Поначалу герой стреляет обычными снарядами, как из бластера, потом получает более мощный, но медленный мод, с которым снаряды можно подрывать повторным нажатием на кнопку стрельбы. А дальше — инерционный импульс, проходящий через нескольких врагов, разделяющиеся энергетические лучи с большой дальностью и слабым уроном, гипораспылитель, у которого от каждого снаряда разлетаются в стороны ещё два мелких, и многое другое.
Переключение происходит движением правого стика, и во время этого игра ставится на паузу, что очень удобно. С правильными модификациями некоторые моменты оказываются проще (энергетические лучи идеально справляются с назойливыми летающими существами — их можно убивать, пока те находятся вне зоны видимости), да и часть боссов победить с их помощью легче, чем с выдаваемыми по сюжету и зачастую не такими необычными модами. Но если у вас «дрифтует» стик на правом «джойконе», играть в Axiom Verge становится невозможно — постоянно открывается меню оружия.
Классика жанра
Если к игре и можно предъявить претензии, то они справедливы и для её прародителей. В местных локациях легко заплутать, и никто не даёт подсказки, куда идти дальше, но так было и в оригинальной Metroid. Порой приходится заниматься «бэктрекингом», но и это было в Metroid. Однако сильно это не раздражает — с новыми способностями наконец-то можно допрыгнуть до платформы, которую пришлось пропустить в начале игры, или отправить дрона в узкий проход, который на первых порах безуспешно пытался просверлить буром. Быстрого перемещения нет, зато есть длинная центральная локация, связывающая друг с другом все зоны, — не лучший вариант, но сойдёт.
Больше всего в Axiom Verge восхищает то, что игра полностью сделана одним-единственным человеком. Он написал весь саундтрек, пару композиций из которого я напеваю, печатая эти строки. Он нарисовал всю графику — и не восьмибитную, и не шестнадцатибитную, нечто среднее между ними. Придумал уникальные локации, населил их десятками разных противников и изобразил нескольких роскошных боссов — подавляющее их большинство легко победить со второй или даже первой попытки, но запредельным количеством деталей в их дизайне и красивыми анимациями трудно не восхищаться. Вдобавок управление здесь чуть ли не идеальное.
Но всё же немного жаль, что игра слишком сильно пытается походить на классику в плане интерфейса. Особенно это касается карты, которая чересчур неинформативна и в каком-то смысле даже наказывает за преждевременное изучение локаций. На карте не нарисовано ничего, кроме комнат и связывающих их переходов. О пропущенных коллекционных предметах, которые можно подобрать только при получении соответствующих способностей, игра никак не напомнит — разве что вы случайно зайдёте в эти зоны повторно. Можно поставить на карте две «напоминалки», отметив комнаты с ценными вещами, но этого мало, да и вообще система не самая удобная.
А меж тем от количества найденных предметов зависит концовка — вернее, отсутствие или наличие в финале дополнительного короткого ролика. История здесь не выдающаяся, но интригующая и не раз удивит. Неудачный эксперимент, обрушившаяся лаборатория, говорящие с главным героем голоса, называющие его демоном боссы, которым некий Атетос приказывает убить чужака, — вкупе с мрачной атмосферой, слегка «грязным» стилем и жутковатой музыкой Axiom Verge с первых минут погружает в свой мир и не отпускает. Правда, финал оставляет некоторые вопросы без ответов.
В Axiom Verge 2, как говорит разработчик, будет чувствоваться большее влияние The Legend of Zelda, а не Metroid. Среди других источников вдохновения он называет последнюю Prey, Horizon: Zero Dawn и Shadow of the Colossus — любопытный набор из непохожих друг на друга игр. Да и в дебютном трейлере можно увидеть кадры с необычными для серии механиками вроде карабканья по стенам и возможности цепляться за уступы. Первая Axiom Verge оказалась прекрасной духовной наследницей Metroid, с которой обязательно стоит ознакомиться любителям метроидваний. И после её прохождения сиквел начинаешь ждать с нетерпением — и ради истории, и ради исследования, поиска секретов и неожиданных сюрпризов.
Плюсы: жутковатая атмосфера, достигаемая благодаря отличной музыке и детализированному окружению; интригующая история, которая не мешает во время прохождения; довольно обширный арсенал модификаций для оружия; множество здорово спрятанных секретов, делающих исследование очень увлекательным.
Минусы: те же недостатки, что в Metroid, — заблудиться легко, да и возвращаться на старые локации придётся не раз; малоинформативная карта.
Лучшие комментарии
А ну в недостатки игры можно было таки внести небольшой перекос баланса под конец. Просто если ты смог разгадать (или загуглить) код для огнемета — молодец, предпоследний босс проходится просто, необязательный становится раза в 2 проще, а последний босс проходится «встаешь в центр, зажимаешь вверх+Х».
От отчаяния вытащил из exe игры архив OuterBeyond.EmbeddedContent.Content.zip. При помощи TileEd загрузил карты из архива и сравнил расположение точек входа — некоторые поменялись(версия 1.43). Пропатчил карты, чтобы подсвечивали точки входа, ещё раз пробежался по всему миру и ни в одной точке не смог влезть. Даже полоска здоровья не меняет вид при приближении.
Наткнулся на сообщение ivanproff и тоже решил расковырять сохранение. Взял dnSpy, запустил в отладке игру и увидел, что у меня структура данных с SecretWorld пустая :(. Пропатчил игру, чтобы не шифровала сохранёнки и из старой сохранёнки вставил блок секретных миров в новую — миры появились. Допрошёл всё полностью :).
P.S. На всякий случай вот моя не шифрованная сохранёнка pastebin.com/fNFCUGp2, игра её нормально принимает.
//--------------------------------------
Как отредактировать игру для записи сохранений в редактируемого виде xml-текста.
Запускаем dnSpy, в меню Файл->Открыть выбираем «Axiom Verge.exe».
Надо найти метод класса отвечающий за сохранение файла. (У меня в версии 1.43 это был класс gt)
Нажимаем сверху значок лупы(Ctrl+Shift+K) сбоку от ввода текста «искать в:» «число/строка» «файлы в том же каталоге» и вводим строку для поиска «Attempting to load». Найдётся один метод, щёлкаем по нему два раза и попадаем в просмотр исходного кода в наш искомый метод. Это функция загрузки ресурсов из файла.
Прокрутив вверх или вниз, мы нейдём метод наподобие:
// Token: 0x060008EF RID: 2287 RVA: 0x0004EA80 File Offset: 0x0004CC80
internal void a(object A_0, string A_1)
{
using (MemoryStream memoryStream = new MemoryStream())
{
XmlSerializer xmlSerializer = new XmlSerializer(A_0.GetType());
AesCryptoServiceProvider aesCryptoServiceProvider = new AesCryptoServiceProvider();
byte[] rgbKey = new byte[]
{
186,173,240,13,0,0,0,0,32,48,68,194,19,228,31,byte.MaxValue
};
byte[] rgbIV = new byte[]
{
229,byte.MaxValue,byte.MaxValue,byte.MaxValue,229,186,7,0,186,173,240,13,byte.MaxValue,0,byte.MaxValue,0
};
ICryptoTransform transform = aesCryptoServiceProvider.CreateEncryptor(rgbKey, rgbIV);
CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
xmlSerializer.Serialize(cryptoStream, A_0);
cryptoStream.Close();
byte[] array = memoryStream.ToArray();
SteamRemoteStorage.FileWrite(A_1, array, array.Length);
}
}
нам надо убрать код, отвечающий за шифрование данных: то-есть убрать строки от
AesCryptoServiceProvider aesCryptoServiceProvider = new AesCryptoServiceProvider();
до
CryptoStream cryptoStream = new CryptoStream(memoryStream, transform, CryptoStreamMode.Write);
включительно
и строку cryptoStream.Close(); тоже убираем
а в строке xmlSerializer.Serialize(cryptoStream, A_0); заменить cryptoStream на memoryStream
получится вот так:
// Token: 0x060008EF RID: 2287
internal void a(object A_0, string A_1)
{
using (MemoryStream memoryStream = new MemoryStream())
{
XmlSerializer xmlSerializer = new XmlSerializer(A_0.GetType());
xmlSerializer.Serialize(memoryStream, A_0);
byte[] array = memoryStream.ToArray();
SteamRemoteStorage.FileWrite(A_1, array, array.Length);
}
}
Для изменения кода щёлкаем по-коду правой кнопкой мыши и выбираем «Изменить метод (C#)»
Меняем строки, как описано выше и жмём кнопку «компилировать»
Если появились ошибки компиляции, вроде 'тип «gt» уже содержит определение для «a»', то жмём два раза мышкой на строку с ошибкой и переместимся в место ошибки. Там будет строка вроде
public const int a = 3;
так вот стираем её :)
смотрим, на какую строку ругается дальше — и её стираем (у менярушался на «а», «d», «c», «b»), снова жмём компилировать и если всё хорошо — окно редактирования кода закроется и мы вернёмся а предыдущее окно с просмотрем кода — наш код в нём должен измениться на тот, что мы написали.
После этого выбираем в меню «Файл»->«Сохранить всё», в поле ввода (на всякий случай) меняем имя сохраняемого файла на «Axiom Verge_.exe» и жмём «OK».
Теперь можно запустить наш модифицированный «Axiom Verge_.exe». При сохранении файлы будут в виде xml, прямым текстом. Кстати файл настроек «Settings.xml» — тоже :).
Можно редактировать как душе угодно.
Подобные фанатики уже загадили и не раз отношение простых обывателей к Minecraft, Undertale и пр., обосрав любого, кто сказал, что эти игры неидеальны, не забыв назвать автора «не разбирающимся придурком», а всех согласных с ним — идиотами.
Я был поражен миром игры и разочарован концовкой. Уж слишком быстрый слив
А так, сравнивать безупречный визуальный стиль, прекрасную музыку и не избитый, не банальный лор с ностальгическим закосом под метроидванию — ну, такое. Игра в целом не плохая, но такое сравнение попросту говорит о безвкусице автора. Имхо, конечно.
Но вот, время идёт, может кто поможет ответить на вопрос «чего бы ещё из метроидваний попробовать»?
А код тот, кстати, из-за кривой локализации вообще честно узнать невозможно.
Играл я на Вите. Может на ПК таких проблем нету.