Traffic

Материал из Dwarf Fortress Wiki
Перейти к навигацииПерейти к поиску

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

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

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

Разметка зон перемещения

Сочетание клавиш d-o открывает меню traffic areas - зон, управляющих приоритетами в выборе пути. Приоритет зоны может быть: high, normal, low или restricted. Результат достигается за счет поощрения движения через клетки с высоким приоритетом и штрафы за клетки с низким. Так, цена прохода через клетку с высоким приоритетом - 1, нормальным (по умолчанию) - 2, низким - 5, закрытой - 25. Вы можете изменить эти значения в файле init.txt для всей игры, или для текущей крепости, используя d-o.

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

  1. В биомах, где вода замерзает зимой, разметка водоемов как Restricted area - довольно хорошая идея. Так ваши дварфы не утонут, когда вода растает.
  2. Некоторые дварфы расстраиваются, когда видят убитых животных, проходя через скотобойню. Возможно вы захотите пометить ее как Restricted.
  3. Установка на несобранной паутине приоритета restricted - хороший способ оградить дварфов от ее разрушения.
  4. Если зона затоплена или опасна по другим причинам, разметка ее как запрещенной может спасти немало жизней.
  5. Дорогам стоит установить высокий приоритет, чтобы избежать вытаптывания растительности.
  6. Важно установить запрет на движение в зоне поражения баллисты, чтобы избежать несчастных случаев. Не забывайте, что это не поможет питомцам, т.к. они игнорируют зоны перемещения.

Примеры

Данная статья помечена как не оконченная.
Вы можете прочитать эту статью на английском или помочь проекту её переводом.

Ограничения

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

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

Использование зон перемещения для увеличения FPS

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


Смотри также: