Factorio

Factorio

29 ratings
Железные дороги
By Seriy_A
от простого к сложному, с картинками и примерами
   
Award
Favorite
Favorited
Unfavorite
сложность 0 ‒ рельсы и локомотивы
это рельсы (с разветвлением/"стрелкой")
это локомотив на рельсах
на локомотиве можно ездить, если заранее накормить его (см. следующий раздел)
стандартное управление ‒ W разгон, S торможение
для поворота на стрелке зажать на подъезде к ней A (влево) или D (вправо)
сложность 1 ‒ топливо
локомотивы можно кормить вручную и манипуляторами (забрать топливо манипулятором нельзя upd. в Factorio 2 можно и забирать)
от того, чем его кормить, зависят его максимальная скорость и разгон, а также насколько быстро топливо сгорит

топливо
ёмкость (МДж)
скорость (км/ч)
разгон
 дерево
2
259.2
100%
 уголь
4
259.2
100%
 твёрдое топливо
12
272.2
120%
 ракетное топливо
100
298.1
180%
 ядерное топливо
1200
298.1
250%
сложность 2 ‒ станции
поезда могут ездить сами, от одной станции к другой
станции ставятся на рельсы, по правую сторону от места остановки локомотива
установленную станцию видно на карте
имеет индикатор состояния (2 лампы сверху)
индикатор
значение
свободна
поезд у станции (едет по клетке рельсов перед ней)
поезд на станции
отключена сетью (см. раздел ниже)
недосягаема(а где рельсы?)
сложность 2 ‒ маршруты
для того, чтобы поезд начал ездить между станциями, ему нужно объяснить что и где он должен делать, а затем перевести его в авторежим
поезд отправляется локомотивом вперёд на следующую доступную станцию, если он всё доделал на текущей (все условия станции выполнены)
условия могут группироваться по принципу ИЛИ (ждать выполнения любого) либо И (ждать выполнения каждого)

пример условий для станции(который ты будешь использовать чаще всего):
сложность 2 ‒ вагоны и сборка поездов
локомотив с вагонами гораздо более полезен, чем без них (но, внезапно, не наоборот)
составы собираются на рельсах, ставя элементы один за другим
также, сидя в поезде (не обязательно в локомотиве) можно прицепить (кнопкой G) другой локомотив/вагон/состав, подъехав к нему вплотную, либо отцепить следующий (за тем, в котором ты сидишь) элемент состава (кнопкой V),что максимально полезно, когда тебе понадобится утащить издалека внезапно пожранный кусаками гружёный поезд

в игре есть 3 вида вагонов:
грузовой вагон ‒ основное средство перевозки. по совместительству контейнер на 40 ячеек и 12 манипуляторов. в отличии от обычного ящика, для каждой ячейки можно установить допустимый груз, клацнув её средней кнопкой мышки
вагон-цистерна ‒ может перевозить всё то же, что и стационарная цистерна, кроме пара. загружается и разгружается помпами (максимум 3 на вагон)
артиллерийский вагон ‒ как и стационарная версия пушки, стреляет соответствующими снарядами. разница в том, что иногда ‒ внезапно(лучше не вози её вручную заряженной). кроме того, в отличии от стационарной, вмещает 100 снарядов

upd. Factorio 2
прицеплять-отцеплять вагоны по-умолчанию теперь кнопками J K
у артиллерийского вагона теперь можно выключить автоприцеливание
если в поезде есть артиллерийский вагон, поезд поедет только после возврата башни арт.вагона в "транспортировочное положение"
пример 1 ‒ простейшая дорога
для экономии места примеры будут схематичными
в конце руководства приложен сценарий, в котором все примеры можно "потрогать"

здесь — две станции, на одной мы что-то загружаем, на другой — выгружаем
верхняя схема для поезда с локомотивом с обеих сторон
нижняя для поезда с локомотивом с одной стороны
сложность 3 ‒ сигналы (светофоры) и блок-участки
короче
вот этого ставь туда, где одновременно может быть только один поезд. после стрелок тоже не забывай такой лепить
вот этого ставь перед стрелками и перед местами встреч с кусаками (потому что тебе это надо)
всё, иди в следующий раздел

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

светофоры могут выдавать следующие сигналы:
  • зелёный ‒ следующий (у обычного светофора) или все конечные (у цепного) блок-участки свободны
  • жёлтый ‒ следующий блок-участок заблокирован подъезжающим поездом
  • синий (только у цепного) ‒ один из возможных конечных блок-участков не свободен
  • красный ‒ следующий блок-участок занят
  • дискотека ‒ блок-участок замкнут на себя (кольцо) или отсутствует(кто спёр рельсы?)

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

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


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

один из способов избежать таких блокировок ‒ дополнительная изоляция внутри пересечений (на примере выше изоляция крестовины позволила бы зелёному поезду уехать и освободить путь фиолетовому, хорошее пояснение с gif-кой на официальной wiki[wiki.factorio.com], сюда не влезло)
при этом, если ты используешь длинные поезда, стоит учитывать особенность алгоритма маршрутизации игры ‒ при проверке занятости пути поезд не учитывает сам себя
пример 2 ‒ дорога для нескольких поездов
этот пример является логическим продолжением предыдущего
в случее с двунаправленными поездами теперь у нас есть цепные сигналы, для проверки возможности уехать со стрелки
в случае с однонаправленными всё проще, однако для нашего частного случая кольцевой дороги, количество светофоров должно как минимум на 1 превышать количество поездов (во избежание взаимоблокировки)
сложность 4 ‒ группировка и ограничение станций
если присвоить нескольким станциям одинаковое имя, то поезда, у которых это имя есть в маршруте, будут выбирать ближайший свободный экземпляр станции. это может быть использовано чтобы выгрузить или загрузить (не советую) что-то в любом из мест, либо подождать чего-то
кроме того, для станции может быть задано максимальное количество поездов, которым она будет доступна для использования. поезд занимает слот в момент отправления к станции
пример 3 ‒ станция ожидания
этот пример подразумевает использование двунаправленных поездов
здесь я поясню, зачем вообще имеет смысл ставить станции на каждый путь
  • станция сама по себе является указателем направления — может быть полезно, если пути сквозные в обеих направлениях
  • станции с двух сторон участка пути позволяют развернуть поезд — это единственный способ обеспечить и прибытие и отправление в одном и том же направлении
  • стация позволяет ограничить количество поездов, что позволяет избежать ситуацию блокировки поезда на концевом пути
  • станция позволяет "отпустить" конкретный поезд при конкретном условии (см. раздел "логика")
  • (Factorio 2) станция позволяет организовать порядок заполнения путей методом установки приоритета — раньше единственным способом это сделать (игнорируя длину путей при поиске маршрута) была установка нескольких станций подряд (станция, не входящая в маршрут при расчёте пути, добавляет к его длине 2000)
сложность 5 ‒ логика
светофоры и станции могут быть подключены к логическим сетям (при чём станции — ещё и к логистическим, но только для включения/выключения)
логические сигналы, полученные поездами, могут быть использованы в качестве значения условия точки маршрута
чтение
запись
светофор
  • текущий сигнал (кроме принудительного красного)
  • включение стоп-сигнала (красного)
станция
  • ID поезда
  • груз поезда
  • количество блокировок станции поездами
  • включить/выключить
  • допустимое количество поезов
  • сигнал для поезда на станции
пример 4 — автоматизация сортировки и пополнения грузов
этот пример также подразумевает использование двунаправленных поездов
в левой части расположены 4 станции с разными ресурсами
забирающие эти ресурсы поезда ожидают на многопутном участке, и отправляются на разгрузку в тот момент, когда запасы принимающей станции, в правой части, пустеют
послесловие
карта с примерами
сценарий с примерами из руководства берём на ЯДиске[disk.yandex.ru], и кладём в папку %appdata%\Factorio\scenarios\новая-папка-или-назови-сам-как-хочешь (для винды), пока игра не запущена
upd. Factorio 2
разрабы поменяли часть предметов и выпилили из игры робота, в которого я закодил разной болтовни, переделывать это всё пока лень
по тем же причинам нет "современных скриншотов", а при запуске сценария вылезает отчёт об обновлении карты
КОРОЧ к кораблю при запуске сценария приезжает поезд, на нём ехать к примерам
чё ещё
предлагайте обмены всяким и идеи по улучшению сего руководства
4 Comments
Necrofill 14 Apr @ 6:28am 
@Seriy_A Кажется придумал как решить мою проблему. У меня на всех станциях стоят ограничения на лимит поездов. Расставляем в основное производство приоритеты повыше, в побочное пониже, в побочную продукцию приоритет повыше чтобы она уезжала в первую очередь и не забивала основную продукцию процесса, и поездов должно быть больше суммарного лимита всех станций с этой продукцией и лишние стоять в депо-заправках.
Seriy_A  [author] 13 Apr @ 3:42pm 
@Necrofill поездам, собирающим ресурсы "побочных производств", можно задать проверку занятости станции разгрузки перед отправлением, отправляя с "основных" без этой проверки
Necrofill 13 Apr @ 2:15am 
Играю в сложный мод puanodon. В нем есть большинство рецептов на выходе дают несколько разных видов продукции и возникает проблема: несколько станций доход и расход дают одну и ту же продукцию. Приоритетами можно подправить доставку ресурсов на более важные производства. А вот сбор с побочных производств подправить сложнее. Может кто знает решение подобной проблемы.
BAD GUY 12 Apr @ 2:03am 
имба!