Геймдизайнер мало чем отличается от психа. Как мы делали игру CMAN

/start

Вечер пятницы, конец рабочего дня. Вы находитесь в офисе. Что будете делать?

— Поехать домой поспать
— Пойти в бар с друзьями
— Отправиться на свидание
— Проверить, почему горит свет в переговорке

Меня зовут Андрей Моревский, я архитектор в Додо и тот человек, который выбрал «Проверить, почему горит свет в переговорке». Тогда я ещё не подозревал, чем закончится эта история.
leyyl2fmewzcvnvgqtegnx5n1ck.jpeg

Первому игроку приготовиться


Я бесцеремонно зашёл в переговорку и узнал, что там обсуждают создание какой-то игры. Хм… это не могло не заинтересовать. Во-первых, какая игра? Мы же разрабатываем информационную систему для сети пиццерий. Во-вторых, ну кто из нас не мечтал сделать игру? Не знаю как вы, а лично я мечтал об этом всю жизнь. Поэтому я дерзко ворвался в разговор. Вот что я выяснил. Ребята решили сделать собственную игру, чтобы привлечь больше людей к нашему стенду на грядущей конференции. И не просто игру, а соревновательную игру, так как мы хотели организовать конкурс и давать крутые призы за лучший счёт.

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

До конференции оставалось три месяца, а у нас пока не было ничего, кроме желания. Слово за слово, и вот я уже вместе с командой придумываю, что интересного можно сделать за этот срок. Мы выбираем жанр — перебираем аркады, платформеры, симуляторы, стратегии, но всё отметаем. Все чаще проскальзывают воспоминания о теплых ламповых квестах из 90-х, Space Rangers, эх… И если уж осуществлять мечту, то на полную катушку. Мы будем не просто делать игру, а возрождать жанр текстовых квестов старой школы. Мы будем делать олдскульный текстовый квест! Звучат одобрительные возгласы, кто-то радуется, что мы выбрали самый простой жанр и поэтому запилим игру быстро и легко, все соглашаются… Ха-ха! Как же мы тогда ошибались!

Но ошибались мы в тот день не единожды. Нам показалось, что будет прикольно сделать игру в виде телеграм-бота. Все участники конференции сидят в телеграмовском чате, а значит, мы обеспечиваем низкий порог вхождения. И главное — не надо возиться с UI, так как мы ограничены форматом мессенджера. Ох… Лучше бы нам вернуться назад и не совершать этой ошибки…

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

Итак, курьер будет развозить заказы по вымышленному городу и зарабатывать деньги. Деньги и станут его счётом, а счёт станет тем самым соревновательным элементом. Но заработать деньги не так-то просто — время на доставку ограничено. А ещё в дороге курьер будет влипать в самые невероятные ситуации, которые «съедят» ценное время и тем самым помешают ему заработать больше. Из ситуаций можно выпутаться собственной смекалкой, а также умело используя характеристики персонажа — силу, ловкость и харизму. Сразу оговорюсь, что мы не хотели делать классическую задачу коммивояжёра, так как не увидели в этом фана для наших игроков. Если в игре и есть необходимость поиска оптимального маршрута, то лишь как легковесное дополнение к игровому процессу.

f2msnt_1txezimqcdk0zwblcccs.png
Мы нарисовали на доске первую версию карты, прикинув, какие локации можно встретить в любом городе — новостройки, старый центр, деловой квартал, общежитие, элитный посёлок… Из самих локаций плавно вытекали типовые ситуации, которые могут там происходить. В новостройках беспредел на районе — гопники пытаются отжать сумку у курьера. В старом городе тёплая ламповая история — бабушка зовет на чай и угощает пиццей. В общаге поджидает злая вахтерша и шутники-студенты, которым нечем заняться. Незамедлительно мы изготовили бумажный прототип — нарезали карточки с историями, взяли игральные кости и сыграли в только что придуманную игру. Стало ясно — в этом что-то есть. Из офиса вышли в полночь, полные воодушевления и возбуждения. Впереди были целые выходные, чтобы сделать ещё больше.

Чёрное зеркало


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

Прототип разбил лодку креатива о быт наших способностей. Случайный порядок событий чаще всего приводил к невразумительной истории. А характеристики курьера, даже если их было всего три, никак не удавалось сбалансировать. Ещё пару недель мы потратили на мозговые штурмы, пытаясь реализовать наши задумки, но оказались в тупике… Не хватало знаний и опыта, чтобы потянуть придуманную нами игру.

Взяв на себя роль гейм-дизайнера, я начал читать статьи об игровых механиках, балансе, сценарном искусстве, собирать чужие идеи, генерировать свои — и комбинировать всё это в игровой процесс. Вспомните последний эпизод «Чёрного зеркала». Я стал тем самым одержимым парнем, который пытался создать что-то действительно стоящее. Но я никак не мог нащупать общую логику, сюжетную линию, найти цельный геймплей. Люди приходили, давали какие-то советы и уходили. Но что бы я не пробовал, получалось барахло. Хорошая игра — это синергия сюжета, атмосферы, динамики. Это путь во тьме сквозь ошибки и озарения, в поиске источников заветного фана. Я встал на этот путь, но света в конце туннеля пока не наблюдал.

Всё случилось в два часа ночи. Я сидел на балконе, пил кофе, курил и думал о квесте. Почему-то мы убедили себя, что фиксированный порядок событий в каждой игре — это «тупо», уныло, нереиграбельно. Но что, если это не так? И что можно сделать, чтобы это было не так? Озарение пришло внезапно, словно из ниоткуда. В памяти всплыл старый фильм «День сурка», где герой несколько дней подряд проживает одну и ту же последовательность событий. И лишь его поступки влияют на то, чем именно обернётся для него каждое из них. Задачей героя было найти правильную последовательность поступков, чтобы выиграть в этой борьбе с сурком.

«День сурка» стал центральной идеей игры. События должны происходить в одинаковом порядке, в одно и то же время, с одними и теми же персонажами. Только проживать этот день курьер может по-разному, в зависимости от своих действий. Это было откровением, которое всё расставило по своим местам. Все истории в игре должны быть связаны, каждый правильно пройденный квест ведёт героя дальше. Игрок исследует мир, и чем больше у него опыта, тем больше правильных решений он принимает.

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

Например, наш герой доставляет пиццу в элитный поселок и узнаёт, что там проходит закрытая вечеринка (где, вероятно, можно неплохо заработать). Разумеется, на мероприятие его не пустят. Но если в новостройках он поможет женщине, на которую напали гопники, то в благодарность получит приглашение на вечеринку, где «не хватает настоящих мужчин». Однако, победить хулиганов не так-то просто — придется пройти проверку на силу и ловкость, и при этом может серьезно пострадать харизма. Но если вы по дороге в новостройки не оставили без внимания голосующего паренька и помогли решить его проблемы, то получите в подарок кастет, который в свою очередь легко и быстро решит ваши проблемы с хулиганами. Уфф… вроде всё. Хотя нет. Нужно догадаться, как замаскироваться, чтобы пройти на вечеринку, ведь даже с приглашением обычному курьеру туда вход закрыт.

Игроку придётся принимать и сложные моральные решения. На первом же задании вы окажетесь в неоднозначной ситуации. Дети одни дома и у них нет денег. Что делать? Подождать маму, которая якобы вот-вот придёт и потерять время, рискуя не успеть доставить следующие заказы? Или уйти, оставив детей без пиццы, а себя без денег? А может подарить пиццу, порадовав детишек, но опять же остаться без денег? Чтобы бы выбрали вы?

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

Много редакторов, много стилей, одна платформа


Известный факт, что в разработке игры 80% времени занимает создание контента, и лишь 20% — написание кода. Мы этот факт крепко ощутили на себе. Чтобы успеть написать все придуманные сценарии, я кинул клич и нашел в компании авторов-волонтеров, которые помогли детально проработать персонажей игры. Все вместе мы написали 56 историй с кучей ответвлений и вариантов развития событий. Работа над одной историей занимала минимум шесть часов. Всего получилось 300 страниц текста. Только вдумайтесь — это целая книга!

azxsiwjp1wz1lswwa6gaksqt7_8.jpeg

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

Что же могло пойти не так? Уверен, вы уже догадались. Поскольку тексты писали разные люди, все истории получились в разном стиле и не стыковались друг с другом. Пришлось немного внепланово поработать — сесть и привести все 300 страниц текста к единому стилю.

Параллельно велась разработка телеграм-бота. Когда ребята-программисты принесли первую рабочую версию, мы с нетерпением загрузили туда сценарии и… осознали, что это провал! Наши высокохудожественные, богатые образами, диалогами и описаниями тексты совершенно не читались на экране телефона. Приходилось прокручивать несколько экранов, чтобы прочесть один маленький шаг квеста. Это быстро утомляло. Невероятно… Мы в течение месяца писали тексты и не додумались проверить, как они выглядят на целевой платформе!

Я снова перешел на круглосуточный режим. Снова пришлось всё переписывать… На этот раз, чтобы сократить вдвое и адаптировать текст под экран телефона. В тексте обязательно должна остаться информация для игрока — где он, что происходит и что ему за это будет. Про при этом хотелось сохранить и словесное очарование: юмор, эпитеты, игру слов, шутки. Пожалуй, для меня это был самый сложный и болезненный этап работы.

Пользователи беспощадны. Даже тестовые


Первый же альфа-тест в очередной раз превратил игру в тыкву. В игре было 9 раундов, в каждом можно было взять по 3 заказа, но первые игроки не выдерживали и половины игры и сбегали под разными предлогами. И всё это за две недели до часа X!

Пару дней назад мне казалось невозможным сократить наши красивые сценарии в два раза, но только теперь я ощутил истинное значение слова «невозможно». Долгими бессонными ночами я балансировал 9 раундов, раскидывая истории и предметы, чтобы они складывались в сюжетные линии по определенным правилам — некоторые цепочки можно проходить параллельно, а некоторые взаимоисключают друг друга. Теперь я просто не понимал, как можно сократить игру, не образовав логических дыр. Пришлось провести ещё пару ночей на балконе, чтобы уложить игру сначала в семь, потом в пять, а потом и в четыре раунда. У меня смутные воспоминания о тех временах, и я искреннее не помню, каким чудом я это сделал. В итоге половина созданного контента была вырезана и осталось 30 историй из 56. Но от выбрасывания контента игра только выиграла. Всё, что было недостаточно крутым, было безжалостно уничтожено, и осталось только самое лучшее.

Угадайте, что произошло после повторного альфа-теста? Правильно — меня попросили ещё немного сократить игру. Но к этому моменту моя рука была железной, а сердце холодным, и я быстро избавился от лишнего раунда. Теперь в игре осталось только три раунда и она обрела свой «бриллиантовый» вид. Уже в таком виде игра вышла на бета-тест, а позже и на продакшн.

Телеграм — недружелюбная среда для квестов


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

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

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

Вместо титров


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

В конференции приняло участие 1100 человек, из них 300 прошли игру хотя бы раз, а десятки провели в игре более 50-ти сессий. Множество людей приходили к нам на стенд, тусовались с нами на афтер-пати и благодарили за игру.

Все отзывы были положительные. Игра понравилась. Поэтому спустя пару месяцев мы решили выпустить CMAN в «большой» мир. И по этому поводу подготовили новую, расширенную и улучшенную, версию игры. В этой версии вас ждут:

  1. PvP-поединки на мечах с реальными игроками;
  2. Ультра-мега-хардкорный босс на крыше делового центра, который порвёт вас в клочья или откроет доступ к игре+.
  3. Новые предметы. Смарт-карта, открывающая все двери в городе. Мигалка, гарантирующая право VIP-проезда по любым дорогам. Медальон судьбы, назначение которого покрыто мраком тайны.
  4. Новые приключения в общаге.
  5. И наконец — уникальная возможность «насолить» другим игрокам, заставив их отвечать на придуманные вами вопросы, чтобы пройти квест.


Поиграть в игру можно и нужно. Сейчас проходит марафон, мы приготовили призы для первой десятки игроков с максимальным рейтингом к 7 апреля 23:59. Каждый игрок с 10 по 4 место получит в подарок миниквадрокоптер HUBSAN H001 NANO Q4 SE.

© Habrahabr.ru