Статья про тонкости игрового процесса в игре Factorio.
В этой статье подробно описана схема балансира левого и правого потоков на ленте конвейера.
-----------------------------------------
Важное замечание! Эта статья была написана для первой версии игры Factorio. Некоторые механики игры, предметы или их свойства могут не совпадать с текущей версией игры.
-----------------------------------------
Небольшое отступление:
Этот балансир я придумал давно. Вымученный и выстраданный он «родился» в моих опытах по выравниванию потоков после многих перестроек фабрики. Вечно не хватало ресурса с одной стороны конвейера. В то же время половина фабрики простаивала и не могла выдать мне этот ресурс потому, что лента была неравномерна заполнена.
Изобрёл я его, опробовал, обрадовался. Начал использовать везде. Никому не показывал, не рассказывал. А через полгода или год вижу, как некий игрок показывает МОЙ балансир в одной соц. сети другим игрокам и моими мыслями излагает полезность этой штуки. Шок, который я испытал: как он заполучил мою идею, мой балансир, или кто ему это передал? Думаю, понятно, что этот игрок, как и я, изобрёл точно тот самый балансир, когда ему также стало необходимо. И доказывал он полезность баланса на конвейере умными словами, но многие посмеивались и считали его непонятную штуку ненужной. Ведь есть лёгкие способы подать ресурс на пустую сторону конвейера! Только никто не понял, что он говорил им совсем не об этом. Как и я говорю вам, что это не для этого. Ну и коль я это придумал, я об этом расскажу вам подробно. Но, думаю, таких как я, и тот игрок, много. И все изобрели одно и то же, хоть и в разное время, независимо друг от друга. Изобрели не просто так. Потому, что это нужная штука.
Сначала покажу сам балансир.
Он занимает не много места, вполне вписывается в какие-то схемы, также идеально подходит чтобы отбирать часть руды или другого ресурса с общей шины.
Для простоты, далее буду везде подразумевать, что на конвейере руда (за исключением случаев, описанных в примерах ниже).
Нужен балансир чтобы на ленте, по которой идёт руда не было перекосов. Например, один поток на ленте может буквально «лететь» со скоростью конвейера, в то время как второй поток может быть почти пуст как на рисунке:
Балансир помогает «выровнять» потоки на ленте конвейера. Простым языком, он берёт на входе руду и равномерно раскладывает её на оба потока ленты.
Выглядит он так:
Как видно из рисунка, руда должна войти в балансир с конвейера 1. При желании можно подать руду с двух конвейеров: сразу с конвейера 1 и с конвейера 2. Но работа балансира не ускорится в два раза. Поток руды проходит через балансир со скоростью одного конвейера. Поэтому нет смысла вводить в него руду больше, чем он сможет обработать.
Выход из балансира идёт через конвейер 1. Второй конвейер заблокирован. Можно разблокировать второй конвейер, но тогда руда распределится пополам на два конвейера, и каждая лента будет идти наполовину полной. Если ваша схема допускает слабые потоки руды, то ваше дело – дерзайте!
Дальше поговорим, почему скорость балансира = скорость одного конвейера. По любому, ведь остались те, кто прочитал весь этот текст и не понял ничего.
Почему балансир работает со скоростью всего лишь одного конвейера?
Если сильно утрировать и нарисовать очень упрощённую схему, то вот почему скорость балансира равна скорости конвейера:
На рисунке видно, что разделитель выдаёт железные пластины на два расходящихся конвейера. Белые стрелки показывают место, где встречные конвейеры «ломают» изгиб расходящихся конвейеров и заставляют железные пластины ложиться на одно плечо ленты: те, что уходят по левому конвейеру – ложатся на левую сторону, те, что уходят по правому конвейеру – ложатся на правую сторону. Таким образом два изначальных потока, левый и правый, разделились и разошлись в разных направлениях. И тот, что слева, и тот, что справа являются половинкой одного целого потока. Собственно, эти половинчатые потоки после некоторых манипуляций снова соединяются в один поток и выходят из балансира на ленту конвейера.
- Изначально имели один поток слева + один поток справа = два потока на одной ленте.
- Внутри балансира произошли некоторые манипуляции с потоками.
- На выходе так же имеем один поток слева + один поток справа = два потока на одной ленте.
Таким образом, скорость железных пластин какая была до балансира – такая же осталась после него.
Допустим, мы подключим второй конвейер в разделитель, и в балансир войдут 4 потока (2 потока: левый и правый с левого конвейера + 2 потока: левый и правый с правого конвейера). На рисунке дополнительные потоки и стрелки схематично нарисованы пунктирными. Но при разделении на левое плечо и правое плечо (смотри белые стрелки на рисунке 3) мы всё равно получим 1 поток левый + 1 поток правый = 2 потока! То есть внутри балансира скорость всё равно останется 2 потока, а не 4. Поэтому использовать один балансир для выравнивания потоков из двух лент бессмысленно. Разве что, у нас из очень медленного производства выходят две ленты, каждая из которых заполнена примерно наполовину, и в сумме они дадут максимально заполненный конвейер. Тогда действительно не стоит объединять их до балансира в одну ленту, а можно сразу ввести в балансир обе.
Теперь допустим, что мы разблокировали вторую сторону выходного разделителя (на выходе из балансира) и присоединили вторую ленту конвейера. Так как мы уже знаем из примера выше, что внутри балансира скорость равна 2 потокам, и никак не сможет быть больше, то и на выходе мы имеем два потока, которые параллельно идут по одной ленте конвейера.
- Если в балансир вошла лента полная железных плит как на рисунке 3, то и выйдет полная лента.
А вот если мы разблокируем вторую сторону и присоединим ещё один конвейер, то по законам математики у нас 2 потока - 1 поток = 1 поток, на левый конвейер пойдёт один поток, то есть половина конвейера, а на второй конвейер пойдёт второй поток, то есть вторая половина конвейера. Простыми словами, мы разделим железные пластины пополам, в итоге получив два конвейера заполненных наполовину.
Как это работает. Практический пример.
Построим небольшой завод с симметричным производством, который будет из железной руды производить железные пластины. Из завода выведем ленту конвейера, с которой будем отбирать железные пластины неравномерно.
Подадим в завод железную руду, убедимся, что завод выпускает железные пластины и выдаёт их на конвейер симметрично. Дождёмся, когда лента заполнится и ещё раз убедимся, что оба «плеча» нашего завода работают синхронно, выдавая железные пластины сбалансированно. Приготовим «нагрузку» возле ленты конвейера в виде пакетных манипуляторов.
А теперь создадим виртуальную ситуацию: якобы у нас с одной стороны ленты другим производством отбирается буквально всё, а другая сторона ленты почти не используется. Для этого заблокируем одну сторону ленты подземным конвейером, а с другой стороны ленты будем весь поток железных пластин собирать манипуляторами в стальные ящики.
И вот мы видим довольно банальную ситуацию: часть железных плит простаивает и не забирается с ленты, зато одна сторона ленты практически пустая. При этом производство разбалансировано – завод работает только одним «плечом», половина мощности завода простаивает. С такой разбалансировкой на конвейере и в производствах сталкиваются буквально все игроки. Кто-то не придаёт этому значения, кто-то ставит больше заводов, выводит больше лент и объединяет их потоки. Кто-то старается как-то сбалансировать потоки на конвейере чтобы задействовать всю мощность производства и, как настоящий инженер, малыми силами добиться больших результатов, сэкономив на ненужных лишних заводах.
В нашем случае есть очень простой способ выправить ситуацию: поставить разделитель сразу после завода и соединить оба его выхода на одну ленту. К этому способу мы ещё вернёмся в конце статьи, когда проведём анализ и сравнение.
Давайте теперь установим на конвейерную ленту мой балансир потоков:
Как видно из рисунка 7 после балансира всё также присутствует наша искусственная разбалансировка. Но теперь разбалансировки нет до балансира. Производство стало работать синхронно на полную мощность. КПД повысился, так как теперь половина заводов не простаивает, а выдаёт готовую продукцию. По обеим сторонам ленты идут железные пластины, которые в балансире выравниваются в потоках. На одной стороне ленты до балансира не происходит накопление железных пластин, которые стопорят производство.
Выводы для тех, кто понял не всё, но очень хочет, чтобы всё работало правильно.
Сам балансир очень прост. С одной стороны в него входит руда, с другой стороны эта руда выходит. Совсем не сложно.
Если вдруг после балансира на ленте с одной стороны руда резко закончилась, а на другой стороне руда бежит на полной скорости, то до балансира обе стороны бегут одинаково и перекосов не происходит. Заслуга балансира в том, что лента до него всегда сбалансирована:
Ну, и приятная мелочь – на выходе балансир выдаёт симметричные сбалансированные потоки, даже, если в него входит только один поток на ленте конвейера. То есть левая и правая стороны ленты выходят одинаково загруженные (к сожалению, это заметно не всегда, так как чаще лента конвейера после балансира работает неравномерно, и одна сторона быстро уходит):
Выяснили:
- Если после балансира начнётся перекос и руда будет уходить неравномерно, то до балансира всё равно руда будет двигаться одинаковыми потоками по ленте.
- Если случайно в балансир пойдёт только один поток руды с одной стороны ленты, или на обеих сторонах ленты, но неравномерно, то из балансира руда выйдет всё равно сбалансированно на обе стороны ленты.
Кажется, на этом всё.
Продолжение темы балансира. Балансир для общей шины из нескольких лент.
Оказывается, ещё не всё. Балансир-то работает только на одной ленте конвейера. А если у нас шина из двух лент? А если из четырёх? А из восьми?
В общем, я подумал, подумал, и не остановился на балансире только для одной ленты. Поэтому рассмотрим более обширные варианты применения этой полезной штуки.
Чтобы не ломать построение шины было решено сделать смежные балансиры для выравнивания потоков параллельно друг другу в двух вариантах: широкий и узкий на выбор.
Вот балансиры для 2 полос:
Вот балансиры для шины из 4 полос:
Почти все представленные балансиры (кроме широкого на 2 полосы) могут использоваться только с синими (скоростными) подземными конвейерами! Недостаточная длина красных и жёлтых подземных конвейеров не позволяет использовать их в этих схемах.
Естественно, если главная шина состоит из 8 полос, то логично использовать два параллельных узких балансира на 4 полосы. Ну, и так далее. Хотя по мне, широкие шины должны состоять из многих четырёхполосных шин с промежутком между ними в 2 клетки. Иначе это уже свалка, из которой ни отобрать руду, ни добавить руду.
Теперь немного анализа, выводов и ответов на возникшие вопросы.
Если использовать балансир то, где его лучше всего ставить: сразу после завода?
Ответ очевиден: НЕТ, ставить надо перед тем производством, в которое заходит руда. Почему не после завода? Потому, что после балансира вся лента (или вся лента внутри главной шины, или несколько лент в главной шине) будет идти разбалансированная, и другим производствам с неё отбирать руду будет проблематично. При этом, конечно же на самом заводе, с которого выходит лента (или на вокзале, с которого идёт руда) до балансира разбалансировки не будет.
А вот если поставить балансир непосредственно перед нужным производством, то от самого завода (или от вокзала с рудой) через всю главную шину будет идти сбалансированный поток на конвейере. Тогда разбалансировка начнётся уже после балансира, непосредственно на производстве, которое создаёт эту разбалансировку.
Чтобы избежать разбалансировки на главной шине, все балансиры нужно ставить непосредственно перед производствами, потребляющими руду или другой ресурс:
А простейшие балансиры местного значения? Разве они не выравнивают потоки на ленте?
И да, и нет.
Это простейший вариант балансира известный каждому игроку. Он ставится с нужного края ленты и заполняет опустевшую сторону идущим по конвейеру ресурсом:
Преимущество его в простоте и маленьком размере. Очевидных недостатков два. Этот балансир не выравнивает потоки в прямом смысле, а лишь заполняет пустую сторону за счёт второй стороны. При этом из одного потока (по одной стороне ленты) он создаёт два потока (на обе стороны ленты), разделяя поток пополам. Другой же недостаток заключается в его местном применении. Его ставят только в очевидных случаях, когда баланс реально в этой конкретной точке производства требуется выровнять. Но, если поставить этот простейший балансир после большого завода и рассчитывать на его правильную работу, то любое изменение в других производствах может изменить течение потоков на конвейере и такой балансир станет непригодным.
К примеру, у меня стоял завод с подшипниками, с него подшипники подавались в шину, а с шины в некоторые производства. Был перекос и один поток на ленте пустовал. Сразу после завода я установил простой балансир для выравнивания обоих потоков. Но когда построил новые производства, то заметил, что потоки изменились, теперь другая сторона конвейера тянулась активнее и опустела. Простейший балансир оказался недееспособен.
Есть балансир другого типа, тоже простой и маленький по размеру.
Да, есть. Поговорим и о нём:
Этот балансир хорош тем, что при любом раскладе заполняет обе стороны конвейера. Он не совсем маленький, но всё же достаточно компактный. Только вот он совсем не выравнивает потоки на конвейере. Если какое-то производство потянет руду с конвейера одним потоком, то через этот балансир руда потянется так же в один поток. Произойдёт разбалансировка потоков, в симметричном производстве половина заводов будет простаивать.
А представленный мной балансир – при любых изменениях потоков после себя всегда сбалансированно тянет обе стороны конвейера до себя.
Зачем в балансире из синих конвейеров два жёлтых конвейера?
Всё дело в экономии. Синие (скоростные) конвейеры очень дорогие в производстве. В то же время жёлтые конвейеры самые простейшие и самые дешёвые. Если посчитать, сколько можно произвести жёлтых конвейеров на материалы, потраченные на один синий конвейер, то станет понятно, что не такая уж и плохая идея поставить жёлтые конвейеры там, где они никак не влияют на скорость. Они тут нужны только чтобы «сломать» изгиб расходящихся в стороны синих конвейеров. Ресурс по ним не перемещается. Жёлтых конвейеров в сундуках у любого игрока найдётся достаточно, если он уже перешёл на синие (скоростные) или хотя бы красные.
На заметку: балансир может состоять из жёлтых, красных, синих конвейеров и разделителей. В зависимости от этапа игры.
Чертежи.
Все балансиры собраны отдельными чертежами в текстовых файлах. Скачать можно в моём канале Telegram.
-----------------------------------------
Прямая ссылка на чертежи из статьи: https://t.me/format_aa/46
-----------------------------------------
Подпишись на канал и узнавай больше +
#Формат_АА
#Factorio
#чертежи
#схемы
#балансир