Как был построен замок, полный ключей
Я думаю, все здесь хорошо наслышаны об игре UnEpic. На гамине про нее уже не раз говорили, а над русификацией игры работали AndR и Kozinaka. История будет о том, как я стал еще одним гаминовцем, имеющим отношение к этой замечательной игре.
Речь пойдет о карте "The Key Master", появившейся в игре в конце Апреля. Многопользовательский режим, кстати говоря, наконец, полностью готов, игра больше не носит на Cтиме статус незавершенной - все косяки исправлены, полный редактор выложен в открытый доступ, а свои карты можно публиковать через steam-workshop.
Так вот, давным-давно, в начале этого года, когда все эти радости еще не лежали перед каждым на тарелочке, я сделал карту "The Key Master". И в этом постмортеме расскажу вам о том, как это было.
Условно можно выделить три стадии разработки: идейная, полировочная и финальная. Но как и в любой истории, началось все раньше.
Стадия недевелоперская:
Началось все с того, что, услышав про то, что в UnEpic появился кооп, я с друзьями скачал, каюсь, пиратскую версию и долго мучительно прикручивал фиксы для игры по сети. Наконец, это чудо заработало. В целом, ощущения были смешанные - у меня пальцы под платформеры получше заточены, а вот друзья мои не были к готовы к тому, что умирать - это весело. Но упорства нам все же хватило - все карты, доступные в той версии, мы прошли. С тех пор карты немного изменились, в целом стало легче, но лучше - те, кто сражался со вторым боссом, когда у него еще не было лимита на количество заспавненных подрывников, поймут меня.
Так вот, уровни закончились, я полез на форумы искать пользовательские карты. И внезапно осознал, что они не работают в нашей версии игры. Попытки собрать более новую версию были тщетны, и только тогда нам, прожженным халявщикам, пришла в голову мысль купить игру.
Тут надо бы сделать небольшое лирическое отступление о том, почему никто не считает пиратство чем-то плохим, почему покупать игры - хорошо, а делать игру ради денег - плохо. Но я и сам не до конца понимаю, как такая система ценностей сложилась и, уж тем более, как она держится, покачиваясь между двух зол, и какое из них меньшее. Так или иначе, эту игру я купил - и, я считаю, все правильно сделал.
Так вот, купив игру, мы вновь прошли основные карты и впридачу несколько пользовательских. К этому моменту у меня возникло отчетливое понимание того, чего лично мне в игре не хватает. Как это ни странно звучит - в кооперативном режиме игры мне не хватало кооператива. Конечно, битвы с боссами и некоторые из головоломок становятся заметно тяжелее при игре в одиночку, но количество мест, где без командной работы не обойтись, можно по пальцам пересчитать. И для основной линии мультиплеера отсутствие таких мест вполне понятно и правильно, это даже классно, что можно просто побегать по уровням без остальных - чтобы догнать их по уровню, или чтобы выбить себе какую-нибудь шмотку.
Но разве от этого не теряется весь смысл коопа? Наверно, нет, но возникает ощущение, что чего-то не достает. И вот тогда-то я уселся разбираться с редактором карт, пытаясь сделать какой-нибудь пазл в духе Portal2 - головоломку с рассчетом на двух игроков. Почему именно пазл, а не хитроумного босса или чего-то требующего от игроков стратегического подхода? Не знаю. Я вообще всегда любил пазлы - так уж вышло, первой моей компьютерной игрой был Supaplex, а DROD - до сих пор одна из моих самых любимых игр.
Так или иначе, я решил показать всем, как надо делать кооп, и стал изучать редактор.
Стадия идейная:
Я был неожиданно удивлен - редактор совершенно не подходил для создания подобных головоломок. Количество переключателей на комнату ограничено, все они могут поменять состояние только один раз, да еще и нимб - предмет, имеющийся у каждого игрока, возвращающий его к последней точке сохранения, мешает запирать игроков как хочется. Сейчас я уже понимаю, какими хитростями большую часть из этих проблем обходить, но тогда и возможности редактора были поменьше, и сам я в нем только начинал разбираться.
Но я не унывал - я нашел игровой элемент, который мог помочь. Точнее пару предметов - кнопка и спрей. Когда один из игроков встает на кнопку, то все спреи на экране немедленно срабатывают, позволяя второму игроку запрыгнуть на платформу повыше, недоступную без помощи спрея. Повозившись со спреями какое-то время, я придумал примерно такую кострукцию: внизу находится кнопка, рядом с ней спрей, позволяющий закинуть игрока наверх, наверху точка сохранения и собственно путь дальше. Казалось бы, игрокам не удастся вместе забраться наверх.
Но если немножко выйти за рамки, решение нетрудно найти - один игрок закидывает другого наверх, тот сохраняется, спускается обратно и закидывает наверх первого, а после этого использует нимб для возвращения к точке сохранения. Конструкция классная, но сне она показалась уж больно маленькой, и я стал ее усложнять. В итоге вышел уровень на несколько комнат, который я уже не буду подробно описывать - в нем было очень много спреев, а чтобы добраться до цели, игрокам нужно было сохраняться в правильных местах, а потом использовать трюк с нимбом. Да, с этим уровнем я перемудрил - проверка на моих друзьях показала, что пусть базовая задачка и была хороша, но ее итерированная версия оказалась полным занудством. Да и как-то однообразно все вышло - спреи, спреи, спреи.
Тогда я решил попробовать внести разнообразия и придумать что-нибудь еще. Примерно через неделю у меня была карта с кучей отдельных пазлов - какие-то требовали наличия второго игрока, какие-то нет, одни требовали слаженной командной работы, а в других наличие напарника просто делало жизнь легче. Насчитав примерно десять относительно удачных, я задумался над общей структурой уровня. Мне не хотелось, чтобы игрок оказывался перед головоломкой как перед непроходимой стеной - чтобы можно было отложить решение, если не полочается, и поискать другую задачу. Кроме того, некоторые из пазлов можно было зафейлить - да так, что только после перезапуска всего уровня их стало бы можно пройти (в этом отчасти повинны односторонние рычаги), а потому мне хотелось, чтобы до любой из головоломок можно было достаточно быстро добраться от начала уровня, чтобы пробовать снова и снова, пока не получится. Я понял, что мне нужен нелинейный уровень.
Как это сделать, долго думать не пришлось - в UnEpic есть механика ключей и дверей. Я решил, что за каждое испытание игроки будут получать ключи, которые будут постепенно открывать новые части данжена, а собрав их все, игроки смогут добраться к заключительной части с боссом и сокровищами. Что я не учел, так это то, что у этой механики есть свои ограничения - механизм, собирающий у игроков ключи, я переделывал бессчетное количество раз и до сих пор не до конца доволен результатом.
Я сразу же решил, что эти ключи заодно будут использоваться для открытия новых путей. Увы, это мешает быстро добираться к головоломкам от начала уровня, но я решил, что намного интереснее сделать так, чтобы от путей, которые выбрали игроки, схема уровня складывалась по-разному - как это происходит в хороших метроидваниях. Чтобы одна и та же комната в зависимости от того, с какой стороны в неё зайти, воспринималась по-разному. Чтобы граф связности рос постепенно, а игрок, куда бы он ни шел, в итоге не пропустил бы ничего важного (кроме секретов, конечно).
Ключи в UnEpic есть шести видов - пять цветных и один для специальных замков. Особые ключи я решил прятать в секретных комнатах, а вот пять цветных ключей использовать для основных пазлов - по два каждого цвета. О цветах я завел речь неспроста - они играют важную роль, весь данжен я решил разбить на этажи, каждому из которых соответствует свой цвет - на каждом этаже своя стилистика, на каждом этаже ключи своего цвета. Все это с целью дать понять игроку, где искать недостающий ему ключ и помочь не заблудиться в полном развилок подземелье. Кроме того, я решил, что сундук с ключом должен быть всегда на виду - чтобы у игрока не было сомнений, что именно в этой комнате можно как-то получить заветный ключик; невидимые секретики за ломающимися стенами, прививающие игроку привычку колотить без устали налево и направо, мне уже тогда казались злом. Но чтобы любители ломать стены не были разочарованы, я все-таки спрятал за ними всяких незначительных бонусов, особенно за теми стенами, которые так и хочется попробовать сломать. Но при этом я старался не перегибать палку - все серьезные секреты спрятаны более изысканными способами.
Так как ключи стали основной темой карты, сюжет для нее пришел сам собой - таинственный Мастер Ключей заточает героев в своем подземелье и заставляет их проходить его хитроумные испытания, собирая ключи, чтобы выбраться на свободу. Что-то вроде Пилы, насмотревшегося Форт Бойарда. Хотя я считаю сюжет важной составляющей любой игры, в случае с моей картой я четко для себя решил, что сюжет будет вторичен - это как-никак мультиплеер, и диалоги мало кто читает, да и основная крутость карты должна была быть не в текстах, а в пазлах. Поэтому я старался сделать диалоги максимально короткими, давая в них шуточные подсказки и подкалывая игроков.
Примерно месяц у меня ушел на то, чтобы собрать карту и протестировать все по нескольку раз. Я был готов выложить карту на обзор игрокам.
Стадия полировочная:
Казалось бы - все готово, осталось добавить босса и, может быть, поправить кое-что по мелочи. Но нет.
Я выложил ссылки на карту на форумах в стиме и на сайте игры. Количество скачиваний медленно капало, Маркус, один из других картоделов отреагировал на мои посты, я с ним связался, он оказался тоже из России, и мы прошли карту вместе. Карта ему понравилась, он даже написал на нее воодушевляющую рецензию на форуме и пообещал поговорить с Франом. Фран - это тот самый испанец, сделавший UnEpic. Можно сказать, что в одиночку - ему помогают много людей, но почти всю работу делает он сам. Он очень крут и в хорошем смысле ленив - чтобы сделать что-то большое в одиночку, нужно уметь не делать того, что можно не делать - иначе времени на то, что на самом деле нужно, не останется.
Но о Фране я расскужу позже. На протяжении всей этой стадии я общался только с Маркусом. Через него я получил от Франа доступ к закрытой тестерской версии игры - с расширенным редактором, свистелками и перделками. Я слал Маркусу пачками списки багов игры и редактора, которые находил (отчасти потому, что некоторые из этих багов ломали мне комнаты), которые он переправлял Франу, выкидывая из списков то, о чем Фран уже давно знал. Кроме того, я пытался выклянчить фишки, которые средствами даже расширенного редактора сделать не получалось, но хотелось. Впрочем, безуспешно - Фран ленив в хорошем смысле, и почти все мои хотелки в редакторе не появились. Часть из них могла слишком сильно повлиять на геймлей, часть сулила горами багов и нестыковок, часть просто не вписывалась в существующую механику.
Пытаясь придумать, что делать с механизмом замков (инструментов для упрощения которой мне выпросить так и не удалось), я начал даже задумываться над тем, не стоит ли в корне изменить вторую часть карты, сделав при этом несколько вариантов концовок. Я даже занялся продумыванием местной вселенной, конфликта нескольких сторон, в который игрокам предстояло вмешаться, и целей каждой из них. Но я достаточно быстро понял, что это только все запутает. Да и понимание того, что делать акцент на сюжете не стоит, вернулось, и я отбросил эти наработки. Так и не понимая, как лучше закончить карту, я забросил работу над ней примерно на месяц - у меня было полно других дел, и времени на игры не было.
Спустя месяц я решил разобраться и сделать все как надо - комнаты начали меняться, сложные становились проще, простые - сложнее, некоторые пазлы я просто убирал и заменял на новые. В какой-то момент, посмотрев на мини-карту, я к своему удивлению обнаружил (те кто играл в Мор, могут себе представить, каково это), что карта по форме стала напоминать ключ. Это случайно замеченное сходство я сделал еще более явным по мере того, как уровень обрастал финальными комнатами.
Еще одним важным ходом стало решение следующего вопроса - хотя от идеи различных концовок я отказался, но все-таки хотелось, чтобы количество пройденных пазлов и собранных ключей влияло на результат игроков. Сначала я принял плохое решение - я решил сделать так, чтобы собранные ключи ослабляли босса. Кто уже догадался в чем проблема? Те, кто собрали больше ключей - это более сильные игроки, им не нужно ослаблять босса, им, наоборот, нужен больший вызов. Тогда я добавил серию испытаний в конце, после босса - их я раньше планировал как испытания для получения секретного артефакта в закрученной сюжетной версии карты. Они не очень сложны, но со своей изюминкой. Собственно эти испытания требуется проходить только тем, кто собрал помимо основных ключей достаточное количество секретных и хочет попасть в дополнительные сокровищницы.
Кроме того, я решил сделать саму встречу с боссом наградой. За половину основных ключей я решил дать игрокам возможность закончить подземелье вообще с ним не сражаясь - что игрокам совсем не нужно, ведь так они не попадут в сокровищницы, не получат опыта за победу, и так далее. По сути, я отнимал у игроков битву с боссом, чтобы они поняли, насколько им ее на самом деле хочется.
Примерно тогда же я сделал диалоги на русском - делать их на двух языках сразу было неудобно, а для того, чтобы получить первый фидбек, было логичней делать ее сначала на английском. Но русская версия вышла в некоторых местах даже лучше - как автор карты я мог позволить себе не маяться буквализмом и вместо точности перевода следить за тем, чтобы диалоги выполняли свою задачу. Мне очень нравится, например, то как на двух языках выглядит этот диалог:
"Б", "Е", "З", "Ы", "С", "Х", "О", "Д", "Н", "О", "С", "Т", "Ь"
Он уже собрал из них слова "здесь", "тесно", "стены".
Лучше бы он сразу сложил из них слово "нытье".
Но так или иначе, вы-то чего ждете? Если он умрет, вы никогда не получите ключ.
Или вам больше нравится терять время впустую, как этот глупец?
"I", "N", "E", "V", "I", "T", "A", "B", "L", "E"
He has already made words "able", "leave" and "alive".
I think "naive" suits the situation better.
Anyway, what are you waiting for? If this guy dies your chance to get the key vanishes.
Don't waste your time like this fool does.
Cтадия финальная:
Наконец, дело стало близиться к завершению. Маркус уже давно хвастался закрытой архитекторской версией редактора - и вот я связываюсь с самим Франом, и он выдает мне пароль от этого чуда. В нем можно расставлять декорации, менять музыку и вообще творить чудеса.
Но мне уже чудес творить не хотелось. Карта уже была готова на 95% от того, что я запланировал с учетом доступных мне средств. А с новыми инструментами появлялся огромный непочатый край декораторской работы. Я решил, что буду использовать все эти декорации только там, где прям совсем нужно - иначе мне просто не хватит мотивации закончить. Забегая вперед скажу, что в итоге я внес больше изменений, чем собирался, но я был прав, что решил не увлекаться красотульками. Лишние декорации только отвлекали бы игрока от головоломок - нужно было либо продумывать локации сразу с использованием всей этой красоты, чтобы она органично вписывалась, либо использовать её очень осторожно.
Новые декорации селились только в тех частях, над которыми я продолжал работать. Ну, разве что раскидал ярких факелов в те части карты, которые были уж слишком темными. А еще, я выпросил у Франа флажки, чтобы помечать цвет требующихся к замку ключей. Почистил задники от мусора, ну и еще пару мелочей. Вроде бы не переборщил. Собственно так, сами собою, чудесные новые декорации по большей части оказались в финальных и в секретных комнатах - и, тем самым, тоже стали частью награды.
К слову, о красных подошвах - по своему опыту могу сказать, что многие вещи действительно появляются случайно. Но игры особый случай - здесь автор играет в то, что творит, и, в меру своей восприимчивости, сам находит эти случайно появившиеся штуки и может усилить акцент на них, если они ему понравятся. Такие случайные находки мне кажутся очень ценными, и я рад, что меня научили их замечать.
Ну да ладно, вернемся к процессу. Примерно тогда же (на самом деле, чуть раньше) я занялся боссом. Идея придумалась быстро, сложности начались позже. Идея была такой - сделать босса, битва с которым была бы стратегической задачей. И да, я наконец-то мог клянчить фишки напрямую у Франа. Первым делом я попросил... Так, секунду, сейчас все объясню. Как только те, кто не хочет спойлеров заткнут уши. И да, не ищите логики в этом объяснении, как известно, если коробка черная и квадратная - значит внутри апельсин.
Вот такой вот предмет я и попросил. Аналогичные предметы в игре уже были, а потому вскоре Фран мне такой предмет обеспечил. Осталось добавить в финальную битву несколько усложнений в виде меняющегося ландшафта и заполненного вражескими снарядами экрана - и, вуаля, босс готов. Чтобы оценить, насколько он хорошо получился, я позвал друзей, и, не долго думая, мы отправились в бой.
Примерно через полчаса мы поняли, что еще час - и мы справимся. Еще полчаса - и мы бросили это дело. Я начал ослаблять босса. Когда я ослабил его до того, что начал убивать его в одиночку, я позвал Маркуса и одного из его тестировщиков (тогда у нас уже сформировался обычай тестить время от времени друг другу карты). Они, в отличие от первых тестеров, ничего о боссе заранее не знали. К моему удивлению, у них началась паника - они раз за разом умирали, даже не понимая, что делать. Я заскрипел зубами и осознал, что нужно сделать в предыдущей комнате пазл-подсказку (такой, чтобы решался без усилий мозга, но натолкнул бы игрока в нужное русло, когда он встретится с боссом). Кроме того, я поуменьшал скорости всех вражеских атак, чтобы игроки могли хотя бы на несколько секунд перестать уворачиваться и подумать, что же им в конце концов делать. Более того, важно было не ослабить босса в целом, а именно дать игрокам сделать первый шаг, поэтому в самом начале босс не особо шалит, но вот как только он начинает получать урон, включается на полную катушку.
Здесь самое время завести шарманку про хардкор и иже с ним. Текущую версию босса я кладу одной левой. И мне было очень тяжело осознать, что для игроков, даже знающих, в чем прикол, это в разы сложнее. Все те изменения, которые я сделал, кажутся закономерными только задним числом. Я, по сути дела, менял параметры вслепую - я не мог тестить эту часть игры на себе, а тестеры становились все менее репрезентативны и все меньше хотели снова тестировать одно и то же место. К счастью, в конечном итоге, силы я потратил не зря, босс вышел удачным - никто из игроков, дошедших до него, не ушел обиженным. По крайней мере, никто не жаловался. Возможно, единственное, что меня спасло - так это то, что те, кто доходили до босса, уже прошли жесткий отсев, разобравшись с десятками моих головоломок, а в свою очередь те, кому босс был бы не по зубам, просто до него не дошли.
Финальная стадия подходила к концу - к тому моменту я уже давно вел в блокноте длинные списки вещей, которые нужно поправить или доделать. Количество пунктов в нем стало можно пересчитать по пальцам, но не успевал я разобраться с одним, как находил еще какую-нибудь мелочь - список становиться короче не хотел. Пришла пора разобраться с лутом. Нет, не с обычным лутом - его я уже несколько раз перераспихивал по карте и изменениями мог только испортить. Речь о рарных шмотках в конце уровня. Неделю(!), если не больше, я спамил Франа разными идеями, какие предметы можно сделать. Я, конечно, хотел, чтобы предметы были действительно классными. Фран же более адекватным взглядом смотрел на корованы, что я пригонял ему, и писал, что из этого можно сделать, а про что можно забыть.
Конечно, я понимал, что давать игроку уж совсем оверпаверные предметы нельзя - мне хотелось дать что-то, при виде чего глаза загораются, но когда разберешься получше, понимаешь, что нет, не имба, но очень даже годно. По-моему, эту цель я достиг. Приведу один пример - это рарное колечко, лежащее в самом конце уровня, до которого могут добраться лишь самые стойкие (один такой полный забег по карте занимает примерно час-два времени, и это только если знаешь, как решаются пазлы, а союзники не начинают впадать в детство, играть в прятки и убивать друг друга).
Релиз:
И вот, в день релиза... Фран исчез. Я серьезно, мы с Маркусом не знали что думать. Тут надо вставить пару длинных предложений, чтобы нагнести паузу и дать читателю ощутить ситуацию. Серьезно, просто на минуту отложите чтение, чтобы прочувствовать, что приходит в голову, когда единственный разработчик исчезает в день релиза.
Так вот. Проходит неделя, мы с Маркусом уже начали делать шуточную карту о таинственном исчезновении Франа. Но тут, слава богу, он наконец объявился. Оказалось, вы не поверите, что он переехал в новую квартиру, а в ней не оказалось нормального доступа в интернет. Не знаю, помнил ли он вообще о том, что ему скоро переезжать, когда назначал нам с Маркусом дату - при всей этой кутерьме нетрудно было и забыть, наверно. Так или иначе, дата была перенесена, и теперь у нас было еще немного времени, чтобы сделать последние штрихи. Помимо всего прочего, за это время Фран успел к апдейту сделать еще и видеоролик о нововведениях.
Я наконец мог вздохнуть с облегчением, чтобы снова набрать воздуха в ожидании фидбека. В целом, моя карта игрокам понравилась. Кто-то хвалил левелдизайн, кто-то хвалил головоломки. Те, кто предпочитали играть в мультиплеерные карты в одиночку (из-за слабого интернета), конечно высказали свое фи, но я был с ними вполне честен - уже первая комната явно требовала наличия второго игрока, так что они не потратили лишнего времени впустую. Те, кто с картой справлялись, хвалили, те кто не справлялись, задавали вопросы (я отвечал, хотя и не на все, чтобы не портить кайф от решения).
Оказалось, что с одним из секретиков я все-таки перемудрил - это уже исправлено, теперь его смогут найти все, кто будут искать, а не только те, кто приседают, когда из-под земли выскакивают копья. Но это не единственный изъян. Есть мелочи, которые можно было бы сделать лучше - я думаю они всегда есть; пока я бегал по карте, делая скриншоты, у меня не раз успело возникнуть желание что-то срочно поменять. Но это все мелочи, а есть и серьезные проблемы, которые уже не исправить - самой серьезной моей ошибкой оказалось то, что на карте мало врагов. Их неспроста так мало - ведь вся суть карты в пазлах, а не в битвах. Но UnEpic - не игра-головоломка, здесь игроку нужно убивать врагов, набирать опыт, поднимать уровень. А я вспомнил об этом, только когда карта была уже в финальной стадии, и исправить нехватку экспы мне уже не удалось. Другая серьезная проблема заключается в том, что приличному числу игроков (то ли интернет у них слаб, то ли живут далеко друг от друга, то ли сама игра слишком уж много данных пересылает между клиентами) играть заметно мешают лаги, а потому пазлы, требующие слаженной командной работы, им пройти оказывается чрезмерно трудно. Но вряд ли я могу с этим как-то помочь не в ущерб самой карте.
Собственно, пора бы уже заканчивать, статья стала настолько длинной, что от начала до конца дочитают немногие. Не хочется заканчивать рассказ банальностью в духе "это был прекрасный опыт", "сыграйте в мою карту - она такая клевая" или "UnEpic - это круто". Это все так, но лучше я раскрою страшную тайну. Делать игры интереснее, чем в них играть. А уж особенно, если тебе достается одна из самых лакомых частей - собирать из уже заготовленных элементов что-то клевое. Редактор в UnEpic мне сразу полюбился за то, что работа в нем больше напоминает игровой процесс, чем серьезную разработку - бегаешь человечком, меняешь вокруг себя стены на коридоры или, нажимая быстрые кнопки с панельки заклинаний, вешаешь флажки что тут будет монстр, а там - кнопка. Если надо потестить - нажимаешь на другую кнопку, и твои заготовки немедленно начинают пытаться тебя убить. Так сидишь в редакторе, пытаешься обмануть кажущиеся ограничения, и уже наплевать, будет ли кто-то играть в твое детище, и понравится ли оно кому - делаешь, потому что нравится делать. В этом-то и есть вся суть инди.
- 24 августа 2014, 08:28
- 029
Эх, как-нибудь бы толпой в UnEpic поиграть что ли, где еще хорошую компанию для игры найти, как не на гамине.
С удовольствием бы присоединился.
Да, надо будет собраться. В выходные как-нибудь, может.
А давайте... поиграем в эту карту? Нежиданно, правда?
P.S. Наконец-то нашлось время и прочитал пост полностью. Пост классный, честно. Захотелось делать игры (Продолжать делать?)
А давайте. Может быть в выходные...
Хороший пост. Посты меня редко затягивают, а тут прямо не оторваться.