Найти тему
Формат АА

Как в Factorio на конвейере произвести сортировку ресурсов на разные стороны или перевернуть потоки?

Оглавление

Статья про тонкости игрового процесса в игре Factorio.

В этой статье подробно описаны схемы и вариации разделителей ресурсов на разные стороны конвейера, смешивание ресурсов, сортировка, переворот потоков на ленте конвейера.

-----------------------------------------

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

-----------------------------------------

Для чего нужно сортировать.

Помните такие поля руды, которые соприкасаются друг с другом, где невозможно отделить, например, медь от железа? Или железо и уголь, или уголь и камень? Как собирать тогда ресурсы – отдельно с каждого края? Или смешивать всё в одну кучу?

1. Два поля разной руды слитно.
1. Два поля разной руды слитно.

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

2. Руда собирается с двух разных ресурсов и идёт вперемешку на ленте конвейера.
2. Руда собирается с двух разных ресурсов и идёт вперемешку на ленте конвейера.

Добывая руду вперемешку в местах соединения ресурсов, на выходе мы имеем соответственно перемешанные ресурсы на одной ленте конвейера.

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

3. Смешанные ресурсы на одной ленте конвейера.
3. Смешанные ресурсы на одной ленте конвейера.

Рабочие и нерабочие схемы сортировщика руды.

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

Начнём с разделителей.

Вспоминаем, что, щёлкнув по разделителю, можно открыть его меню. А в его меню можно установить фильтр на нужный ресурс. Также можно изменить направление фильтра переключателем: либо на левый конвейер, либо на правый:

4. Фильтр железа включён на правый конвейер.
4. Фильтр железа включён на правый конвейер.

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

5. Разделитель с фильтром железной руды на правую сторону разделил две руды на разные конвейеры.
5. Разделитель с фильтром железной руды на правую сторону разделил две руды на разные конвейеры.

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

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

6. Разделитель застопорился и не может выдавать медную руду.
6. Разделитель застопорился и не может выдавать медную руду.

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

  • Если прошедшую через разделитель железную руду не забирать с ленты вовремя, она застопорит движение всей руды.
  • При излишке железной руды она блокирует медной руде вход в разделитель.
  • Переизбыток медной руды создаст ту же самую проблему для железной руды в виде «пробки» перед разделителем.
  • Самое неприятное, что этот разделитель складывает только одну руду на одну сторону конвейера. Вторая руда может идти как по своей стороне, так и попасть в первую руду на её сторону.

Идём дальше и меняем наш простой разделитель потоков на более продвинутый, который должен складывать руду по обе стороны ленты:

7. Более продвинутый разделитель потоков не балансирует их на ленте при помощи фильтра.
7. Более продвинутый разделитель потоков не балансирует их на ленте при помощи фильтра.

Как видно из рисунка 7 – проблема осталась. Хотя разделитель и должен был теоретически класть выходящую слева железную руду на левую сторону ленты, а выходящую справа медную руду класть на правую сторону ленты, но болезни предыдущего разделителя остались и в нём. По-прежнему избыток железной руды застопорил выход медной руды. А на выходной ленте, как видно из рисунка, по-прежнему руды перемешиваются.

Переходим к сложным схемам разделителя потоков.

Очевидно, что фильтр в разделителе – это то, что нужно, но фильтровать на одну сторону неправильно. Правильно фильтровать обе стороны конвейера.

Применим два разделителя, у одного из которых фильтр будет на железную руду, а у другого фильтр будет на медную руду. Разделителем без фильтров разделим руду на два последующих разделителя с фильтрами. А затем соберём всё при помощи разделителя на одну ленту:

8. Первый разделитель руды получился неудачным.
8. Первый разделитель руды получился неудачным.

Вроде бы всё сделано правильно. Вроде бы логично было разложить руду отдельными разделителями с фильтрами. А в итоге болезнь с перемешиванием руды осталась от первого нашего сортировщика (смотри рисунок 6). Зато мы избавились от болезни застопоривания перед разделителем из-за «пробок», создаваемых избытком одной руды. Это произошло само собой за счёт установленного разделителя перед разделителями с фильтрами. Он начал делить пополам входящую руду. Теперь в разделителях с фильтрами снизилась нагрузка на входе в два раза, что и не позволило застопорить движение. По итогу имеем следующее:

  • Избавились от «пробок» на входах разделителей с фильтрами.
  • Переняли старую болезнь со смешиванием разных руд.

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

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

Правильный разделитель потоков. Сортировка на два потока без смешивания.

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

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

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

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

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

11. Схема прохождения смешанной руды через фильтры и разделение её на два разных потока.
11. Схема прохождения смешанной руды через фильтры и разделение её на два разных потока.

Возникает логический вопрос: а зачем ставить два фильтра на железную и медную руду рядом? А не проще поставить их на одной ленте сразу друг за другом?

12. Упрощённый разделитель фильтрует обе руды друг за другом.
12. Упрощённый разделитель фильтрует обе руды друг за другом.

Да, это оказалось логичным решением, но не разумным. Разделитель здесь сразу же приобрёл старую болезнь, от которой мы успешно избавились до этого – появились «пробки» из переизбытка одной руды. Работает такой разделитель пока на ленте руда разбросана равномерно. То есть, недолго. Как видно из рисунка, медной руды прошло чуть больше, и она заблокировала выход железной руде.

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

13. Дополнительный разделитель не помог излечиться от заторов.
13. Дополнительный разделитель не помог излечиться от заторов.

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

Что, если использовать разделитель для деления руды на две части, одну часть передать в разделитель с фильтром, а другую закольцевать на самого себя?

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

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

Увы, и к сожалению, более упрощённый вариант потерпел фиаско.

Переворот потоков. Смешивание потоков.

Итак, у нас есть схема правильного разделителя потоков, который сортирует две разные руды и раскладывает на два параллельных потока на конвейере (смотри рисунок 10).

У этого разделителя есть ещё одна интересная особенность – он способен «переворачивать» потоки, меняя их местами на конвейере. Плюс к этому, случайную смешанную руду он обязательно отсортирует.

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

Руда пойдёт по противоположным фильтрам и выйдет с другой стороны конвейера.

15. Разделитель может не только сортировать руду на параллельные потоки, но и может «переворачивать» потоки при необходимости.
15. Разделитель может не только сортировать руду на параллельные потоки, но и может «переворачивать» потоки при необходимости.

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

Да, всё верно, фильтры перевернутся и не придётся менять их вручную.

Если ради эксперимента удалить с разделителей фильтры руды, то получим смеситель руды:

16. После удаления фильтров руды из разделителей, получили смеситель руды.
16. После удаления фильтров руды из разделителей, получили смеситель руды.

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

17. Простой переворачиватель потоков.
17. Простой переворачиватель потоков.

Зная, что входящая руда всегда поделена на два разных потока и не смешивается, включаем в разделителе фильтры нужной руды таким образом, чтобы поток пошёл другой стороной. После фильтрующего разделителя разная руда выходит на разные стороны разных конвейеров, а затем собирается на одну ленту (рисунок 17). Так мы получили простой переворачиватель потоков на ленте конвейера.

Этот же переворачиватель потоков можно использовать для смешивания потоков отключив фильтр в разделителе:

18. Без фильтра это становится смесителем потоков.
18. Без фильтра это становится смесителем потоков.

Разделение потоков подземными конвейерами.

Если априори у нас на ленте идут оба потока уже отсортированные и требуется их разделить на отдельные конвейерные ленты, то можно воспользоваться подземными конвейерами. Ставим такой конвейер поперёк ленты частично перегородив её. Один поток с ленты упирается в подземный конвейер, другой поток в этот конвейер входит. Нажимаем на подземный конвейер и клавишей «R» разворачиваем его в сторону той ленты, на которую нужно направить руду. Таким образом отбираем с ленты только один поток, только с той рудой, которая нужна.

Точно так же ставим подземный конвейер поперёк другой ленты и отбираем уже второй поток с другой рудой на другую ленту:

19. Подземные конвейеры блокируют один поток, но отбирают второй поток с ленты.
19. Подземные конвейеры блокируют один поток, но отбирают второй поток с ленты.

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

Чтобы подземные конвейеры не соединились и не развернулись в одном направлении, нужно устанавливать их как показано на рисунке 19. После разделителя первый подземный конвейер, повёрнутый в противоположную сторону как показывает стрелка. Затем устанавливается один конвейер к следующему подземному конвейеру, также повёрнутому противоположно, как указано стрелкой.

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

20. Разделитель потоков одним подземным конвейером.
20. Разделитель потоков одним подземным конвейером.

Разделители потоков и сортировщики на манипуляторах.

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

21. Пакетные фильтрующие манипуляторы сортируют руду перекладывая на другой конвейер.
21. Пакетные фильтрующие манипуляторы сортируют руду перекладывая на другой конвейер.

Тут стоит упомянуть, что руда может быть перемешана неравномерно. При небольшом избытке одной руды, исходящий поток второй руды на отсортированной ленте будет прерываться. Чтобы избежать неравномерной сортировки можно перекладывать руду в ящики, из которых перекладывать на ленту. Переизбыток руды будет накапливаться в ящиках, а при нехватке компенсировать её на ленте.

22. Ящики используются как аккумулятор, делая сортировку более непрерывной.
22. Ящики используются как аккумулятор, делая сортировку более непрерывной.

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

23. Переворот потоков манипуляторами.
23. Переворот потоков манипуляторами.

Итог.

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

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

Чертежи.

Чертежи разделителя потоков и переворачивателя потоков собраны раздельно в текстовых файлах. Скачать можно в моём канале Telegram.

-----------------------------------------

Прямая ссылка на чертежи из статьи: https://t.me/format_aa/74

-----------------------------------------

Подпишись на канал и узнавай больше +

#Формат_АА
#Factorio
#чертежи
#схемы
#сортировка