«Принцип рогалика заключается в жесткой ограниченности ресурсов», — интервью о разработке инди-игры Roam

Инди-разработчик Максим Быков вот уже три года разрабатывает ламповый ролевой платформер Roam (ранее Moist). О проекте, пайплане, сложностях разработки и ожиданиях, — в нашем с ним интервью.

Александр Семенов, App2Top: Максим, привет! Перед тем, как мы поговорим об игре, расскажи немного о себе.

Максим Быков

Максим Быков, Roam: Привет! Мне 25 лет, живу в Питере. Еще год назад я работал на фрилансе в качестве веб-иллюстратора для рекламных студий. Это была моя первая и единственная работа, которую я выбрал, потому что рисование у меня всегда было первым в списке хобби, а также музыка и, собственно, игры. В один момент эта комбинация и уверила меня, что, если я возьмусь за разработку, то все должно получиться.

С чего началась разработка игры?

Максим: Началось все с того, что у меня и пары моих друзей независимо друг от друга к 23-24 годам (2021 год) случилось просветление: пришло желание запустить свое дело и «никогда больше не работать на дядю».

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

С самого начала было понимание: это будет серьезный проект, надо вложить в него все силы. Конечно, по классике, я сильно недооценил объем работы на этапе планирования, но я всегда считал усидчивость своей сильной стороной, потому постепенное осознание масштабов меня не сильно пугало. Всегда исходил из того, что решение о начале разработки — это ситуация вин-вин, где у тебя либо хороший доход, либо сильное портфолио для работы каким-нибудь fullstack-разрабом на интересном для меня проекте (вероятно, за границей).

Расскажи об игре. Что такое Roam, как ты сам для себя ее характеризуешь?

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

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

В итоге это переросло в (копирую из описания игры в Steam) «2D-платформер в жанре Action-RPG с элементами рогалика, метроидвании и выживания в процедурно генерируемом открытом мире».

Какие у нее ключевые фишки, что отличает ее от других проектов в нише?

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

Тут в дело вступают элементы рогалика, метроидвании и выживания. Наверное, основной фишкой (скорее всего, не уникальной, но все же) будет полная взаимосвязь всех процессов и механик между собой во время прохождения. Можно это назвать иммерсивностью, наверное.

Например, я замечаю, что в похожих RPG часто завозят тонну контента, 90% которого превращаются в мусор к концу игры (слишком низкий уровень у оружия/брони, реки золота, которые ты перестаешь замечать и как-то планировать свои расходы, NPC, которые нисколько не вплетены в игровой процесс, а просто выполняют функцию кнопки upgrade/sell/buy).

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

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

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

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

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

Я правильно понимаю, что Roam ты делаешь самостоятельно? Или кто-то помогает?

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

Что самое сложное в самостоятельной работе над проектом для тебя?

Максим: Наверное, психология человека. Элементарно тяжело сидеть над одним и тем же несколько лет по 10-12 часов в день. И все это с единственной надеждой, что когда-нибудь это окупится (эмоционально и/или финансово). Порой руки, конечно же, опускаются.

Разработка идет чуть ли не с середины 2021 года. Что помогает не выгорать?

Максим: Терпение и труд, как говорится. Я уже упоминал усидчивость. Сюда можно добавить самоуверенность и умение отдыхать от дел. Правда, отдыхать я еще только учусь, но, вроде, начинает получаться, отчего и работа заметно легче идет. Ну, а вера в себя помогает не расстраиваться, когда что-то не получается, даже если это что-то глобальное. На такой случай в голове всегда есть мысль: «если я потрачу на это достаточно времени, то все точно получится».

С чего началась работа над игрой?

Максим: С отрисовки пиксельного главного героя, пока скачивается и устанавливается Unity. Затем следовали 150 перерисовок пиксельного главного героя, пока изучается C# и движок. Но я рад, что пытаться что-то кодить по проекту я начал с самого старта. Так где-то за годик я научился и пиксель-артить, и кодить достаточно уверенно, чтобы решиться потихоньку начать усложнять и расширять проект.

У себя в блоге ты писал, что изначально какого-то конкретного видения у тебя не было. Ты как будто просто сел и начал творить. Как так?

Максим: У меня такое же представление вообще о любом проекте. Будь то песня, картина или игра. Главное для меня — в начале не связывать себе руки каким-то конкретным вижном или тематикой, чтобы крутые идеи не проходили мимо и их всегда можно было каким-то образом вплести в структуру.

Например, старое название Moist было забраковано не только потому, что 30% англоязычных пользователей Reddit связывают это слово со всякими выделениями, но и потом, что оно сильно ограничивало фантазию водной тематикой. Roam в этом плане дает простор для любых идей и механик.

Как именно в итоге выстраивался вижн? Это был путь через прототипирование? Нравится фича — добавляем в игру, не нравится — вырезаем?

Максим: Да, так и есть. Одной из первой фич была рыбалка, которая просуществовала где-то полгода и была успешно вырезана (заменена на подобие подводной охоты), чтобы темп игры не падал.

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

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

А что конкретно с городом было не так?

Максим: Главной идеей было сделать многоуровневую компактную зону — хаб. Исполнить это нужно было так, чтобы:

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

Сколько ни пытался – все мимо.

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

Как много времени ушло на то, чтобы прийти к конкретному вижену?

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

Сейчас кажется, что основной источник вдохновения — Terraria, это осознанно? Или ты отталкиваешься от чего-то иного?

Максим: Я отталкиваюсь от всего, во что мне когда-либо нравилось играть. Это и Terraria, и Minecraft, и Don’t Starve, и даже серия Souls, и еще много других игр. Порой вдохновением становится вообще мало кому известная индюшатина, вроде Legend of Dungeon или Cube World, в которые я еще в старшей школе играл. Да, у всех этих игр, по моему мнению, есть, что друг у друга перенять для улучшения игрового процесса.

Например, в Minecraft и Terraria мне никогда не нравилось копаться в земле. Это превращается в рутину на определенном этапе. Все часто сводится к рытью тоннеля вниз, пока не найдешь какой-нибудь данж/пещеру и не пойдешь их зачищать. Так почему бы не сделать свободное перемещение по карте с поиском сокровищ и ресурсов без монотонных действий? И подобных моментов — море.

В общем, стараюсь везде брать лучшее и анализировать, как это внедрить, да и вообще стоит ли.

Как выглядит пайплайн у тебя? С чего начинаешь работу?

Максим: Либо в голове, либо в доках лежат основные задачи, которые нужно делать в первую очередь. Или по настроению. В общем-то, и все. Для меня, скорее, важно именно сесть за работу, а там уже в потоке делается все, что попадется на глаза во время традиционного тестового забега по карте в начале рабочего дня.

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

Максим: Ну, это естественный процесс обучения. Можно было бы, конечно, учиться кодить отдельно от проекта и только потом приступать к сборке. Но, насколько мне известно, лучший учитель – это практика. Тут и мотивация запредельная, и все получается (как сначала кажется). Нарисовал что-нибудь, написал 50 строчек и вот — оно уже ходит и стреляет. Но и от ошибок никуда не деться.

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

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

Ты сразу делаешь и код, и арт, и дизайн, и звук. Есть что-то, от чего бы отказался, что делегировал бы?

Максим: Да, времени не хватает только на звук. Иногда набрасывается вдохновение что-нибудь написать или погенерить звуки в Serum, но это случается редко. Плюс на обучение этому всему тоже нужно время и оборудование. Планируем после выхода демо нанять спеца на аутсорс.

Как держишь в голове все компоненты, над которыми работаешь?

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

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

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

Чем ты пользуешься для планирования?

Максим: Отдельный аккаунт гугла со всеми планами, документами и файлами в облаке.

В целом, каким софтом пользуешься для разработки?

Максим: Unity 2022.1.23, Aseprite для пиксель-арта и анимации, FL Studio 12 и Serum для аудио. Все редакторы карт и параметров сварганены внутри самой игры на отдельной сцене.

Игру ты делаешь на Unity. Нет искушения в свете изменения типа их монетизации сменить движок?

Максим: Я думаю, что эта тема завирусилась сильнее, чем по идее должна была. Даже изначальный порог изменений, начинавшийся, вроде, с $200 тысяч, нас особо не смутил. $200 тысяч для многих — и для нас в том числе — уже предел мечтаний. Да и движок менять – это непосильная задача.

От каких решений или фич в силу трудоемкости пришлось отказаться?

Максим: Тут даже не перечислить: много чего отлетело на этапе раздумий. Но основное – это разрушаемость блоков и течение воды, так как эти два аспекта в теории полностью переворачивали всю генерацию и плодили тонну нюансов, которые нужно учесть/исправить. Но чем больше растет понимание того, что должно получиться в итоге, тем проще отсеять все ненужное, даже особо не задумываясь.

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

В блоге ты в том числе упоминал 3D-освещение, которое очень круто выглядело и придавало игре дополнительную уникальную визуальную особенность. Почему отказался от реализации?

Максим: Это тоже можно отнести к предыдущему вопросу. Тут случились элементарные проблемы с оптимизацией мира, целиком построенного с помощью Tilemaps. Большая карта в 1000х1000 блоков отбрасывает тень на другую такую же карту, и даже приличная видеокарта еле вывозит такие процессы. А производительность – это одна самых главных вещей, которые должны быть отлажены по максимуму. Было бы странно, если игра весом в 100-150 Мб требовала бы ресурсов как киберпанк на ультрах. Да и в итоге — после работы с цветом и рисовкой — сейчас мне графика нравится даже больше, чем было с тем освещением. Но, возможно, на другом проекте получится как-нибудь добавить и эту красоту.

Что осталось доделать? Насколько процентов игра готова?

Максим: Я прикидываю у себя в голове так, что демо готово на 90%, но от релизных масштабов оно занимает 25%. Притом, как я уже говорил, масштабировать эти 25 в 100 должно быть намного легче, чем собирать сам фундамент. Да и добавлять контент на отлаженных системах – одно удовольствие.

Как часто предлагают помощь и как к этому относишься?

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

Приходят ли издатели и есть вообще интерес в них?

Максим: Да, писали три издательства. Пока что мы с Мишей собираемся тестить свои силы на рынке. Однако, в случае чего, будем и издателя искать.

Есть ли планы по продвижению?

Максим: У нас есть довольно большой перечень вариантов продвижения. Начиная с Reddit Indie Sundays и заканчивая фестивалями на Steam. Путей и способов, на самом деле, так много, что, как мне кажется, нужно будет определиться с тремя-четырьмя основными и стучаться туда, особо не распыляясь. И, конечно, мы закладываем деньги на рекламу за месяц-два до релиза.

Что у тебя с ожиданиями (и, конечно, что с вишлистами)?

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

С вишлистами пока немного грустно: 800 за первый месяц и затем тишина (притом около 50% вишей почему-то из Японии). Но я понимаю, что пока никакой раскрутки нет, следить за вишлистами нет смысла. В народе вот ходит мнение, что 30 тысяч вишей – это круто. Пока ориентируемся на эти цифры.

Комментарии
Добавить комментарий
Новости по теме