Все дороги ведут в Anno

Данная публикация объединяет две записи в дневнике разработчика Anno 117: Pax Romana (от 27.02.2025 и 28.03.2025), посвящённые функционированию дорог и особенностям сетки строительства в продолжении знаменитой серии градостроительных стратегий.

Все дороги ведут в Anno

ㅤㅤУбегает дорога вперёд и вперёд,
ㅤㅤУходя от родного порога;
ㅤㅤИ уйду я по ней далеко на восход,
ㅤㅤА оттуда — подальше немного.

ㅤㅤРазбегаются тропы в широкий простор,
ㅤㅤТо совсем расходясь, то сливаясь…
ㅤㅤИ куда я дойду — не о том разговор,
ㅤㅤА о том, почему отправляюсь…

Стихотворение The Road goes ever on and on из Властелина колец.
Перевод Валерия Маторина.

Все дороги ведут в Anno

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

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

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

Дороги, как и все остальные сооружения в игре, привязаны к сетке строительства, но в Anno 117: Pax Romana возможности игрока в этой связи будут значительно расширены.

В первой части данного двусоставного дневника разработчика будет рассказано о том, что именно изменилось в контексте строительства и каким образом данные изменения повлияют на пользовательский опыт игрока, а во второй части — подробности о всевозможных «Как?» и «Почему?», технических деталях и вызовах, с которыми столкнулись разработчики в процессе внедрения изменений.

Все дороги ведут в Anno

Дороги в Anno 117: Pax Romana

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

Но теперь время пришло!

Для Anno 117: Pax Romana сетка строительства была переработана с расчётом на добавление возможности поворота дорог и зданий под углом в 45°. Благодаря этому и улицы, и всё, что с ними связано, выглядят гораздо органичнее, что, безусловно, может изменить не только внешний вид, но и восприятие процесса строительства городов и создания производственных цепочек.

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

В остальном ветераны Anno 1800 могут ожидать привычного поведения: дороги подстраиваются под высоту местности, создают мосты, когда вы прокладываете их над рекой, и переходят на пирсы, когда строятся на побережье. Разумеется, также будут доступны разнообразные типы дорог, лучшие версии которых стоят дороже, но и предоставляют некоторые дополнительные преимущества.

Заглянем под капот

Это был ОЧЕНЬ краткий обзор, но как сейчас обстоят дела с дорогами с точки зрения дизайна? Давайте разберёмся в технических деталях, и помощью в этом нам окажут:

  • Николас — Game Design
  • Кристиан и Йоханнес — Gameplay Programming
  • Тим — 3D Programming
  • Дэвид — Art

Сетка в Anno 117: Pax Romana состоит из отдельных плиток, которые — в отличие от предыдущих игры серии — далее делятся ещё на 4 подплитки. Это стало необходимым изменением, позволяющим внедрить диагональное строительство, т.к. теперь мы можем сделать так, чтобы любые объекты правильно вписывались в сетку по диагонали.

Все дороги ведут в Anno

Для примера ниже приведено прямое сравнение при строительстве дороги из пункта А в пункт Б:

Все дороги ведут в Anno

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

Все дороги ведут в Anno

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

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

Все дороги ведут в Anno

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

Помните про существование подплиток у каждой основной плитки? На их основе мы решили, что арт-отдел создаст меньшее подмножество фрагментов, которые затем будут назначены в правильное положение (в зависимости от контекста), чтобы в итоге и сформировать дороги на основе разработанного командой 3D-программистов кода.

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

Все дороги ведут в Anno

Плавное строительство

Для нас было важно, чтобы игроки могли на лету переключаться между «старым добрым» строительством, в основе которого лежат 4 направления, верой и правдой служившие серии Anno последние 25 лет, и всеми 8 направлениями, которые мы предлагаем сейчас: игрок сможет свободно включать и выключать данную опцию.

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

Соответственно, все здания также автоматически выравниваются по размещенным рядом с ними дорогам, независимо от того, построены они под углом 45° или 90°. Разумеется, игрок сможет и вручную разворачивать их по своему усмотрению.

В связи с этим мы уверены, что вы оцените ещё одну QoL (quality-of-life) особенность, которая появилась в Anno 117: Pax Romana из консольной версии Anno 1800. Наведя курсор в режиме строительства на любое здание, вы можете одним щелчком мыши построить дорогу, которая будет окружать всё здание. Таким образом, вы можете быстро построить квартал жилых домов, окружённый дорогой, или склад, как в примере ниже.

И, наконец, важный вопрос: Как команда предпочитает строить свои города в Anno 117: Pax Romana? И какой подход они рекомендуют игрокам по умолчанию — использовать все 8 направлений или только «традиционные» 4?

Лично мне нравится иметь разные кварталы (разные кластеры жилых домов, производства), и каждый из них может иметь разную ориентацию. Мне также нравится ориентировать элементы по форме гор, побережья и рек. Это создает очень плотные и оптимальные кластеры, которые при этом смотрятся очень органично. Один из моих любимых аспектов — фермерские поля разной формы. Прощайте, угловатые фермерские поля!

Николас

Обычно я играю так, чтобы как можно эффективнее достичь следующей цели, которую ставит передо мной игры, — и у меня это лучше всего получается, если полностью придерживаться угла в 90°. Однако в многопользовательской игре всё совсем по-другому. Тогда моё внимание переключается с эффективного строительства на создание более интересных районов. Это занимает больше времени и места, но и приносит удовлетворение: теперь я могу порадовать или удивить своего партнера по мультиплееру более органичным видом.

Йоханнес

В завершение

Как видите, хотя Anno 117: Pax Romana и остаётся верна сетке (которая стала центральным элементом в серии и радует всех, кто любит строить как можно эффективнее), мы добавили больше гибкости к тому, к чему вы уже привыкли. Это принесло свои сложности при проектировании и разработке, но также и новые возможности для изменения визуального стиля ваших городов и островов, больше свободы для строительства островов так, как вы сами этого захотите. Несмотря на дополнительные сложности, связанные с диагональным вариантом, строительство дорог в этой расширенной сетке кажется таким же интуитивно понятным, как и раньше.

* в оригинале использована фраза «one does not simply rework the Anno grid system».

Ну, вы поняли. А теперь можете <a href="#back01">вернуться </a>к тексту
Ну, вы поняли. А теперь можете вернуться к тексту

Стоящие перед нами вызовы

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

Самый радикальный вариант — полное удаление сетки. Однако явным недостатком подобного решения была бы практически полная невозможность дальнейшей игры в тетрис под названием Anno. Это была бы довольно странная, не приносящая должного уровня удовлетворения и уже не совсем похожая на серию Anno игра.

К слову, вот тетрис без сетки.

Все дороги ведут в Anno

Давайте рассмотрим ещё несколько тем, над которыми нам пришлось поработать в связи с обновлением традиционной сетки Anno.

Если вы строите дорогу из точки А в точку Б, игра должна предложить путь, по которому она пойдёт, но диагональные дороги подразумевают гораздо больше потенциальных путей.

В Anno 1800 для дороги в открытом поле есть только два варианта: она может быть либо сначала вертикальной, а затем горизонтальной, либо сначала горизонтальной, а затем вертикальной. В Anno 117 также есть возможность идти сперва по диагонали или заканчивать путь диагональю. Больше вариантов — это здорово, но при строительстве улиц порой бывает сложно понять, что именно следует использовать.

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

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

И, конечно, если между точками А и Б есть здания, то улица будет автоматически их обходить.

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

Все дороги ведут в Anno

Более масштабное воздействие

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

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

Во-первых — и это урок из времен Anno 1800, — строить красиво всегда означает «тратить» драгоценные части сетки, которые можно было бы использовать для большего количества жилых домов или производственных зданий. Полное использование новой гибкой системы с диагональными дорогами и зданиями — это особенность, ориентированная на игроков, которые предпочитают более органичный вид своих городов.

Кроме того, мы фактически меняем «логический масштаб» объектов при вращении. Почему и как? Что ж, давайте объясним.

Так как отдельные плитки из старой сетки в 90° теперь дополнительно разделены ещё на 4 подплитки каждая, мы должны сделать так, чтобы здания соответствовали этой более детальной структуре сетки при повороте на 45°. Это может приводить к небольшому увеличению или уменьшению их размера в зависимости от того, какое значение в сетке ближе. Но изменяется в размерах не само здание — становится больше пространство, которое оно занимает или блокирует. Его опорная плоскость (т.е. земля, на которой стоит здание или украшение) автоматически подстраивается, чтобы избегать образования странно выглядящих зазоров или наложений.

Давайте немного упростим задачу, наглядно представив, что происходит при вращении в нашей сетке:

Все дороги ведут в Anno

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

Даже если заблокированная область увеличивается, само здание остается прежнего размера. Ниже вы можете увидеть, как может выглядеть потенциальное влияние поворота и масштабирования. Это просто примеры для визуализации, здесь нет домов 1×1 😉

Все дороги ведут в Anno

Размер сетки всегда остается неизменным, даже если нам приходится блокировать больше пространства, чтобы объект в неё вписался.

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

Кроме того, мы решили немного — но только визуально — увеличить ширину улиц. Оба эти решения позволяют избежать того, что мы внутри компании стали называть «зеленым пробелом».

Все дороги ведут в Anno

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

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

В Anno 1800 хотя бы одна плитка дороги должна была соединяться со зданием одним из своих краев. Простое нахождение поблизости и прохождение мимо здания не считалось.

Все дороги ведут в Anno

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

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

Все дороги ведут в Anno

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

Как видите, только углы в 45° считаются подходящими для соединения с дорогой. Соединение под углом в 90°, как в примере слева, по-прежнему невозможно.

Ну что ж, на этом мы завершаем нашу двухсерийную запись в дневнике разработчика о сетке в Anno 117: Pax Romana!

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

32
1
19 комментариев