3 года в моддинге - чему я научился, стоит ли это свеч и реально ли создать что-то путное одному?

Рассказываю обо всём пройденном мною пути от появления первой задумки до выпуска альфы моего проекта. С советами.

3 года в моддинге - чему я научился, стоит ли это свеч и реально ли создать что-то путное одному?

Уже 3 года я непрерывно обучаюсь чему-то новому, разбираюсь в непонятном и получаю постоянное внимание от своей аудитории, которая непрерывно понемногу растёт. Моддинг можно назвать даже работой, пусть у моддера нет чёткого графика и постоянной зарплаты. В этой статье я хотел бы поделиться тем, как прошёл свой путь в этом непростом занятии, что этому способствовало и что мешало. Посреди текста я оставил 10 советов, которые могут помочь начинающим разработчикам не допустить моих ошибок и пройти менее тернистый путь, чем я.

Содержание:

Примечание: ссылки на большинстве слов - пояснение имён и терминов для тех, кто не разбирается в мире KB, но хочет почитать про процесс мододелства через призму самого мододела

Начало пути

Я люблю King's Bounty. Нет, обожаю эту серию, хоть и понимаю, что в глазах большинства она уже давно технологически устарела, а также не стала феноменом игровой индустрии, как те же третьи "Герои", которые всё ещё на слуху и имеют большую популярность и через 25 лет после релиза.

Тем не менее, после очередного прохождения всей серии я решил взяться за редактор кампаний, который у меня пылился на диске с незапамятных времён. Идея нового приключения изначально была простой - Амели, как и в оригинале, попадает на Теану, но её сюжетная задача немного осложняется - викинги с далёкого севера захватили большинство островов и теперь помимо поиска Камней Богов, уже знакомые территории нужно освобождать от "рогатого ига" северного народа.

Один из ранних скринов - "культурное освоение" <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fkingsbounty.fandom.com%2Fru%2Fwiki%2F%25D0%2594%25D0%25B5%25D0%25B1%25D0%25B8%25D1%2580%3Fso%3Dsearch&postId=3191469" rel="nofollow noreferrer noopener" target="_blank">Дебира </a>викингами
Один из ранних скринов - "культурное освоение" Дебира викингами
Ещё один ранний скриншот (у замка <a href="https://api.dtf.ru/v2.8/redirect?to=https%3A%2F%2Fkingsbounty.fandom.com%2Fru%2Fwiki%2F%25D0%2591%25D1%2583%25D1%2580%25D1%2583%25D1%2582%3Fso%3Dsearch&postId=3191469" rel="nofollow noreferrer noopener" target="_blank">Бурута</a>)
Ещё один ранний скриншот (у замка Бурута)

Таким образом, 14 ноября 2021 года была создана группа в ВК и начата работа над расширением "Принцессы"... Ну как начата. Началась анальная эквилибристика, к которой я совершенно не был готов. Конечно, первые недели 2 я радостно изучал по единственному мануалу расставление объектов, базовую настройку армий, магазинов, диалогов и даже немножко квестов (с которыми я полностью разобрался сильно позже). Но потом началась череда слётов - то текстуры пропадут, то поломается вся игровая сессия (т.е. при заходе в мод что через игру, что через редактор происходит вылет), то ещё какая-то хрень случится. Восстанавливать с нуля всё приходилось не раз и не два. Про необходимость бэкапов мне сейчас говорить не приходится, но тогда я их если и делал, то в лучшем случае раз в несколько месяцев, поэтому не единожды успел поплатиться за это.

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

Первый слёт текстур
Первый слёт текстур

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

Совет №2: обязательно хорошо попрактикуйтесь и досконально изучите всё, что можно и нельзя прежде чем делать свой основной проект. Если вы сразу начнёте и обучаться, и "деплоить в прод", то скорее всего только потеряете время. Я так потерял около года разработки

Первая попытка сделать арену
Первая попытка сделать арену

"В поисках нового мира"

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

"В поисках нового мира" это любительская кампания/мод для King's Bounty: Перекрестки Миров. Игра расскажет о приключениях Билла Гилберта в те времена, когда он разыскивал неведомый мир Теаны. Таким образом эту кампанию можно считать "мостиком" между событиями King's Bounty: Легенда о Рыцаре и King's Bounty: Принцесса в Доспехах. На тот момент являлся крупнейшим модом для KB.

Подробнее можно почитать здесь

Конец 2021 года стал кануном начала специальной военной операции и "отделения" России от большей части цивилизованного мира. Парень-лидер этого проекта (Евгением его звали) жил на Украине, так что трагический конец проекта с самого начала конфликта был лишь вопросом времени - помимо самого факта боевых действий между Россией и Украиной, в Киевской области постоянно звучали воздушные тревоги и были проблемы с электричеством, что не могло не сказаться на человеке. Тем не менее, в декабре 2021-го об этом ещё не знал никто, мод потихоньку развивался, и когда я сказал, что хотел бы присоединиться к команде, Женя меня принял на некоторых условиях. Тогда похождениям Билла Гилберта в Междумирье шёл уже не первый год, мод выглядел довольно перспективным и подходящим к логическому завершению, так что и понабраться опыта у матёрых мододелов, и запрыгнуть в последний вагон разработки (и, соответственно, красоваться в титрах) такого крупного проекта было довольно заманчиво.

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

Совет №3: обязательно, прям жопу порвите, но начните писать документацию с самого начала разработки. Так вы сможете держать все задумки, наработки и структуру не только у себя в голове, и при нужде посмотреть, что и как вы там напридумывали, что надо поменять, что оставить. Также это очень поможет другим членам вашей команды легко ориентироваться в проекте и не спрашивать и уточнять по 100 раз про одну и ту же деталь. К сожалению, я начал вести записи слишком поздно, и сейчас записано от силы процентов 10 всего, что уже создано. К чему может привести отсутствие или недостаток документации можно судить по краху "Поисков нового мира"

Пост, который я выложил спустя некоторое временя, как меня приняли
Пост, который я выложил спустя некоторое временя, как меня приняли
Примерная дата "смерти" Поисков - конец 2022-начало 2023
Примерная дата "смерти" Поисков - конец 2022-начало 2023

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

Арены по мировоззрению Евгения требовались на каждом кусочке локации, и поэтому работы мне предстояло немало. Практической пользы для игры это несло немного, но для меня это было то, что нужно - ведь если в два раза больше задач, значит в два раза больше можно тренироваться. К сожалению, без кучи арен проект (возможно) был бы завершён ещё до начала СВО, но мне это послужило незаменимой практикой, без которой в настоящий момент я, быть может, и не смог создавать достойные локации.

Совет №4: Рассчитайте свои силы и расставьте приоритеты. Сначала прикиньте, что вы можете сделать, потом набросайте основу и на неё наслаивайте всё второстепенное. Если вы начнёте делать кучу арен перед тем, как доделать сюжет и все основные механики, то вы рискуете так и не закончить свой проект

Одна из моих первых работ. Людям в комментариях зашло, хоть тут и есть ещё над чем работать
Одна из моих первых работ. Людям в комментариях зашло, хоть тут и есть ещё над чем работать
Для сравнения - одна из моих последних работ
Для сравнения - одна из моих последних работ

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

3 года в моддинге - чему я научился, стоит ли это свеч и реально ли создать что-то путное одному?
Сейчас бы как-нибудь убрал пустоту в центре, но в остальном всё и правда хорошо
Сейчас бы как-нибудь убрал пустоту в центре, но в остальном всё и правда хорошо

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

Как видите, свобода для творчества у меня была довольно большой
Как видите, свобода для творчества у меня была довольно большой

Не буду всё пересказывать досконально, потому что на все эти месяцы уйдёт слишком много текста. Но именно Саэрат стал моим "крещением огнём" - в процессе были комментарии от "это шикарно" до чуть ли не "полное говно". Правок было много, и если у Олега (ещё одного дизайнера локаций) на редизайн Ласгалена (вторая эльфийская карта, немного меньше моей) ушло чуть больше месяца до полного окончания и вау-эффекта, то я со своей локой просидел в несколько раз дольше.

Короче, чтобы было всё более структурированно, напишу то, что вынес из дизайна эльфов в виде списка:

  • Общая композиция большой локации. До этого мне приходилось работать только с аренами-кусочками от общей локации, либо с маленькими картами, так что для меня Саэрат стал большим шагом вперёд
  • Детализация. Её проработка у меня стала намного лучше получаться именно в процессе дизайна этой локации, и уже на моих будущих картах все детали выглядят более органично и не выбиваются из общей картины
  • Узнал о многих функциях, которыми не пользовался при дизайне арен и комнат 3х3 метра. Например, об отключении коллизии объектам или немного про работу с ЛО (логическими объектами - грубо говоря хранилищами переменных и некоторых условий \ действий, которые могут существовать как и внутри каких-то объектов на карте, так и сами по себе). Тем самым приобрёл опыт, который мне пригодился в дальнейшем
  • Важность правок от руководства и в целом взгляда со стороны. Об этом подробнее расскажу в совете ниже

Совет №5: прислушивайтесь к чужому мнению! Нет, не стоит всем потакать и менять свою позицию как перчатки, но если вас критикуют (особенно более опытные люди), то это не повод упираться рогами и всеми правдами и неправдами отстаивать свою точку зрения. Попытайтесь обдумать сказанное и понять, почему человеку не понравилось то, что вы сделали. Если вы не понимаете причину или не находите её достаточно весомой, то следует её уточнить, возможно вопрос придётся задать более одного раза. Только после этого (если вы всё ещё не согласны с замечаниями) можно продолжать стоять на своём. Если вы будете отвергать всю или же почти всю критику в вашу сторону, то будете стагнировать или даже деградировать

Ну и накидаю несколько скриншотов того, что получилось (здесь озеро, столица и Башня Высшего Волшебства). Кстати, рисовал текстуры и вносил финальные правки вышепомянутый Олег, так что Саэрат - не только моя заслуга)
Ну и накидаю несколько скриншотов того, что получилось (здесь озеро, столица и Башня Высшего Волшебства). Кстати, рисовал текстуры и вносил финальные правки вышепомянутый Олег, так что Саэрат - не только моя заслуга)
Порт
Порт
Просто один из удачных фрагментов
Просто один из удачных фрагментов
Книга Жизни, Книга Смерти и столица на фоне
Книга Жизни, Книга Смерти и столица на фоне

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

Продолжение банкета (проекта)

Ладно, "Поиски" закрылись, но что же дальше? Конечно, грустно, когда все твои труды не находят практического применения, но жизнь при этом не останавливается и обязывает продолжать заниматься своими делами.

К февралю 2022 (ещё в начале моей практики "на стороне") я в последний раз добил Дебир и начал применять полученные знания - делать арены для него. Получалось, конечно, не идеально, но намного лучше, чем раньше.

Самая первая, городская арена
Самая первая, городская арена

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

  1. Прояснение ситуации и освобождение короля Фридриха из плена
  2. Содействие его ордену с помощью потустороннего мира, ослабление врага
  3. Нанесение удара по сердцу викингов

Для демоверсии нужно было выбрать один. Первый отметается из-за своего объёма - надо проработать много всего, хотя бы Дебир и ближайшие к нему острова. Третий заманчив, но он уже представляет собой концовку, игроку нужно объяснить буквально всё, что произошло да этого и прямо в демо спойлернуть все запланированные в моде события. Значит, остаётся только второй этап. Таким образом, концепт того, что мы сейчас называем Тенью выработался уже 2,5 года назад - героиня попадает в склеп-убежище, откуда история переносит её в другой мир, где она уже решает поставленные задачи для ослабления викингов на Теане. Позже к викингам сначала добавился другой орден (получилось этакое местное противостояние ассасинов и тамплиеров), а потом он сменился на злобных демонов. Концепт "рогатые+рогатые" прижился и дожил до альфы, которая вышла в октябре этого года.

Ладно, первые полгода с точки зрения практической значимости для моего мода фактически потеряны. Наработки я сохранил, но для новой демки они были бесполезны - разве что перенесённые объекты из следующих частей я мог использовать для проработки дизайна карт, но кроме этого прогресс предыдущих нескольких месяцев обнулялся. Более того, сдвинулся с мёртвой точки он только к июлю 2022-го, после двух неудачных концептов устройства нового мира.

Финальная версия - Конфедерация
Финальная версия - Конфедерация

Мне нужен был континент. Большой, больше чем Дарион или Эллиния. И, конечно, более разнообразный - игрок должен побывать и в горах гномов, и в лесах эльфов, и даже в Аду. Хотелось сделать именно один материк без всяких пограничных стен и кучи отдельных государств, при этом не скатывая всё в соевую "дружбу всех народов" или вообще в утопический фэнтези-коммунизм. Нужно было что-то более нетривиальное и не очень избитое, при этом гипотетически возможное и интересное.

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

  1. Правдоподобная. Таким же образом была образована Швейцарская Конфедерация в Средневековье
  2. Гибкая. Каждое государство настолько же автономно, насколько подчинено общим законам, чем можно оправдать как любое вмешательство "сюзерена" в любую из "провинций" Конфедерации, так и непохожесть одного "вассала" на другого
  3. Удобная. Игрок может свободно путешествовать по всем королевствам по суше, не тратя времени и денег на поиск лодки или условного Китано, чтобы перемещаться между разными народами. Когда мы имеем дело с большими территориями, мобильность персонажа играет не последнюю роль

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

Кружочки - "ноды" квеста. Пустой кружочек означает "ложь", с розовым шариком внутри - "правда". С помощью них очень удобно обрабатывать проверку факта того, произошло событие или нет. Также присутствуют проверки И\ИЛИ, что также довольно полезно
Кружочки - "ноды" квеста. Пустой кружочек означает "ложь", с розовым шариком внутри - "правда". С помощью них очень удобно обрабатывать проверку факта того, произошло событие или нет. Также присутствуют проверки И\ИЛИ, что также довольно полезно
Проверка на одновременное выполнение трёх условий (уже в обычном квесте)
Проверка на одновременное выполнение трёх условий (уже в обычном квесте)

Совет №6: перед тем, как что-то делать самому, следует изучить помимо документации примеры чужих работ. Если документация отсутствует как таковая, то чужой пример - единственный ваш выход. Разбираться самому необходимо, но уже имея за спиной багаж каких-то знаний - в противном случае с высокой долей вероятности вы потратите время впустую

Ладно, возвратимся от абстракций и обобщений, которые справедливы и по сей день, к реальности августа 2022 года. За целый месяц была сделана только локация-хаб - парк. Оглядываясь назад, могу сказать, что решение делать большую карту с единственной функцией, переходами в другие локи, было не самой лучшей идеей. Тем не менее, парк почти дожил до альфы и был вырезан за пару недель до ЗБТ.

Совет №7: упрощайте всё что можно (в разумных пределах, конечно). Игроку нет смысла тратить лишнюю минуту на бесполезную беготню, а у вас нет времени на проработку этих перегружающих геймплей элементов. В целом, такой подход применим для всего - начиная от левел-дизайна и кончая UI\UX

Пост об удалении парка. Лол, сейчас у меня актив в VK Donut'е такой же, как и на старых публичных постах 
Пост об удалении парка. Лол, сейчас у меня актив в VK Donut'е такой же, как и на старых публичных постах 

В целом, после 10 месяцев пребывания в шкуре разработчика-моддера, я почти перестал тратить время впустую - началась относительно продуктивная работа, которая стабильно идёт и по сей день. Собственно, с сентября по февраль я с большими перебоями делал земли нежити.

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

Стартовая деревня (гоблины появляются по одному из сайд-квестов, если что)
Стартовая деревня (гоблины появляются по одному из сайд-квестов, если что)
Маяк и виды
Маяк и виды
Курган Стражей
Курган Стражей

Некрополис и правда удался, но после него случился очередной "застой" на полгода. До осени 2023 я успел полностью проработать 5 персонажей и 2 локации (людскую и эльфскую), по размеру сходных с землями нежити. Обе получились паршивыми. Владения людей я переделал летом этого года под конфетку, а вот до эльфов руки не дошли. Поскольку в их локации и контента пока что почти нет, то я их не стал включать в первое демо.

Фенискберг, город людей, планировался как огромный город (по крайней мере, в условиях KB), чем по итогу и стал. Проблема в том, что во-первых, я создание этой локации растянул на 5 месяцев, а во-вторых изначально у меня в голове был именно "мегаполис с картинки" - мне хотелось его создать один в один, как в рекламе King's Bounty Legions. Наверное, поэтому остальное его наполнение получилось скучным, а также почти вся остальная локация под влиянием "горизонтальности" города стала плоской.

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

Референсы для города
Референсы для города
Что получилось в итоге (фото архивное и не совсем последней версии локации)
Что получилось в итоге (фото архивное и не совсем последней версии локации)
Деревенский фрагмент переделанного Фениксберга
Деревенский фрагмент переделанного Фениксберга
Фрагмент городского редизайна
Фрагмент городского редизайна

С Элирионом, эльфийским королевством, ситуация вышла прямо противоположная. У меня изначально был продуман лишь общий проект карты - остров со столицей в центре озера и кольцо из гор вокруг водоёма. Также, на дизайн эльфов у меня ушло всего 2 недели, за которые я просто не успел понять все фундаментальные ошибки, которые были мною допущены - локация оказалась слишком коридорной, а в узких рамках, заданных "кольцом", нормально не помещался магический лес. Каменные склоны вокруг озера получились лысыми и неуместными, а столица слишком пустой, лишь с домами по краям, и всё из-за своего непропорционально большого размера. В общем, на паре скринов ниже показываю, как не надо делать.

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

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

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

Я - руководитель команды

Откатимся немного назад, в середину сентября 2023-го. Тогда я только окончил (неудачный) дизайн города людей, всех об этом оповестил, и продолжил пилить контент на свою небольшую аудиторию (тогда подписчиков в ВК было меньше ста, причём сильно меньше). Но вдруг меня заметили, и один из постов репостнули в самое большое фан-сообщество King's Bounty ВКонтакте на 2000 с лишним подписчиков. Моему моду сразу было оказано повышенное внимание, а в группу вступило около 30 человек. Но самое главное, что у меня появились "личные" художник, нарративный дизайнер (тот, кто новые тексты пишет и мои выправляет) и композитор. Наконец-то я обзавёлся командой.

Эмоции такие эмоции
Эмоции такие эмоции

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

Организовывал я всё так - давал каждому ТЗ по нескольким задачам на неограниченный срок, при этом выполняя свои и ожидал, пока будут выполнены чужие, при необходимости консультируя своих партнёров. Примерно в то же время я создал Discord сервер, на котором мы централизованно общались, а также начал понемногу документировать по началу некоторые сюжетные и лорные элементы, а впоследствии и скрипты. По начальному темпу работ я надеялся доделать демо с ~десятью (!) локациями до Нового года. Но при разрастании мода и с некоторым изменением продуктивности моих помощников в худшую сторону, мне пришлось сдвинуть планируемую дату релиза сначала на весну, а потом ещё на несколько месяцев вперёд.

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

Фрагмент одного из постов. На этот раз про релиз демо почти не обманул
Фрагмент одного из постов. На этот раз про релиз демо почти не обманул

Художница тоже становилась всё менее и менее активной, после чего и вовсе перестала заниматься изображениями. В целом, работа её была не самой сложной - к концу 2023 большую популярности приобрели нейросети, с помощью которых она и делала большинство изображений. Понятное дело, что она доводила их до ума в Фотошопе, на что могло уйти 1-2 вечера, но тем не менее, работа с появлением ИИ стала значительно легче, чем была до этого. По её словам, она прекратила работать из-за того, что за столько лет устала от King's Bounty. Ну что же, надеюсь, что к нам она когда-нибудь вернётся, всё же де-юре это просто перерыв, а не полное "увольнение".

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

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

Тёмный мир программирования

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

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

Так вот, год назад пришлось пересилить себя и начать самому изучать местные тернии кода. Дело даже не в том, что King's Bounty написан на каком-то сверхсложном языке - все доступные для редактирования скрипты пишутся на Lua, который довольно прост в изучении. Дело в том, что по нему просто нет документации кроме 10 табличек (по одной на библиотеку) с неполным описанием не всех функций. Никаких примеров, просто название команды, описание принимаемых ею параметров и краткий набросок. Вот как оно выглядит повсеместно:

3 года в моддинге - чему я научился, стоит ли это свеч и реально ли создать что-то путное одному?

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

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

Заимствовать!
Заимствовать!

Да, всё верно - единственный способ понять - это заимствование. Не полное перепечатывание или "Ctrl+C\Ctrl+V" всего чужого кода, но его части. Поначалу, наверное, это просто необходимо. Это нужно для того, чтобы понять, как работают те или иные местные принципы, механизмы и связки, ближе ознакомиться с синтаксисом, характером выполнения игрой определённых функций и всем в этом роде. В дальнейшем вы ещё будете создавать свои уникальные шедевры искусства, но поначалу придётся делать вторичные механики и способности для того, чтобы усвоить фундамент.

Как это работает на практике? Например, на верхнем скрине запечатлена моя первая "самописная" абилка - "Охотник за душами" для чёрного рыцаря. Суть в том, что он похищает часть здоровья у выбранной цели и дарует его себе. Создавалась она на основе "Нити Жизни" демонолога - тот мог высосать часть хп у выбранного врага и даровать его союзнику. На словах звучит так, будто я поменял всего одну-две строчки, но на деле же пришлось разбираться довольно долго и изменить существенную часть оригинального скрипта. Но самое главное, что при работе с этой способностью я узнал базовые принципы создания абилок и дальше ориентировался в них уже немного свободно. Сделав так штук 10 наполовину заимствованных способностей, я уже мог создавать новые вполне спокойно. По этому же принципу я изучил постхитмастеры и постхитслейвы (действия при нанесении и получении урона юнитом соответственно), сабтёрны (действия\условия проверяющиеся\выполняющиеся каждый ход у конкретного юнита), общую обработку входящего дамага и т.д.

Совет №9: при обучении новому языку\способу программирования начинайте с заимствований. Только поняв, как на практике реализовываются те или иные задачи, можно начинать делать свои собственные, уникальные. Без этого в одиночку, да ещё и c не самой лучшей документацией, вы вряд ли сможете быстро овладеть нужным вам инструментом

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

Модели

Наверное, самая неприятная особенность моддинга КБ - невозможность добавления новых моделей и анимаций. Нет, текстуры перекрасить можно, даже часть из них вырезать (сделать прозрачными), но добавить принципиально новые модели - нет. Всему виной уникальный формат - .bma (bone model animated, для динамических объектов), .bms (bone model static, для статических объектов) и .bsa (bone .. animation для анимаций). Есть в интернетах программа на C++, которая конвертирует модельки в .obj, но в обратную сторону - нет, что и есть самое обидное в этом деле.

Для меня невозможность добавления новых уникальных моделей была самой обидной всегда, ещё задолго до того, как я и сам стал моддером. Год назад я решил попробовать это преодолеть и любой ценой засунуть в King's Bounty хоть один новый объект, тем самым сделав свой мод ещё более выделяющимся на фоне остальных. Тем самым, я начал исследование - то, что в основе КБ лежит движок TheEngine, я знал давно. Значит, скорее всего, во всех играх на нём используются +- одни и те же форматы файлов, по крайней мере графические. В общем говоря, всё так и оказалось - в большинстве проектов на TheEngine используются всё те же .bma, .bms и .bsa, что и у меня.

Нужно было попробовать извлечь ресурсы из всех игр, разработанных на нём. Как и ожидалось, запечатаны они были получше, чем в King's Bounty и "распечатать" у меня получилось далеко не всё. Но даже тех моделей, что я сумел добыть, у меня хватило, чтобы разнообразить декор и налепить новых существ.

Новые существа - утопец и голем
Новые существа - утопец и голем
Новая статуя
Новая статуя

Монетизация

Ну, вот и последний пункт, о котором мне хотелось бы вам поведать. Решение о том, что пора получать деньги со своего проекта пришло ко мне весной этого года.

Сначала я ввёл подписку на VK Donut, с которой почти мгновенно получил тысячи 2 рублей от нескольких человек (это, ясное дело, без комиссии). В сентябре я ввёл и Boosty, с которой заработал уже суммарно более 10 тысяч (всё так же без комиссии). Изначально платных подписчиков у меня было 3-4 человека - для них были доступны разные эксклюзивные новости по тарифу от 50 рублей в месяц. Потом их количество выросло, но не очень сильно - к концу лета я заработал от силы тысяч 5. Но всё изменилось с выходом альфы.

Текущая стата по ВК Донатам. 100 рублей в месяц - это не так уж и много, чтобы уже играть в любимый мод и получать постоянные обновы
Текущая стата по ВК Донатам. 100 рублей в месяц - это не так уж и много, чтобы уже играть в любимый мод и получать постоянные обновы

Первую демо-версию проекта я выпустил в виде закрытого альфа-теста - играть в неё могут все премиум-подписчики, они отправляют отзывы, я фикшу баги и ненастроенный баланс, а остальные "бесплатники" ждут и в будущем получат отполированную демку. Предложение начало пользоваться популярностью и в VK количество платёжеспособных людей резко выросло раза в 2 (до ~10 человек), а на Boosty мне стали постоянно перечислять разовые платежи, общая сумма которых в результате стала 9900 рублей. Постоянные обновления и новости мотивируют людей не прекращать и так недорогую подписку, а следовательно, перечислять символические суммы и делать мне приятно.

Суммарно за всё время, если откидывать комиссии и прочие списания, я заработал около 15000 рублей. Может, на такие деньги не прожить и месяца, но постоянно получать небольшие переводы от своих фанатов это очень даже приятно.

Совет №10: монетизируйте своё хобби. Вы можете удивиться, насколько много людей будут заинтересованы в нём и готовы поддержать вас деньгами. Может, этих денег вам и не хватит на снятие квартиры или постоянное питание лобстерами, но в награду за труд вы сможете себя побаловать чем-нибудь приятным.

Итоги

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

Стоит ли вкатываться в сферу моддинга в 2к24? Если вы терпеливы, усидчивы и готовы уделять этому хотя бы часов 10-20 в неделю, то вполне. Можно ли создать одному\вдвоём\вчетвером\инди-студией что-то путное? Вполне, чему есть множество примеров, в том числе и я - у меня получилось довести свой проект с нуля до вполне играбельного состояния, в него играют люди и оставляют если не восторженные, то точно положительные отзывы.

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

  1. Если уж вы полезли в дебри моддинга любой игры любой степени сложности, то кровь из носа как важно делать бэкапы. Причём чем чаще, тем лучше. Не удаляйте бэки ваших файлов, если им меньше хотя бы полугода-года, чтобы иметь возможность откатиться на любую версию
  2. Обязательно хорошо попрактикуйтесь и досконально изучите всё, что можно и нельзя прежде чем делать свой основной проект. Если вы сразу начнёте и обучаться, и "деплоить в прод", то скорее всего только потеряете время. Я так потерял около года разработки
  3. Обязательно, прям жопу порвите, но начните писать документацию с самого начала разработки. Так вы сможете держать все задумки, наработки и структуру не только у себя в голове, и при нужде посмотреть, что и как вы там напридумывали, что надо поменять, что оставить. Также это очень поможет другим членам вашей команды легко ориентироваться в проекте и не спрашивать и уточнять по 100 раз про одну и ту же деталь. К сожалению, я начал вести записи слишком поздно, и сейчас записано от силы процентов 10 всего, что уже создано. К чему может привести отсутствие или недостаток документации можно судить по краху "Поисков нового мира"
  4. Рассчитайте свои силы и расставьте приоритеты. Сначала прикиньте, что вы можете сделать, потом набросайте основу и на неё наслаивайте всё второстепенное. Если вы начнёте делать кучу арен перед тем, как доделать сюжет и все основные механики, то вы рискуете так и не закончить свой проект
  5. Прислушивайтесь к чужому мнению! Нет, не стоит всем потакать и менять свою позицию как перчатки, но если вас критикуют (особенно более опытные люди), то это не повод упираться рогами и всеми правдами и неправдами отстаивать свою точку зрения. Попытайтесь обдумать сказанное и понять, почему человеку не понравилось то, что вы сделали. Если вы не понимаете причину или не находите её достаточно весомой, то следует её уточнить, возможно вопрос придётся задать более одного раза. Только после этого (если вы всё ещё не согласны с замечаниями) можно продолжать стоять на своём. Если вы будете отвергать всю или же почти всю критику в вашу сторону, то будете стагнировать или даже деградировать
  6. Перед тем, как что-то делать самому, следует изучить помимо документации примеры чужих работ. Если документация отсутствует как таковая, то чужой пример - единственный ваш выход. Разбираться самому необходимо, но уже имея за спиной багаж каких-то знаний - в противном случае с высокой долей вероятности вы потратите время впустую
  7. Упрощайте всё что можно (в разумных пределах, конечно). Игроку нет смысла тратить лишнюю минуту на бесполезную беготню, а у вас нет времени на проработку этих перегружающих геймплей элементов. В целом, такой подход применим для всего - начиная от левел-дизайна и кончая UI\UX
  8. Ещё перед первым взятием кисти левел-дизайнера 10 раз продумайте всю новую задачу целиком и в деталях. Также недурно было бы себе на любую задачу ставить хотя бы примерные сроки, чтобы она не затягивалась на полгода. Иначе с высокой долей вероятности вы получите на выходе далеко не то, что запланировали
  9. При обучении новому языку\способу программирования начинайте с заимствований. Только поняв, как на практике реализовываются те или иные задачи, можно начинать делать свои собственные, уникальные. Без этого в одиночку, да ещё и c не самой лучшей документацией, вы вряд ли сможете быстро овладеть нужным вам инструментом
  10. Монетизируйте своё хобби. Вы можете удивиться, насколько много людей будут заинтересованы в нём и готовы поддержать вас деньгами. Может, этих денег вам и не хватит на снятие квартиры или постоянное питание лобстерами, но в награду за труд вы сможете себя побаловать чем-нибудь приятным.

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

Группа моего мода в VK: https://vk.com/kbreturn

Поддержать на Boosty: https://boosty.to/kb_return

Приятного чтения комментариев тем, кто сидит на ДТФ только ради них

5858
44
33
5 комментариев

Выглядит как интересный лонг, кину в закладки

4
Ответить

И где? Я жду, не задерживайте очередь

2
Ответить

Не осилил и половины текста, но это потому что KB я никогда не играл, но за твои старания - лайк!

2
Ответить

Комментарий недоступен

1
Ответить

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

1
Ответить