factorio как пройти обучение поезда
Железные дороги
Железнодорожная сеть является одним из основных способов транспортировки в Factorio. Несмотря на её неизбежную громоздкость, железнодорожная сеть, по сравнению с логистической сетью и конвеерами, является более эффективным методом перемещения ресурсов и персонажа игрока на большие, и огромные дистанции.
Contents
Инфраструктура
Чтобы проложить железную дорогу, элементы пути (они же – рельсы), должны быть построены для проезда по ним поездов. В большинстве случаев, это делается при помощи планировщика путей, но пользоваться им не обязательно. Имейте в виду, что рельсы ставятся на двухклеточную сетку, а потому рельс не может быть подвинут только на одну клетку.
Минимальная ж/д сеть с ручным управлением
Минимальный набор предметов, необходимых для функционирования железной дороги, состоит из:
Стрелочные переводы
Прокладка параллельных рельсов со стрелочными переводами таким способом, конечно, работает, но это может создать трудности на этапе установки ж/д сигналов, а потому, как правило, игрокам рекомендуется строить параллельные элементы пути с интервалом в 2 клетки между ними.
Переход через рельсы
Контрольный список для безопасного перехода через пути:
Конечно, если вы не хотите следовать всем этим рекомендациям, вы всегда можете построить систему безопасного перехода через рельсы, наподобие той, анимированную версию которой вы можете видеть рядом. Для этого вам потребуется умение пользоваться логической сетью.
Поезда
Поезда можно составлять из таких элементов, как:
Обучение: Ж/Д сигналы
Ж/д светофоры нужны для функционирования железнодорожной сети в Factorio. В этом руководстве рассказывается зачем и когда используются ж/д светофоры, что такое затор и в каком случае он получается. Цель руководства состоит в том, чтобы дать сведения читателю, чтобы он мог построить железнодорожную систему, работающую как часы. Показаны примеры часто используемых решений.
Для новичков, которые только учатся использовать светофоры, на перекрестках рекомендуется установить радары для быстрого определения проблемы. Также рекомендуется как можно скорее автоматизировать заправку поездов горючим, когда в систему добавляется новый поезд или станция. Поезда могут заправляться на одной станции по штатному расписанию (может включать или не включать транспортировку топлива на станцию) или на отдельной заправочной станции.
Contents
Обычные светофоры и блоки
Всякий раз, когда на одном пути появляются два и более поездов, существует вероятность их столкновения. Что бы этого избежать, на перекрестках и вдоль дороги, с некоторым интервалом, устанавливаются светофоры (рис. 1). Обычный ж/д светофор защищает блок путей после него до следующего светофора или конца пути. Светофоры гарантируют, что в одном блоке будет только один поезд. Когда поезд приближается к очередному блоку, который уже занят другим поездом, он остановится и будет ожидать разрешающий сигнал.
Блоки отображаются цветами, когда в руках игрока находится светофор. На рисунке 2 показано отображение 11 блоков.
Ж/д светофор светится зеленым, если за ним блок пустой. Когда поезд заехал в блок, то все пропускающие в него светофоры, переключаются на красный. Когда же поезд только входит в блок, то он на короткое время становится желтым, а после — красным.
Светофоры устанавливаются по правую сторону путей, то есть движение поездов правостороннее. Ввиду этого, в автоматическом режиме поезда не могут передвигаться, если по пути следования светофоры расположены только с левой стороны. Иногда это может вызвать ошибку «нет пути», когда путь есть, но на его части возможно только одностороннее движение.
Проходные светофоры
Использование светофоров предотвращает столкновение поездов, однако, вместе с тем, они приносят иные потенциальные проблемы. Каждый поезд ожидает до тех пор, пока следующий перед ним блок не освободится. Это создает проблему, когда поезд останавливается на перекрестке, из-за чего другие поезда тоже останавливаются, даже если они двигаются в другом направлении. В свою очередь, они останавливают другие поезда, что приводит в конечном счете к замедлению работы всей системы. Необходимо избегать остановок на перекрестках путей. В Factorio, для решения этой проблемы используется проходной светофор.
Наиболее важным правилом для поездов является то, что им нельзя ожидать длительное время в блоке после проходного светофора, тогда как в блоке после обычного — можно. Помимо этого, поездам нельзя ожидать на перекрестках, это правило выражается следующим образом: используйте проходные светофоры на перекрестках и перед ними, а на выходе — обычные светофоры. В общем случае, проходной светофор необходимо использовать, когда возможна ситуация блокировки ожидающим поездом другого поезда, идущего по другому пути.
Как работают проходные светофоры? Чтобы определить, проедет ли поезд мимо проходного светофора, необходимо рассмотреть следующий за ним путь до первого обычного светофора или станции, в зависимости от того, что будет ближе. Поезд проедет только в том случае, если все блоки на этом отрезке пути будут свободными. Когда же поезд проезжает проходной светофор, то весь этот отрезок резервируется до тех пор, пока поезд не покинет его. Проходной светофор, который ведет к блоку с одним исходящим сигналом, будет того же цвета, что и этот сигнал. При разделении пути, может возникнуть ситуация, когда одна из веток занята (горит красный), а другая напротив — свободна (горит зеленый). В этом случае, проходной светофор будет синим, указывая на то, что какой-то из путей дальше свободный (или несколько), а другие заняты.
Если в ж/д сети используется большое количество проходных светофоров, то вероятна ситуация, что один поезд может занять слишком много блоков, из-за чего другие поезда будут простаивать, снижая общую пропускную способность. Т.о. если обычные светофоры нужно использовать при любой возможности, то проходной светофор — только при необходимости.
Затор
Использование сигналов приводит к тому, что одни поезда ждут другие. Ввиду этого, возможна ситуация, когда поезда выстраиваются в цепи, где последний поезд в цепи ждет, когда проедет первый поезд. Эта ситуация называется затором, которая разрешается только в ручную. Необходимо принимать все меры, чтобы не допускать заторов, иначе все поезда, проезжающие через этот участок, застрянут. Наиболее частые причины возникновения заторов:
На рисунке 7, показана ситуация затора, когда внутри перекрестка проходные светофоры заменены обычными, в результате чего поезд ожидает посреди перекрестка. Правильная расстановка светофоров показана на рисунке 5. Все входные и внутренние светофоры перекрестка должны быть заменены проходными светофорами. Такая конфигурация, считается общим случаем перекрестков.
Затор на рисунке 8 произошел ввиду кольцевой структуры самого перекрестка, неспособного пропустить столько поездов. Расстановка светофоров правильная. Чтобы устраниь затор, нужно либо убрать само кольцо, либо уменьшить количество проходящих через него поездов.
Затор на рисунке 9 произошел по той же причине, причем с участием всего лишь двух поездов. В этом случае, затор может быть устранен заменой выделенного обычного светофора на проходной, благодаря чему на кольце сможет находится только один поезд. Такое решение приведет к тому, что поезда будут останавливаться на главной линии. Поэтому желательно предусмотреть линию ожидания.
Интервал между светофорами
На рисунке 10 изображен затор между двумя Т-образными перекрестками. Он случился из-за того, что, при остановке, хвост состава остался на другом блоке. Сами перекрестки по отдельности (хотя кто-то может возразить, что на самом деле это один большой перекресток) построены верно, однако, учитывая длину состава, они расположены слишком близко друг от друга. Есть три возможных способа разрешить затор: обычный светофор между перекрестками можно заменить на проходной; перекрестки расположить друг от друга на большем расстоянии; укоротить поезда.
Расстояние после светофора на выходе из перекрестка и до следующего светофора должно быть не меньше самого длинного поезда в ж/д системе. В общем случае, это правило справедливо для всех обычных светофоров.
Рекомендуется задать максимальную длину состава для всей ж/д системы и придерживаться ее при расстановке светофоров на путях.
Разделение ж/д блоков
Длинные непрерывные участки путей необходимо разбивать на блоки обычными светофорами, чтобы несколько поездов одновременно могли передвигаться по этим участкам, что увеличивает пропускную способность сети. Переходы должны разносится друг от друга на несколько блоков. Внутри перехода, светофоры должны устанавливаться таким образом, чтобы несколько поездов могли его проезжать без снижения скорости — например, поезда идущие в противоположных направлениях, не должны замедляться, для чего им нужно проходить по разным блокам. Примеры приведенные ниже, соответствуют описанным правилам.
Примеры
Наиболее распространенной архитектурой построения ж/д системы, является двухколейная разнонаправленная линия. Все примеры ниже основаны на этом решении. В большинстве случаев, двунаправленный путь не используется в качестве ‘главной’ ж/д линии.
Т-перекресток
На рисунке 11 изображен базовый перекресток трех линий. Схема расстановки светофоров перекрестка, позволяет, в некоторых случаях, пересекать его нескольким поездам одновременно. Например, в случае, когда один поезд движется слева направо, а другой справа налево, они пересекают разные блоки: первый поезд пересекает левый желтый блок — синий — нижний правый желтый блок; второй поезд пересекает верхний правый желтый блок и левый верхний красный блок. Хотя такая возможность не является строго обязательной для перекрестка, она позволяет за меньшую стоимость увеличить его пропускную способность.
Зона ожидания
Если несколько поездов останавливаются на одной станции, то поезда вынуждены ожидать на главной линии, что приводит к замедлению трафика и даже возникновению затора. Одним из путей решения данной проблемы, является добавление зон ожидания к каждой такой станции.
На рисунке 12 изображена зона ожидания размещенная перед станцией. На входе зоны ожидания используются обычные светофоры, т.к. поезда могут задерживаться там на длительное время. На выходе используются проходные светофоры, чтобы путь из зоны ожидания до станции не занимался. Расположение станций в разных блоках позволяет им функционировать одновременно.
Существует две архитектуры в проектировании зон ожидания: параллельная (как на рис. 12) и последовательная (см. рис 13). Параллельная структура легко масштабируется, занимает меньше места и способна обеспечивать работу нескольких станций. Последовательная структура не способна обеспечивать работу нескольких станций.
Здравствуйте,
мы закончили регулярную серию Friday Facts, и тем не менее, мы еще так много хотим поговорить. Хочу уточнить, что мы не собираемся выпускать FFF каждую неделю, но их будет несколько в ближайшее время.
Работа над обновлением 1.1 началась в основном сразу после выпуска 1.0, так что уже есть что показать.
Прямо сейчас мы не собираемся давать никаких обещаний относительно того, когда это произойдет, но мы будем держать вас в курсе нашего прогресса с этими сообщениями в блоге и давать некоторое уведомление до его развертывания. Хотя я совершенно уверен, что мы прошли более чем половину пути. Чтобы вы были счастливы, пока это не произойдет, давайте рассмотрим некоторые изменения.
Ограничение остановок поезда Это небольшая история о дополнительном проекте Boskid, связанном с поездом, для функции, которая запрашивалась довольно часто ( 1 [forum.factorio.com], 2 [forum.factorio.com]).
Однако возникают проблемы, когда вы хотите расширить свое производство. Вы хотите просто скопировать и вставить «Плавку железа 1», и половина руды будет отправлена в «Плавку железа 2». Теперь вам нужно начать вручную переназначать составы, пытаясь сбалансировать пропускную способность шахт и т. Д. Если железная шахта иссякнет, вам нужно перебалансировать всю систему, переназначить все поезда с этой станции и получить всеведущий обзор всех различных маршрутов, по которым ходят ваши поезда.
Чем больше шахт, тем больше плавки и больше поездов, такое управление становится неисчислимой проблемой, и, честно говоря, это не весело (мнение).
Неидеальное решение Есть хорошее решение, которое работает (почти). То есть назвать все рудные станции одинаковыми, и все плавильные станции одинаковыми. При выборе пункта назначения поезд может отправиться на любую остановку поезда с этим названием, что означает:
Однако есть небольшая проблема с системой, которая полностью разрушает идею. Поезда не умные. Они будут следовать к произвольно выбранной остановке поезда с правильным названием в зависимости от расстояния до пункта назначения и некоторых других факторов. Это означает, что легко может случиться так, что все поезда в конечном итоге обслуживают только 1 приемник железной руды, в то время как есть другие заставы, заполненные рудой, и поезда не прибывают, чтобы ее забрать. Вы можете несколько облегчить проблему, используя схему сети для включения и отключения остановок поездов, но это только половина меры. Например, вы все еще можете закончить тем, что 10 поездов мчатся к одному небольшому пикапу железной руды, что может привести к тому, что поезда встанут в очередь на главной линии и все заклинят.
Лимит
Это довольно просто, как обычно бывает с хорошими решениями. Вы можете установить «Лимит поездов» в графическом интерфейсе остановки поезда, и остановка будет отслеживать, сколько поездов находится на станции или на пути к ней, что мы называем бронированием. Когда поезд выбирает следующий пункт назначения, он проверяет лимит всех остановок с этим именем, и если на остановке поезда уже слишком много забронированных мест, он пропустит ее. Если все возможные остановки поезда заняты, поезд будет просто ждать.
Это в значительной степени отлично решает проблему с обозначением всех остановок поезда одинаково, а также решает несколько других потенциальных неприятностей. Например, раньше штабелер для плавильного завода должен был быть достаточно большим, чтобы вместить сразу все поезда железной руды, потому что нельзя было быть уверенным, что все они не вернутся одновременно. Теперь вы можете установить ограничение поезда для остановки поезда для выплавки чугуна на максимальную вместимость станции, что означает, что вы можете построить штабелер меньшего размера и быть уверенным, что он никогда не станет переполненным.
Ограничение поездов также можно контролировать с помощью коммутационной сети, так что есть еще больше возможностей. Одна из идей заключается в том, чтобы установить лимит поездов равным 0, пока на станции не будет полной загрузки руды. Вы также можете прочитать текущее количество бронирований, которые найдут свое интересное применение.
Есть крайний случай, который нам пришлось решить во время работы над этой функцией. Что произойдет, если лимит будет снижен, когда поезд уже находится в пути? Наша первая идея заключалась в том, чтобы заставить все поезда, находящиеся в пути, изменить маршрут и найти новое место назначения. Это работает во многих случаях, но если нет остановки поезда, к которой он мог бы двигаться, он в конечном итоге остановился бы и ждал посреди путей, что нанесло бы невыразимый экономический ущерб.
Поэтому мы решили, что даже если лимит будет изменен, любые поезда с бронированием все равно будут туда ходить. Это означает, что это не строго «жесткий» лимит, но мы считаем, что это хорошо, поскольку установка лимита на 0 предоставляет альтернативный способ управления поведением поезда по сравнению с тем, когда станция отключена. В основном поезд будет учитывать предел только при первом решении, к какой остановке следует идти, после чего ему все равно, изменится ли предел.
Нам также пришлось иметь дело с предупреждениями «Нет пути». Если бы все остановки поезда были заполнены до предела, поезд показывал бы «Нет пути», что не очень понятно для игроков. Поэтому, когда поезд не может найти путь из-за ограничения движения поездов, он покажет специальное предупреждение: «Пункт назначения заполнен».
Воздействие Для стороннего наблюдателя это действительно может показаться крошечной вещью, но для нас это одна из самых захватывающих особенностей 1.1. Я думаю, это также весьма показательно, что чего-то подобного давно не хватало, учитывая популярность мода Logistic Train Network [mods.factorio.com]. Хотя предел остановки поезда не такой мощный, как мод (преуменьшение), он откроет много возможностей и добавит много интересных возможностей игрового процесса.
Советы и уловки Советы и уловки были особенностью игры в течение очень долгого времени. Они начинались как способ объяснить игрокам вещи, которые не были объяснены больше нигде. Ярким примером является подсказка «Alt-mode». Игра без Alt-режима болезненна, и даже более болезненно смотреть, поэтому мы должны были как-то сказать игроку.
Первые дни Когда я говорю о ранних днях, я имею в виду первые дни, даже до инди-кампании. Первая реализация советов была простой, но немного грубой.
Графический интерфейс подсказок и приемов в версии 0.6.4.
Он выполнил свою работу, но он нуждался в доработке, как и в остальной части игры.
Первый апдейт со временем советы и хитрости упали в тёмный угол. Это всегда было низкоприоритетным и явно не было задачей «Графика» или «Программист» по их улучшению, это было чем-то средним. Вот где я пришел и взял на себя задачу внести некоторые улучшения.
Советы и рекомендации GUI в версии 0.16.51.
На этом этапе мы переключили внимание на другие «учебные каналы», так как надеялись, что новые мини-уроки и NPE означают, что нам не нужно столько советов. Мы думаем, что лучше, если такие вещи, как использование элементов, будут объяснены во всплывающей подсказке элемента, а не в другом графическом интерфейсе в другом месте.
За исключением некоторых обновлений стиля графического интерфейса, советы и рекомендации не претерпели значительных изменений в следующих нескольких основных версиях.
Графический интерфейс «Советы и приемы» в версии 1.0.0.
На этот раз улучшения стали последним завершающим штрихом, позволившим довести советы и рекомендации до их окончательной формы.
Основная искра, это указатель тем. Решает множество проблем:
Новые советы и хитрости Картинка стоит 1000 слов, и в данном случае это очень правда. Итак, давайте начнем с этого: давайте рассмотрим
и объясним некоторые из начальных изменений:
Довольно много изменений в макете графического интерфейса, и он работает очень хорошо. Но мы можем пойти дальше.
Проблема остается, проблема небольшая, но в долгосрочной перспективе и при наличии сложных процентов она становится большим источником боли. Проблема в том, что в советах по-прежнему используются изображения, а это значит, что они устаревают по мере обновления. Мы много раз пересматривали все скриншоты за эти годы.
Так что мы можем с этим поделать?
Моделирование В этом случае GIF стоит 1000 изображений, поэтому давайте начнем с этого:
Виджет моделирования решает довольно много начальных проблем с использованием снимков экрана / изображений, но мы можем пойти еще дальше.
Мы можем использовать моделирование не только для демонстрации заводской среды. Используя скрипты Lua, мы можем создавать целые скриптовые сцены и демонстрации. Во многих случаях это намного эффективнее. Например, предварительный просмотр здания, движение мыши и прослушивание «реальных звуков» делают подсказку более значимой.
У мини-руководств были некоторые интересные особенности или свои собственные, они отображались только в том случае, если игрок выполнил некоторые требования, и предлагались игроку, если он выполнял определенные действия. Например, учебные пособия по поездам будут отображаться только после того, как вы изучите железнодорожную технологию. Если мы объединим две концепции, мы сможем использовать функции разблокировки и предложения для советов и рекомендаций.
Таким образом, мы объединяем функциональность двух систем. Мини-уроки остались прежними, но они представлены внутри подсказки, и мы подключаем систему предложений и зависимостей к подсказкам. Мы добавили кнопку «Отметить как прочитанное», и подсказки будут отображаться после прочтения зависимостей.
Мы рассматриваем эту новую систему разблокировки и рекомендаций как одно из наиболее важных улучшений. Это означает, что графический интерфейс подсказок и приемов начинается только с необходимых подсказок, и по мере вашего продвижения в игре соответствующие подсказки открываются и показываются вам. Это очень похоже на то, как игра начинается с нескольких рецептов, а более сложные аспекты открываются со временем.
Советы можно изменять! Когда-то последняя небольшая проблема со старыми советами и приемами заключалась в том, что они были в некотором смысле «жестко запрограммированы». Они были загружены из очень специфического файла JSON в каталоге основных данных. Это означает, что у модов не было возможности добавлять или изменять какие-либо подсказки.
Вполне естественно, что с этим обновлением и модернизацией подсказок мы открываем систему для моддеров. Внутренне советы работают как любой другой прототип, поэтому моду очень легко добавлять собственные записи.
Набор советов При добавлении новых советов было заманчиво сделать советы по всем вопросам. Однако, подумав, мы решили не заходить слишком далеко. Мы не хотим, чтобы советы и приемы превратились в «Факторипедию» или «внутриигровую вики». В общем, предметы, сущности и общая механика должны объяснять себя более прямым образом, например, с помощью всплывающих подсказок.
Мы хотим, чтобы советы и приемы объясняли механику и темы, которые являются более сложными или которые трудно объяснить где-то еще. Имея это в виду, мы выбрали несколько свободных категорий:
Важно отметить, что мы должны объяснять только то, чего игроки на самом деле не понимают. Я никогда не слышал жалоб на то, что кто-то не понимает, как работают солнечные панели или аккумуляторы, поэтому включать их в советы и рекомендации было бы просто лишним, даже если это технически соответствует критериям.
Заключение Мы вполне довольны результатом, подсказки и уловки. Графический интерфейс всегда был одной из тех парадоксальных систем, которые были одновременно чрезвычайно полезными и ужасно неэффективными. Мы действительно надеемся, что все усилия, которые мы вложили в это, помогут.
Расширенный гайд по железным дорогам в игре Factorio
Описание гайда
Данный гайд отвечает на такие вечные вопросы любого игрока в Factorio, как:
Для чего требуется это руководство?
Некоторые из вещей, о которых я буду говорить, кажутся мне очевидными, но я регулярно встречаю вопросы вида «Как мне настроить железную дорогу в Факторио?». Базовое обучение дает все ответы — но на языке, понятном скорее инженерам, чем простым игрокам. Большинство гайдов в YouTube, к сожалению, просто пересказывают это руководство, и показывают простую схемку из пары станций, рельс и поезда или двух. Несколько хороших мануалов с углублением в особенности ЖД в фактории есть в англоязычном ютубе, но они, опять же, недоступны для тех, кто недостаточно знаком с разговорным английским. Я не умею снимать ролики для ютуба, поэтому решил написать небольшое руководство, и рассказать о некоторых особенностях, которые проявляются на больших размерах ЖД сетей, а также постараться объяснить как не «как требуется делать», а «почему лучше делать так».
Основы железнодорожной логистической сети
Как только у вас вместо одного поезда начинает ездить два, пять, десять… сто — начинают возникать проблемы с пропускной способностью. Опыт использования конвейеров говорит — «просто добавь еще пару путей!». Это неверно! Пропускная способность пути, как правило, крайне высока, и если у вас поезда не идут непрерывно один за другим — нет смысла делать четырех или тем более шести путевую линию. Как правило, проблемы находятся в других местах — это развязки, станции, и общая организация ЖД сети. И если развязки вы можете перестроить, а к станциям добавить буферы — общая организация сети с трудом поддается переделыванию.
Чтобы минимизировать пробки на развязках, желательно с самого начала строить свою базу и ресурсные модули по цепочке зависимостей. Например, на юге, снизу от базы, у вас добывается руда. Эта руда поездами доставляется на переплавку чуть выше. Оттуда другие поезда везут ее дальше вверх — к созданию базовых компонентов. Далее эти базовые компоненты отправляются еще выше, к местам где они требуются на производствах. Это создает некую виртуальную цепочку из добычи — переплавки — производств — продвинутых производств.
Представим ее как цепочку A-B-C-D. В этой цепочке поезда ходят по маршрутам A-B, B-C, и C-D. Конечно, производственные линии не такие простые, и будут добавляться маршруты, которым требуется идти по пути B-D, например, однако основная масса поездов уже перестанет мешать друг другу. Просто для примера — если вы об этом не задумались в самом начале, то к середине игры у вас может возникнуть ситуация, когда поезда с рудой едут с южных месторождений, создавая пробки в самом центре базы — потому что едут по маршруту E-A. Старайтесь избегать таких маршрутов, и если зона добычи у вас на противоположной стороне от переплавки, то лучше создайте отдельный обходной путь для поездов с рудой.
Помимо разделения зон маршрутов, оптимизация такого рода даст уменьшение среднего времени, которое поезд проводит в пути — что опять же повышает эффективность транспортного потока.
Сигналы — основы
Обучение в игре крайне невнятно объясняет разницу между обычными и проходными сигналами, а самые лучшие гайды в интернете,вместо объяснения логики сводятся к простой рекомендации — ставьте обычные сигналы за развязками, а проходные — во всех остальных местах. В принципе, этот совет работает. Но почему?
Давайте сначала разберемся, как работают сами сигналы. В игровой механике все рельсы разделены на виртуальные сегменты, своего рода куски пути. Разделены они как раз этими сигналами. В каждом сегменте одновременно может находиться один поезд. Если у вас нет сигналов на путях, то в вашей сети сможет свободно кататься только один поезд, как только вы добавите второй, произойдет ошибка и они не смогут рассчитать свой маршрут.
Когда в сегменте ЖД находится поезд, все сигналы которые стоят на пути в этот сегмент — то есть отделяют его от других сегментов — показывают красный. Так же, красный показывают проходные сигналы, которые ведут к этому сегменту. Так же красный можно включить логикой, что используют для создания безопасных ЖД переходов.
Когда поезд едет по маршруту, он проверяет сигнал на въезд в следующий сегмент, и если он зеленый — едет дальше. Если красный — ждет. Это может приводить к дедлокам, но про них чуть позже.
После такого базового объяснения становится понятно, что требуется нарезать свою ЖД на сегменты, но все еще непонятно — зачем использовать проходные сигналы. Я придумал конкретный пример, который показывает, какое преимущество они дают при правильном применении.
Проходные сигналы — практическая польза
Итак, давайте представим, что у нас есть две станции — «Отправление» и «Прибытие». Между ними есть два пути, путь А и путь Б, причем путь А — короче, поэтому поезда всегда выбирают его. Но у пути А есть одна проблема — на нем есть станция «Бологое» и, когда на ней стоит поезд, проезд по этому пути заблокирован. Перед станцией есть несколько сегментов, отделенных обычными сигналами — от развилки путей 3 сегмента.
Поезд отправляется из «Отправление» в «Прибытие», подъезжает к развилке, от которой ведут пути А и Б, и выбирает путь А, как более короткий. Он подъезжает к «Бологое», и видит то, что станция по чьему-то недосмотру, установленная прямо на путях, занята поездом, и проехать дальше нельзя. Поезд занимает первый свободный сегмент перед «Бологое» и ждет до тех пор, пока путь освободится. Та же история повторяется еще с двумя поездами — пока не заполнятся все сегменты от развилки до «Бологое». Четвертый поезд, подъезжая к развилке, видит, что путь А занят (точнее, первый сегмент этого пути), и принимает решение ехать по маршруту Б. Первые три поезда все еще стоят…
А теперь представим, что в сегментах между развилкой и «Бологое» установлены проходные сигналы. Что изменится? Обычный сигнал перед «Бологое» показывает красный, проходной сигнал в предыдущем сегменте считывает его и тоже показывает красный, и так до развилки. Первый поезд подъедет к развилке, увидит, что путь А в данный момент заблокирован, и поедет по пути Б.
Мы избежали пробки, материалы оперативно доставлены на станцию назначения, профит!
Отдельный вопрос — какие сигналы ставить на протяжении пути. Если везде будут стоять обычные, то поезда будут набиваться даже там, где проезд в данный момент заблокирован. Если проходные, то поезда не будут заезжать на длинный перегон до тех пор, пока другой поезд его не освободит. Тут требуется придерживаться баланса. Если в сети много путей, и требуется чтобы поезда выбирали свободную дорогу, то ставьте проходные сигналы, а если у вас длинный перегон без вариантов (например, между месторождением руды и базой), то на этом перегоне должны стоять обычные сигналы, с промежутком чуть больше длины поезда.
Сигналы — размер сегментов и длина поезда
Это не интуитивно понятно, но при планировании важно учитывать этот момент. Если вкратце — сегмент пути должен быть длиннее чем ваш состав. Более того, не только виртуальный сегмент, но и реальный, между развязками! Если вы используете составы из поезда и двух вагонов, то сегменты должны вмещать в себя такой состав. Если вы используете длинные поезда, то сегменты должны быть длиннее, если вы используете очень большие поезда, то планируйте свою ЖД сеть очень тщательно! Почему?
Когда поезд въезжает в сегмент ЖД, он может остановиться на его выезде. Возможно, впереди занята станция, на которую ему требуется свернуть, возможно на развязке прямо перед ним сейчас красный. Что произойдет, если поезд длиннее чем сегмент? Его хвост останется торчать в предыдущем сегменте. Это не вызовет особых проблем в случае если предыдущий сегмент линейный, но что если это развязка? Она будет заблокирована до тех пор пока этот поезд не уедет.
Более того, если у нас, например, квадратная сетка ЖД путей, мы можем теоретически получить дедлок — поезд не может выехать на развязку по причине, что она заблокирована, другой поезд подъезжает к хвосту первого, и тоже стоит перед развязкой, блокируя уже третий перекресток, и это будет продолжаться до тех пор, пока не замкнется квадрат. 4 поезда стоят, блокируя друг друга. Вы можете подумать, что это гипотетическая ситуация, для этого должно идеально совпасть время, в которое эти поезда подъедут в место X, но даже если вероятность этого крайне маленькая — однажды это случится. Поездов в вашей системе будет становится все больше, движение все насыщеннее, и в определенный момент где-то поезда совпадут.
Поэтому просто запомните правило — расстояние между развязками должно быть больше, чем самый длинный поезд который будет ездить по этой ветке!
Развязки — расстановка сигналов
В целом, при проектировании развязок можно руководствоваться тем же правилом — на въезде проходные сигналы, на выезде обычные. Но я хочу разобрать это немного подробней.
Когда поезд въезжает на развязку, он ее частично или полностью блокирует для других поездов. Поскольку это может создать пробки, важно чтобы поезд, въезжая на перекресток, имел возможность выехать с него. Ставим на каждом выезде обычный сигнал, а по всей развязке, и перед въездом — проходные. Если поезду требуется после развязки налево, а тот путь сейчас занят — поезд, при правильной конфигурации сигналов, будет ждать перед развязкой, пока путь не освободится.
Любая развязка, особенно сложная, как правило, предполагает возможность поворота любого поезда в любом направлении. Иногда даже разворот. Это выгодно с точки зрения построения кратчайшего маршрута, но превращает развязку, особенно если она четырехполосная, в мешанину из рельс.
Проектируя развязку, и расставляя на ней сигналы, попробуйте установить на нее поезд, и посмотреть, какие направления при этом будут заблокированы (красный сигнал). Идеально спроектированная развязка не должна мешать проезду других поездов. Например, если при правостороннем движении поезд идущий снизу поворачивает направо — он использует развязку, но оставляет свободными все пути кроме пути слева направо. Поезда идущие сверху вниз, справа налево, справа вверх или сверху налево — не должны останавливаться из за первого поезда.
Станции — настройка
Один из эффективных способов экономить топливо и не перегружать ЖД сеть — не гонять поезда порожняком. Я предпочитаю использовать LTN мод для более гибкой настройки, но сейчас расскажу о возможностях ванильной версии — их тоже вполне достаточно, чтобы организовать правильные транспортные потоки.
Как правило, первые эксперименты по настройке сводятся к условиям «Ждать полной загрузки» и «Ждать полной разгрузки», но они не дают достаточной гибкости. Поезд может стоять на станции по добыче руды, и ждать пока в него загрузят руду — а добыча истощилась. Поезд в результате бездействует, непрактично. Или ждет пока его разгрузят — а на переплавке перепроизводство, продукция никуда не идет и сундуки с рудой тоже забиты. В это же время, возможно, на другой станции руда требуется.
Для полноценного использования станций нам, во-первых, потребуется хак, о котором многие не знают — если станции названы одинаково, то поезд едет на любую из них. Во-вторых — логические цепи. Начнем с организации доставки угля, например, добывается он у нас в одном месте, но планируем добавить еще добычу. Потребляется в топливном блоке, на переплавке железа/меди/стали, и на производстве гранат. Итого у нас две станции поставки и пять станций потребления.
Для начала, именование. Назовем обе станции на которых мы загружаем уголь — «Добыча угля», а все станции на которых мы хотим выгружать уголь — «Выгрузка угля». Названия можете придумывать свои, главное, чтобы они повторялись. Теперь, если мы поставим поезду маршрут «Добыча угля» (Ждать полной погрузки) — «Выгрузка угля (Ждать полной разгрузки), поезд будет ездить к любой из этих станций. Но есть проблема — сначала он поедет к ближайшей добыче а от нее — к ближайшей выгрузке. Давайте это исправим.
Если мы присоединим провод к станции и к сундукам — мы можем настроить условие по которому станция будет работать. Для станции добычи нам требуется условие, что в сундуках достаточное количество угля для полной загрузки поезда. Я обычно использую двухвагонные поезда, поэтому ставлю условие включения — больше 4000 угля. Сундуки передают по проводам, сколько в них угля, и как только его накопится достаточно — станция заработает. Для станции выгрузки нам требуется условие, что в сундуках осталось мало угля. Например, мы хотим чтобы в них поддерживалось не менее 2000 угля — ставим условие: если угля меньше 2000, включаем станцию.
Что теперь происходит? Поезд едет к ближайшей включенной станции. Сначала он забрал уголь на ближайшей добыче, и отвез его на ближайшую выгрузку. Например, это оказалась плавка меди. Он вернулся к добыче, загрузился, и едет к ближайшей станции, но на переплавку меди только что выгрузили 4к угля, и она их не успела потребить, поэтому поезд отвез уголь на другую станцию выгрузки. Далее он опять едет за углем, но первая станция еще не успела добыть 4к угля, поэтому он едет на дальнюю. Если все станции отключены — поезд стоит на той, на которую приехал последней, и ждет.
Эту схему можно легко расширять — если первый поезд не справляется, мы добавляем второй с теми же настройками, и он тоже будет курсировать между двумя добычами и пятью выгрузками. Когда у нас появятся новые места добычи/потребления, мы просто называем их тем же именем, ставим логику, и они автоматом включаются в сеть. Так же можно добавить в маршрут станцию буфер — всегда включенную, на которой поезда заправляются топливом.
Самый сложный момент в данном разделе — это логические условия. Объяснение того, как они работают, выходит за рамки этого гайда, но внизу я оставлю ссылки на интересные ресурсы, где эту информацию вы сможете подчерпнуть.
Станции — буферы
Когда у вас на одном маршруте много поездов, они могут приехать к станции одновременно и выстроится в очередь на путях, блокируя движение другим поездам. Это не очень хорошо, поэтому для таких случаев увеличивают количество принимающих станций, а так же используют «буферы» из путей.
Выглядит это достаточно просто — от путей выходит отнорок в сторону, разделяется на требуемое количество линий, каждая из которых в длину позволяет вместить один или два поезда (опять же, учитывайте то, какие поезда у вас будут заезжать в этот буфер), а в конце эти линии опять сходятся и ведут на станцию.
Кажется, это самый короткий раздел, и достаточно простой — но он тоже поможет вам избежать лишних пробок.
Послесловие
Я очень надеюсь, что данное руководство поможет вам организовать большую, красивую и стабильно работающую железнодорожную логистическую сеть! Если я забыл рассказать о каком-то важном моменте, или что-то не совсем понятно, то спрашивайте в комментариях в Steam, отвечу или дополню это руководство.
Видео гайд по железным дорогам в Факторио
Мы наконец-то дождались выхода видео гайда от Федора — это лучшее руководство по ЖД в русском ютубе, а может быть и не только в русском!