Flow

Материал из Dwarf Fortress Wiki
Версия от 00:14, 5 марта 2020; GeloMor (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

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

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

  • Заметка: В данной версии потоки в магме не возникают, хотя она и передвигается по тем же правилам, что и вода.

Основное движение жидкости

Вода и магма двигаются похожим образом. Единственное отличие — более плотная магма не передаёт давление водного столба.

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

Простой пример распространения жидкости:

                       Было (вид в разрезе)
                       ▒7▒       ▒7▒       ▒
                       ▒ ▒       ▒2▒       ▒7
                       ▒▒▒       ▒▒▒       ▒▒▒▒▒
                       Стало (вид в разрезе)  
                       ▒ ▒       ▒2▒       ▒
                       ▒7▒       ▒7▒       ▒43
                       ▒▒▒       ▒▒▒       ▒▒▒▒▒
  • 1. Жидкости стремятся вниз.
  • 2. Жидкости растекаются, если есть возможность

Как только вода пришла в равновесие поток исчезает. Плюс правила передачи давления для воды.

Вода под давлением, или «телепортация»

Вода, падая на тайл полностью затопленный водой, создаёт повышенное давление, а магма — нет. Работающие помпы создают повышенное давление и у воды, и у магмы.

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


               ▒7▒ ▒      ▒~▒ ▒       
      До       ▒7▒ ▒      ▒~▒ ▒
               ▒777▒      ▒~~~▒                
               ▒▒▒▒▒      ▒▒▒▒▒       
               ▒ ▒ ▒      ▒ ▒ ▒
  После        ▒7▒7▒      ▒~▒≈▒       ≈   течение
               ▒777▒      ▒~~~▒       ~   стоячая вода
               ▒▒▒▒▒      ▒▒▒▒▒

Простой пример «телепортации» воды, как видно вода внизу не двигалась, меж тем её стало больше в правой шахте. Что это, как не телепортация?) Внутри заполненной трубы вода движется быстрее, делая за 1 шаг телепортацию 1/7 уровня воды на другую сторону сколь угодно длинной трубы, тогда как текущий в трубе поток тратит время на заполнение каждого тайла. Давление передаётся только по граням тайла, но не по диагонали, хотя вода просачивается по диагоналям.

Что ещё важнее, вода под давлением может подняться в другом месте до уровня самого верхнего тайла, заполненного на 7/7. Это может выглядеть как маленький фонтанчик, но в действительности вода просто появляется в тайле и не успевает растекаться.

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

Естественные потоки

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

Попытки перетащить натуральный поток на другой z-уровень дают непредсказуемый результат.

Глубина потока

Текущая вода может иметь любую глубину от 1/7 до 7/7. Увидеть уровень наполнения тайла можно в режиме изучения k. Вы также можете переключить отображение потоков ( и ~) на числовое отображение глубины. Опция SHOW_FLOW_AMOUNTS. Однако в этом случае у вас исчезнет возможность понять где вода течёт.

Препятствия

Движение воды останавливается стенами (как построенными так естественными) и рядом построек: шлюзами, дверями и напольными люками. И есть ряд сооружений, которые не пропускают существ, но пропускают воду: решётки (grate), прутья (bars) и фортификации (fortification, кроме случая полного затопления, когда существа тоже могут пролезть).

Испарение

Жидкости толщиной в 1/7 со временем испаряются. Горячий или жаркий климат ускоряют процесс и даже иссушает пруды на поверхности.