Летние новости морозного Northgard: редактор карт, турниры, обновления
И снова в поток хайпа и игр AAA класса врывается северный ветер новостей. В комментариях к моей предыдущей статье народ распрашивал про другие RTS и даже про сравнение Northgard с ними. Пока интерес к игре в целом есть, а времени на полноценный анализ нет, я решил рассказать о трёх вещах которые произошли за время с момента написания предыдущей статьи (а сама эта статья была начата ещё в июне). Однако здравствуйте.
Поддержка Модов
Я помню, как спустя всего пару дней после выхода статьи, где я пишу про грядущий редактор карт, вышло обновление на Northgard, которое его и добавило. Решив не запускать цикл правок-ревью-публицаций снова, я отложил перо и переместился полностью в редактор карт. Сразу хочется добавить, что хотя из меню игры ушла приставка «Бета» в отношении редактора, но кто знает, что произойдёт спустя пару дней после выхода этой статьи. Особенно учитывая, как много времени уходит на полировку и оформление уже написанного текста.
На данный момент разработчики дали возможность модифицировать игру по трём (почти) ортогональным направлениям:
- Редактор Карт (Map Editor), как следует из названия, позволяет создавать уровни (т.н. сценарии / scenario, наиболее похоже на миссии кампании) наносить стартовые фракции и условия (здания, юниты, залежи руды, но не «основные» ресурсы). Редактор позволяет менять граф связности, блокируя переходы между двумя ячейками, но не саму геометрию ячеек. Чтобы было понятно, нельзя изменить с какие области граничат с какими, но можно поставить между двумя соседями завал или озеро, а также поднять или опустить относительно друг друга. Поэтому иногда в середине разработки можно заметить, что полностью симметричную или сбалансированную карту создать не получится, как ни крути, и приходится генерировать заново.
- Редактор Скриптов (Northgard Editor), как следует из названия, позволяет задавать и менять исполняемый скрипт для уже созданной карты. Скрипт — это англицизм, обозначающий любой исполняемый (интерпретируемый) код, написанный открытым текстом (в противовес, скажем компилируемому коду), но большинству так будет понятней, чем перегружать слово «сценарий» (чего, фильма, пьесы?). Часто задаваемый вопрос в Дискорде, поэтому уточняю: скрипт можно добавить только созданной в редакторе карт (вами или кем-то из сообщества) карте. То есть карта нужна и она пункт 1. Существующие миссии Кампании или Завоевания, а также Генератор Карт менять не дают и не известно дадут ли. Для Нортгарда в качестве скриптового языка был выбран Haxe Script (hscript), потому что сама игра написана на Haxe.
- Редактор Сущностей (CDB View). Тут название не поможет, придётся привести пример. Сущности — это все здания и юниты (а так же многое другое, что меньше подходит к этому термину) игры, они хранятся в одном файле базы данных и имеют каждый свой набор свойств. Некоторые из этих свойств можно менять при помощи визуального редактора. Таким образом создавать какие-то совершенно новые сущности не получится, но моддеры во всех играх привыкли делать шедевры путём перестановок уже имеющихся свойств в нужном порядке.
Соответственно, можно вывести общую формулу любого мода для Нортгарда: карта + (возможно)скрипт + (возможно) новая база данных сущностей, где карта является основной без которой остальные элементы даже не воспринимаются игрой. Естественно, прикреплять полную базу к каждому мельчайшему моду нет смысла, поэтому вместо этого вычисляется заплатка-разница (diff) которую игра перед запуском будет накладывать поверх стандартной базы данных.
Из более прикольных, но не настолько существенных изменений, можно отметить добавленные в основное меню игры пункты «Опубликовать мод» и «Открыть редактор (скриптов)». Судя по тому, как много появилось предметов в Steam.Workshop игры в первый же день, народ оценил, с какой легкостью можно создавать что-то новое. Одним из последних патчей было добавлено автоматическое размещение обложки, что прибавило красоты на полки Мастерской Стима и сделало возможным отличать лютый трэшак и тестовые моды, от серьёзных работ. Есть и такие.
Редактор Карт
Редактор карт представлен двумя раздельными функциями в меню игры — «Создать Карту» и «Редактировать Карту». На данный момент при создании карты жёстко задаются её параметры (размер и агрессивность окружающей среды, плюс есть настройка количества игроков, но это как раз можно изменить во время игры). Однако я вангую, что однажды это будет перераспределено между редактором карт и окном запуска Одиночной Игры. Пока же параметризировать пользовательские карты никак, кроме выбора одной из участвующих сторон, нельзя (при запуске вы увидите только Клан и Цвет, стартовую локацию узнаете методом проб и ошибок).
Поэтому перейдём к самому интересному, то есть, редактированию карты. Вам не обязательно даже начинать самому — если вы подписались в Мастерской Steam на какаую-либо карту, она также доступна для редактирования. Отличный способ начать делать — взять уже готовое и препарировать.
Редактор вскрыл множество технических нюансов, которые рядовой игрок никогда бы и не узнал. Например, как генерируются тоненькие реки между двумя областями, которые позволяют перемещаться лишь в очень узком граничном пространстве. Или, например, что все игровые ресурсы это либо (физически присутствующие на карте) здания, либо флажки-«генераторы» (spawner). Те, кто ещё не запомнил все локации из генератора карт, могут выписать себе на бумажку, какие есть заранее заготовленные области с нейтральными юнитами и бонусами на них.
Первое что видят игроки в редакторе (кроме самой пред-сгенерированной карты), это настройки фракций: тут можно добавить играбельную фракцию (Add player), добавить ей под контроль территорий (иконка с флагом, справа от иконки домика за лупой), а также переключить флаг, что эта фракция только для компьютерных болванчиков (первые трое с иконкой «будет сделано», играбельные фракции, а некий Bard — только для роботов из «Ну, Погоди!»). Имена и цвета генерируются случайно, и над этим нет контроля, что огорчает, ведь это было не так сложно сделать удобно. Вообще вопросов пока ещё много, даже несмотря на то, что поддержка модов избавилась от плашки «бета» в меню игры. Стартовая локация каждой фракции содержит главное здание, нажав на которое, можно (и в большинстве случаев — нужно) выбрать Клан. Нельзя было вынести это из редактора карт, на экран запуска мода? Да в игре всё ещё нет возможности задать команды, что называется «из коробочки». Почему бы прямо на этом интерфейсе не поставить переключатель с цифрами от 1 до 9, которые бы группировали игроков в команды? Многие тут же и заканчивают изучение, остальные морально готовятся. Потому что следом идёт самый главный и сложный режим... |
Режим редактирования карты (высот и видимости, каждая на своей вкладке), собственно позволяет подымать песок из океана и насыпать пляжи, из пляжей делать равнины, из равнин холмы, а там и до гор неделеко добраться. Между двумя областями с отличающимися не более чем на 1 уровень по умолчанию есть переход, который в этом же режиме можно завалить. На другой вкладке в этом же режиме можно снять туман войны с определённых областей на момент начала игры задав стартовую видимость. Например, открыть союзникам расположение друг друга. Зато есть в этом особом режиме (а он реально настолько особый, что после изменений редактор карт перезагружает вашу карту заново, с loading screen) несколько заковырок. Например, изменение стартового тумана войны, должно сопровождаться подтверждением изменений на предыдущей вкладке — редактирования карты высот, что многих (и меня) в своё время ставило в долгий ступор. Тут же можно переключить отображение идентификаторов территорий (Show zones Ids) — это понадобится познее в редакторе Скриптов.
А ещё в режиме редактирования высот прекрасно видно особенности генератора и геометрии областей Нортгарда — в основе его лежит (скорее всего) шестиугольная сетка, а для придания ей хаотичного вида некоторые шестиугольники разрезаются произвольными плоскостями, а большинство просто деформируется. Заметней всего на стартовых локациях и центре карты. Есть ещё и такие как на картинке справа области, с идеально ровной границей. Трудно предположить откуда игра берёт такие клеверы, но это точно не баг, а фича. |
Остальные разделы меню редактора не такие интересные, так как не предоставляют особых «инсайтов» о внутреннем устройстве игры, и если вы захотите делать карты, скорее всего разберётесь в них без отедельного упоминания.
Редактор Скриптов
Самое сердце качественных модов. И нет, мод в котором автор просто классно переносит карту своей (любимой) страны или весь Скайрим не являются качественным. Откройте Steam.Workshop любой игры с глобальной картой и территориями и вы удивитесь, тысячи их. Разгребая третью страницу выдачи возможно вам даже попадётся что-то стоящее.
Нортгард всё-таки RT4X игра (читайте в предыдущей статье), и поэтому огромное значение в сетевых (да и одиночных тоже) матчах играет генератор случайных чисел и ре-играбельность за счёт вариативности. Просто так сделать карту Финляндии на Нортгардских «псевдо» шестигольничках, значит обречь её на одноразовость. А потом «отписка» и вот-вот рейтинг падает в трубу.
Пока нам недоступны какие-то плагины к генератору случайных или сбалансированных карт в Нортгарде, ничего не изменится, сколько бы вы не запускали свою статическую карту, пока в ней нет скриптов. Со скриптами тоже нет гарантии, но хотя бы есть такая возможность.
Как вы можете заметить, для разработчика мода заготовлены три места для подключения, где он может влиться в нормальную игровую логику:
- Инициализация — функция init()
- Шаг игры — функция regularUpdate()
- Состояние — свойство state.scriptProps
Инициализация подходит для первого запуска мода (onFirstLaunch — обёртка также входящая в стартовый комплект), когда нужно установить стартовые условия, условия победы и установить счётчики которые будут использоваться для отслеживания всего этого. Шаг игры вызывается в игровом цикле и даёт разработчику возможность среагировать на изменения в игре. Однако игра идёт дальше, поэтому не задерживатесь и не мешайте. Кстати, сам игровой цикл вне контроля разрабочика мода, поэтому игра не сильно заботится о том, закончили вы или нет со своими расчётами — каждые пол секунды новый шаг будет вызван, и если вы обрабатываете ещё предыдущий шаг — ваши проблемы. Состояние — это ядро сценария. Если состояние не меняется — значит в моде ничего не происходит. Да, на карте могут строиться здания, расти кланы и подниматься с колен экономика, но если это не находит отображения в состоянии, то спрашивается, зачем вам вообще нужен скрипт?
Изменяя состояние вы приближаете победу и/или поражение отдельных игроков. Чтобы не забыть об этом прогрессе в пределах игровой сессии — функция saveState добавляет состояние вашего мода, в общее состояние игры. А чтобы не забыть об этом в процессе Save-Load, есть onEachLaunch.
API
Скрипт сам по себе был бы бесполезен, если бы у него не было налаженного канала общения с ядром игры. Таким формальным каналом является Интерфейс Разработчика (в народе API). Для Нортгарда разработчики игры постарались открыть и задокументировать как можно больше функционала (и сообществу этого всё равно недостаточно). Спасибо системе документирования, которую они используют, прямо в исходном коде игры все необходимые функции комментируются прямо перед определеним (как Doxygen, JavaDoc, pyDoc и прочих).
Представленная документация конечно же неидеальна, полна опечаток и взаимоисключающих параграфов, но уже даже в таком зачаточном виде даёт достаточный инструментарий для того, чтобы придумывать интересные сценарии. Конечно, TowerDefense, RPG мод, кучи 1v1, Imbalance, Skill-test, micro trainer, типичный набор любой модифицируемой RTS уже вышел за два месяца. Ждать полную библиотеку Warcraft 3 модов, конечно не приходится, Нортгард изначально не предполагал такой степени модернизации, да и игра вышла уже достаточно давно и не стала хитом продаж, поэтому оставить работать над ней всю команду для инди-разработчиков неподъёмная задача. Они уже давно переключились на новый проект, и надо сказать спасибо хотя бы за то, что выпускают патчи баланса и (иногда) новые кланы в DLC.
Редактор Сущностей
Редактор разочарования, так бы я его назвал. Сама идея и даже техническая реализация выше всяких похвал. Мы получили доступ к тому инструменту, что скорее всего пользуют сами разработчики. Я просто оставлю этот скриншот здесь, посмотрите на потенциал.
Для модификации доступна лишь малая часть параметров. Остальная показана для того, чтобы мы сидели и облизывались, не иначе. Кроме того, сам редактор (базы данных) сущностей это только первый шаг. Нужны также средства (де-)компрессии пакетов графики и звуков, возможность добавлять новые объекты в саму базу, а не только менять старые и полная разблокировка всего, что сейчас Read-Only.
Ну и самое главное — Кланы. Это основа Нортгарда и в первую очередь сообщество бросилось экспериментировать именно с ними (у игры уже давно в Steam.Guides больше половины — это воображаемые кланы от сообщества). Но у игры модель поддержки исключительно через продажу новых кланов, поэтому создавать новые или даже смешивать DLC кланы с бесплатными в модах не дают, иначе тут же бы появились бесплатные карты с платным контентом. Редкий случай, когда хочется сказать, «лучше бы лутбоксы продавали».
Из хороших новостей, в Дискорде разработчики в прямом контакте с сообществом и постоянно на связи. Какие-то мысли до них можно донести, но опять же, в виду скудных ресурсов студии, вряд ли мы получим полноценный «Редактор Кланов» хотя бы того же уровня, что редактор карт.
Многопользовательские Моды
Ну и совсем коротко о новшестве, появившемся между моментом начала написания этой статьи и окончанием. А вы что, думали в сетевой стратегии поддержку модов добавили сразу с мультиплеером? Нет, не сразу, зато теперь моды можно запускать и по сети. Это то, чего все так давно ждали. Работает правда не очень стабильно. Да и в первую неделю после добавления половина модов перестала работать. Ждём больших изменений именно в этом направлении.
Реклама
А раз речь идёт про многопользовательские моды, то нельзя не прорекламировать себя, то есть мод Ravegard. Я большой фанат клана Ворона в Нортгарде, но всегда чувствовал, что в соревновательном режиме ему делать особо нечего (исключая, конечно, раш торговой победы, что супер скучно и уныло). Поэтому как только выпустили редактор карт, первым делом попытался добавить в него своих любимых ворон! Если бы все возможности редактора и API работали так, как планировалось, а в игре было бы чуть меньше багов, это был бы мод про колонизацию отдельных островов и войне за Архипелаг (в противовес основному режиму Нортгард — когда вы начинаете на берегу и развиваетесь внутрь острова), но реальность осаживает, поэтому это теперь «контроль территории с тремя контрольными точками». Нестареющая классика, как Team Fortress 2, например. |
Хотелось ещё сказать и про спонтанно появившуюся рубрику от разработчиков Mod of the Week, и про другие интересные моды, но это уже материал для другой статьи.
Турнир 2 на 2
Когда статья только была создана в песочнице, во всю шёл турнир по Нортгарду с солидным призовым фондом (ну, по меркам Нортгарда, естественно) — первое место 300$ и 100$ за второе. Турнир, а точнее «лига», проводился по достаточно интересной для любительских мероприятий схеме — сначала 8 недель чемпионата, где 40 команд играют друг с другом по 3 матча в неделю (3 матча с одним и тем же противником), а потом на финальных выходных сам турнир с двойным выбыванием в который попадают первые 16 мест итоговой таблицы.
Формат доставляет, хотя бы тем, что в отличие от рейтинговых игр в самом Нортгарде, здесь на каждый матч нужно делать «торги» за кланы (Picks&Bans). Всего в игре 11 кланов, 6 обычных и 5 из платных DLC, каждый матч начинается с двух банов (по одному от каждой команды), потом следует по одному выбору, потом снова бан, потом снова добор. В команде не может быть играть два одинаковых клана и нельзя банить уже кем-то выбранный клан. Поэтому на самом деле, набор комбинаций на турнире был не так и велик как кажется, учитывая наличие «меты» и «дисбаланса». Обычно команды послабее, как например наша, банят самые метовые кланы, а команды посильнее банят имбалансые кланы.
Можно смело сказать, что уровень участников примерно представлял срез всего сообщества игры, что достаточно удивительно. Я имею в виду, что на турнир-о-лигу не стеснялись записываться как совсем неопытные новички, так и топ рейтинга (если не ошибаюсь из первой десятки играло 4 игроков). Это было заметно особенно сильно в первые недели, когда команды сталкивали случайным образом. Большинство серий (из трёх полных игр, не до двух побед — best of three) заканчивалось 3:0 причём в одну калитку. Позднее когда комнады уже показали себя, турнирная программа должна была сталкивать соседей по таблице, и тогда уже пошли довольно интересные столкновения.
По итогу самой скучной частью стал плэй-офф турнира, а самой скучной его стал финал. Играли две лучшие команды турнира и уж точно топ10 игроки мира, но в серии (до трёх побед, best of 5) отыграли абсолютно все карты одинаково. Одинаково скучно и невариативно. Таковы реалии игр с метой и оптимизацией военной экономики. Все, кто хотели показать анти-метовую стратегию отлетели до финала, а оставшиеся не смогли или не захотели предоставить что-то другое, и не стали банить друг другу кланы, потому что сами играли такие же стратегии.
Могу смело сказать, что именно игры лиги доставляли и давали пищи для размышления больше всего, и «вот это поворотами», и «comeback-ами», и вариантами стратегий и кланов. А игры на выбывание и финал пресно пережовывали давно известное, не добавляя ничего нового.
Не известно когда появится следующий доброволец и организует турнир для сообщества, но известно точно, что он будет. Плюс, возможно, сами разработчики пойдут на встречу в этом плане и предоставят площадку, инструментарий или хотя бы информационную поддержку через официальный Дискорд на постоянной основе.
Летний Патч и Опыт Тестирования
Как раз аккурат к концу турнира я попал в команду бета-тестеров Нортгарда через Дискорд. Нам выдали ключи к бете в Стиме, предварительный список изменений и отдельный канал на сервере игры. Что с этим делать, думаю всем понятно: список прочитать и переварить, бету поиграть и оценить, а в канал писать свои чрезвычайно важные мысли и остроты.
Возможность проводить открытые голосования по предложением, позволила выявить достаточно сильное лобби со стороны группы игроков определённого склада ума (см. предыдущий раздел), которые чувствовали себя прекрасно заучив определённую последовательность и не желающие её хоть сколько-нибудь менять. Хочется поблагодарить разработчиков, что существенно расширив базу бета-тестеров (судя по численности пользователей в закрытом канале, примерно в два раза), они попытались ослабить давление кучки консерваторов, удобно сидящих на своих золотых тронах.
Обсуждения изменений и рацпредложения от тестеров странным образом нашли свой отклик в финальной версии. С одной стороны, всё существенное было зафиксировано ещё до того, как мы получили доступ, нам предлогалось лишь проверить как это сочетается друг с другом и отполировать баги, с другой, многие кардинальные правки удалось таки протолкнуть. Надеюсь в будущих тест-сессиях (а уже есть сообщения о начале новой итерации, когда все из отпусков вернутся, конечно) сначала проведут опрос о необходимости тех или иных изменений, а потом попросят протестировать результат.
Итого
Нужно подвести итог, но статья как монстр Франкенштейна собрана из разных фактов и мыслей. Поэтому и вывод придётся клеить из частей. Нортгард сейчас — живее всех живых, и гораздо интересней чем он был даже на момент выхода. Мне как разработчику, наконец-то стало интересно проводить время, зная, что в любой момент можно зайти в редактор и посмотреть как работает то или иное здание в игре. Также возросла активность сообщества, пяти минут не проходит, чтобы кто-нибудь не добавил свой мега важный мод, в котором территории составлены кругом. Или квадратом. Или раз в пол года из леса набигают эльфы и грабят корованы, ну вы знаете.
Также, хотелось отметить очень коротко новости, не попавшие в основную статью.
На кикстартере успешно запустилась и была собрана сумма на настольную игру по Нортгарду, в которой собственно элементов компьютерной игры немного осталось, и судя по успеху, расширенный набор (за 70$) имеет столько ништяков, что любители коллекционировать качественные игры и не обязательно в них играть, останутся довольны.
А разработчики объявили о новом покемоне, то есть клане, но без подробностей. Будет, и то хорошо.
P.S: Посмотреть случайные стримы по игре можно на моём канале или просто по тэгу Нортгард на твитче, там всегда кто-то да вещает. Все комментарии и предложения будут рассмотрены, баги и опечатки пофикшены. Более специфические статьи в продолжение темы Нортгарда будут, если будут желающие. Могу рассказать больше про жанр RTS в целом, про разработку игр в нём, или рассказать про других его интересных представителей.
2 комментария
Добавить комментарий
Плюс сейчас она переживает второе дыхание
Добавить комментарий