Так много Мариуполисов

eMHTjYP

Когда я был старшеклассником, у меня был знакомый лет на 10 старше меня. Он по какой-то причине не прижился в большом городе, поэтому был вынужден вернуться в родной. Его отличительные черты — очень громкий рупорный голос на всю улицу, открывание пива зубами и любовь к настольным ролевым играм. Однажды он отправил мне целую библиотеку по Dungeons and Dragons, но родители меня не пустили к нему с ночёвкой — возможно, их смутила формулировка «ролевые игры». А ещё он очень любил выдумывать какие-то несуразицы. Одной из таких вещей был рассказ о том, что в Silent Hill 2 при портировании на ПК и переводе на английский «вырезали всю атмосферу».

На японском я в неё не играл, но меня действительно заинтересовало, как такое могло быть. Конечно, это была очередная его побасенка, но на сайтах, посвященной игре, узнал, что между версиями для разных платформ действительно есть небольшая разница. Спустя время, я не без удовольствия смотрел видео Digital Foundry, где авторы демонстрировали разницу между версиями игр для разных консолей. И вот совсем недавно я понял, что по в моей игре Dark Grim Mariupolis можно сделать что-то похожее. Но тут дело совсем не в технических спецификациях, по которым XBOX One (вышла в октябре) или Nintendo Switch (выйдет в декабре) по-разному требуют реализовать оригинал. Всё немного сложнее.

Нужно начать с того, что версия для ПК и консольные версии сделаны на разных версиях Game Maker Studio. Если оригинал использует GMS 1.4, то порты работают на GMS 2.2. Конечно, в версию на GMS 2.2 можно сыграть и на ПК, но она вряд ли увидит свет по одной простой причине — по неопытности в разработке я решил, что для переноса на GMS 2 я переделаю управление исключительно под геймпад. Конечно, я думал о динамически переключаемом управлении с геймпада на мышь, но быстро сделать это не вышло и я  подумал, что преимущества, которые даёт использование DirectX 11 по сравнению с DirectX 9 в 150−250 фпс, которые в 30-фпс игре никто не видит, не имеет смысла. Решение делать отдельную версию для консолей обусловило расхождение конечных версий. Забегая наперёд, скажу, что некоторые, наиболее критичные вещи, я в итоге вставил в ПК-версию, поэтому, к примеру, англоязычные игроки наконец-то не встретятся с софтлоком в предпоследнем диалоге игры. Также было переделана практически везде система подгрузки локализации — в некоторых местах игра обращалась по десятку раз за шаг к файлу с ней, открывая и закрывая его, в сцене с компьютером, где таких действий требовалось очень много, фпс падал до 25. Теперь (это частично касается и ПК-версии) тексты загружаются при инициализации объекта и меняются по ходу изменения его состояния, не требуя постоянного обновления.

JpSQupL

Главной задачей для переноса на консоли было адаптировать управление. Если для стандартного платформера достаточно заменить кнопки клавиатуры на кнопки геймпада, то в квесте с его множеством головоломок, у каждой из которых своё управление, приходится заменять эти кнопки гораздо чаще. Я хотел добавить игре больше тактильности, поэтому под конец портирования во многие места добавил вибрацию. Другой проблемой было то, что в некоторых головоломках игра использует аппаратный курсор Windows, вызывая приятные воспоминания о мультимедийных играх девяностых и самый демократичный инструмент для создания игр тех времён — Macromedia Director. Само собой, на консолях такой штуки нет. Вместо архаичной руки было решено использовать руку, которая уже использовалась в ПК-версии для одной из головоломок. В этом смысле управление в головоломках на консолях консистентней — ими управляет одна и та же рука. Но я решил изменить её дизайн. На ПК рука похожа на мышь, тогда как на консолях нет никакой мыши, так что я решил перерисовать руку. Теперь на ней просто одна кнопка, которая подсвечивается на активном объекте.

Vut9bP1

GMS 2 отлично справляется с переносом с GMS1, но и здесь не обошлось без казусов. Всё-таки для больших игр придётся поработать напильником. Не все скрипты совместимости одинаково успешно работают.

ГМС 2 объявляется виноватым в неудачном переносе:

  • Работы с загрузкой ресурсов из файлов.
  • Работы с несколькими слоями загруженных из файлов фонов (эту систему пришлось чуть ли не полностью переписывать под нужды новой версии).
  • Элементов 3д.

Были ещё мелкие косяки, но они очень быстро решились.

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

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

iLuWw3o

Я немного упростил головоломку со средним арифметическим, но это тоже дизайнерское оптимизаторское решение, которое мне кажется чуть более удобным, но я до конца не уверен. Самое неоднозначное решение в порте касается головоломки с дверью Нарополюса.У этой головоломки есть предыстория. Игру мы делали так — вместо сценария у меня был диздок. Сценарий писал не я и головоломки там не были описаны. Скорее что-то в духе «тут должна быть головоломка, после которой Тор может получить объект Х». Загадка с Нарополюсом должна была быть последней крупной головоломкой в игре. «Головоломка-босс». Она была действительно сложная. Длинный, довольно сложный текст нужно было представить в качестве иерархии животных и адаптировать эту иерархию на старый пароль от квартиры Нарополюса. Подвох был в системе подсчёта — я не помню деталей, но по духу головоломка была сродни тому, что в Сайлент Хилл 3 было на харде — логика и немного брутфорса и везения. Ирония заключалась в том, что пароль был максимально простым — 12345, и на это даётся туманный намёк в баре египтян.

gNnddBI

Игроки жаловались на это место, а я не был уверен, что на английском это читается так же, как и на русском, и все намёки там на это понятны. Также на сложность головоломки жаловался сценарист. Через пару месяцев после релиза я поменял последнюю головоломку. Все эти объяснения всё ещё легитимны, но в книге с иерархией животных есть цифры 1, 2, 3, 4 и 5 последовательно на каждой странице. Вы можете не думать про иерархию и просто увязать животных на пароле и цифры в книге паролей. В головоломках уже поднималась тема странных совпадений, так что это вполне вписывалось в концепцию игры. Но сценарист всё ещё считал головоломки сложными (он так и не сыграл в релизную версию), а я чувствовал себя слегка разочарованным.

12KxBJz

После релиза на XBOX One игроки жаловались на то, что рыба фугу ничего не подсказывает и головоломки сложные. Я решил добавить пару чуть более конкретных подсказок для неё вместо тех, которые мне не нравились и были просто добавлены сценаристом «чтоб было». И снова оказался наедине с последней головоломкой. Я принял решение сделать как в начале, но вместо тёмного непонятного текста сделать чуть более конкретный, который бы читался понятно как на русском, так и на английском. Я несколько раз прошёлся по логике головоломки. Да, придётся делать записи, да придётся использовать старый пароль Нарополюса. Головоломка стала сложнее того, что сейчас на ПК, но при этом с ней понятно что делать. С другой стороны, пропала та необязательность и ирония над головоломностью этой загадки, которая всё ещё оставалась на ПК-версии. Сначала я хотел эту версию головоломки вставить и на ПК, а теперь думаю, что пусть будет так — по-разному интересная и по-разному кривая головоломка-босс из Тёмного Мрачного Мариуполиса.