Transport Tycoon навсегда!
новый открытый портал о транспортных стратегиях

Справочник по железным дорогам в Transport Tycoon Deluxe

Назад: Руководство по ЖД - часть 1 Вперёд: Полезные советы

© Uwe Domarati, оригинальную версию см. TTDX Railway Guide.

© Перевод Олег Попков и Real Stealth, перевод выполнен с полного согласия автора.

Справочник по железным дорогам в Transport Tycoon Deluxe

Содержание

Сигналы

Одной из наиболее интересных особенностей TTDX является сигнализация. Во многих других железнодорожных играх сигналов попросту нет, и поезда выбирают путь случайным образом, а случись двум составам оказаться на одном пути, они спокойно проезжают один сквозь другой без каких-либо повреждений. В Transport Tycoon правильное размещение сигналов практически также важно, как и строительство пути. Создание же сложных ж/д сетей, приносящих большие прибыли, без использования сигналов не возможно.

Типы сигналов

Типы сигналов
Одно - и двусторонние сигналы

В TTDX без TTDPatch имеются только два типа сигналов, одно- и двухсторонние. Разумеется, их отличие состоит в том, что односторонние сигналы можно проехать только с одной стороны. Любой поезд, встретивший односторонний сигнал, направленный в противоположную от него сторону, остановится и повернет в обратную сторону. Двухсторонние сигналы можно проехать с обеих сторон. Сигналы также оказывают влияние на алгоритм нахождения пути, об этом позже.

Использование односторонних сигналов позволяет создавать реалистичные конфигурации двух параллельных путей, в которых для каждого направления выделен отдельный путь.

Внимание: В этом Справочнике все иллюстрации предусматривают движение поезда по правому пути, так как это принято на дорогах в континентальной Европе и России.

Пресигналы
Входной, выходной и комбинированный пресигналы

TTDPatch позволяет использовать три вида предварительных сигналов (пресигналов), которые корректно работают в правильных сочетаниях. Эти сигналы отличаются от обычных и будут описаны ниже.

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


Следующая таблица показывает все типы сигналов, сгруппированные следующим образом (слева направо): семафор, маршрутный семафор, светофор, маршрутный светофор:

Стандартные сигналы Входной пресигнал
стандартные сигналы входной пресигнал
Выходной пресигнал\ Комбинированный пресигнал
выходной пресигнал комбинированный пресигнал

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

Терминология

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

сигнальный блок

Сигнальный блок состоит из всех участков пути между входными и выходными сигналами. В одном сигнальном блоке может быть до 255 сигналов, что, скорее всего, более чем достаточно. Могут быть и блоки без входных или выходных сигналов, так что поезд не сможет заехать или выехать, но такие схемы не имеют никакой практической пользы.

входной и выходной сигнал

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

Внимание: Все сигналы являются одновременно и входными, и выходными (выход из одного блока есть въезд в другой). Поэтому тип сигнала важен, скорее, для создания эффективной сигнализации.

Следующая таблица показывает несколько примеров сигнальных блоков:

простой блок один путь в три
самый простой сигнальный блок один путь разветвляется на три
Четыре в один Въезд и выезд
четыре пути сливаются в один въезд и выезд с одной стороны

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

Поведение сигналов

В Transport Tycoon сигнал может быть либо красным, либо зеленым, в зависимости от ряда условий. Это также относится как к пресигналам, так и к маршрутной сигнализации! Тип сигнала определяет только условия, при которых сигналы становятся красными или зелеными.

Стандартные сигналы

Стандартные сигналы

Стандартные сигналы показывают красный, если в сигнальном блоке за ними есть поезд. Т.о. в момент времени в одном сигнальном блоке может быть только один поезд.

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

Пресигналы

Пресигнал
Блок с пресигналами

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


На рисунке мы видим один выходной пресигнал (средний путь). Этот выходной сигнал красный, т.к. за ним есть поезд. Комбинированный сигнал также красный, потому что за ним находится поезд. Поскольку в блоке нет других выходных или комбинированных пресигналов, на входном пресигнале также горит красный – даже не смотря на то, что имеется ещё один (обычный) выходной сигнал. Этот сигнал не является ни выходным, ни комбинированным пресигналом, и т.о. не влияет на входной пресигнал. Как вы можете видеть, въезд в пресигнальный блок невозможен, пока левый и средний путь заняты.

Блок с пресигналами В этом примере мы видим два выходных пресигнала, один из которых красный. Входной пресигнал зелёный, поскольку в пресигнальном блоке нет поезда, и есть по крайней мере один зеленый выходной или комбинированный пресигнал.
Комбинированный пресигнал Комбинированный пресигнал работает, как комбинация выходного и входного пресигналов. На картинке комбинированный пресигнал является выходным для первого блока и входным для второго. Поскольку выход из второго блока красный, комбинированный сигнал тоже станет красным (в данном случае он работает, как входной пресигнал), что переключает и входной пресигнал первого блока, поскольку комбинированный сигнал является выходным для него. Т.о., входной пресигнал первого блока также красный.
Поведение Если из сигнального блока нет ни одного выходного (или комбинированного) пресигнала, входной пресигнал будет работать так же, как и обычный, равно как и односторонний комбинированный сигнал. Что же касается двустороннего комбинированного пресигнала, то он останется красным в случае, если из блока нет выхода или комбинированного пресигнала, вне зависимости от того, есть ли за ним поезд, или нет.

Маршрутная сигнализация

Маршрутная сигнализация

Маршрутная сигнализация (path-based signalling, PBS) впервые появилась в TTDPatch 2.0.1 Alpha 41. Она значительно улучшает игру, поскольку позволяет нескольким поездам находиться одновременно в одном сигнальном блоке. Таким образом, маршрутная сигнализация не только изменяет поведение сигналов, но и влияет на алгоритмы нахождения пути поездов.


Внимание! Из-за своей природы (а также из-за возможных ошибок в коде) использование маршрутной сигнализации может привести к железнодорожным авариям. Перед её использованием вам настоятельно рекомендуется ознакомиться со всей информацией по теме.

Маршрутную сигнализацию можно настроить при помощи ряда бинарных параметров файла ttdpatch.cfg.

Примечание: в последних альфа-версиях патча бинарные параметры настраиваются так:

<название ключа> . <название бинарного параметра> <on|off>

Здесь: название ключа - pathbasedsignalling, допустимые бинарные параметры перечислены ниже, значения, которые они могут принимать - это on (включено) и off (выключено).

autoconvertpresig

Если этот ключ включен (т.е. в конфигурационном файле есть такая строчка: pathbasedsignalling.autoconvertpresig on), все пресигналы автоматически преобразовываются в маршрутные. Автоматическое преобразование может привести к тому, что некоторые развязки, показанные в этом справочнике, работать не будут. Поэтому разумным выбором будет эту опцию отключить (pathbasedsignalling.autoconvertpresig off)

manualpbssig

Этот ключ позволяет устанавливать различные маршрутные сигналы вручную. Он включен по умолчанию и должен таковым оставаться.

preservemanualpresig (по умолчанию отключено)

Если пресигналы были настроены вручную, включение этой опции позволит гарантировать, что они не будут преробразованы в маршрутные. При желании их можно преобразовать вручную (если включен ключmanualpbssig). Используйте этот ключ для того, чтобы полностью контроллировать любые сигналы.

showreservedpath

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

shownonjunctionpath (по умолчанию отключено)

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

allowunsafejunction (по умолчанию отключено)

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

allowunsafereverse (по умолчанию отключено)

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

Когда маршрутная сигнализация включена, пресигналы в блоке можно преобразовать в маршрутные сигналы (PBS-block). По умолчанию TTDPatch преобразует все блоки с пресигналами в блоки с маршрутной сигнализацией. Однако это может привести к тому, что некоторые наборы сигналов больше не будут правильно работать, поэтому также предусмотрена возможность ручного изменения типа сигнала.

Чтобы выключить автоматическое преобразование пресигналов в маршрутные сигналы, в файле ttdpatch.cfg должна быть такая строка: "miscmods.noautomaticpbsblocks on". Описание развязок и сигналов в этом справочнике включает предупреждения о том, работают ли эти развязки с включённым режимом автоматического преобразования.

Внимание! Поскольку маршрутная сигнализация основывается на сигнальных блоках, для её работы нужно, чтобы все сигналы в блоке были маршрутными.

Маршрутная сигнализация несколько изменяет алгоритм нахождения пути для поездов. Вместо того, чтобы выбирать путь на стрелке, теперь этот алгоритм вызывается за одну клетку до прохождения блока маршрутных сигналов. Поезд резервирует путь, по которому он собирается пройти, и проследует по этому пути через маршрутный блок, не обращаясь более к алгоритму нахождения пути (поэтому даже если после этого освободится более подходящий путь, поезд уже не сможет им проследовать). Зарезервированный путь освобождается, когда по нему проследует последний вагон поезда.

Зарезервированный путь отображается затемнением на развязке. Другие участки пути также резервируются и могут отображаться затемнением.

Без специальных графических наборов, содержащих графику для маршрутных сигналов, эти сигналы будут выглядеть точно также, как и другие сигналы! Для выяснения типа сигнала можно использовать инструмент Query Land Tool (знак вопроса).

Поведение PBS Маршрутные пресигналы "выход" ведут себя так же, как и обычные выходные пресигналы. Входной сигнал в маршрутный блок работает так же, как и немаршрутный сигнал, в зависимости от типа (обычный или пресигнал) с одним существенным исключением. Если приближающийся поезд зарезервировал себе путь через развязку, такой сигнал будет зелёным. Рассмотрим картинку: левый поезд всё ещё в блоке, поэтому все входные сигналы красные, за исключением того, к которому приближается другой поезд. Поезд зарезервировал себе путь (это видно по затемнённому участку), поэтому этот входной сигнал зелёный. Если поезд не может зарезервировать путь через маршрутный блок, он остановится на красном сигнале.
Поведение PBS 2

Маршрутная сигнализация обходит функциональность пресигналов: если поезд, к примеру, может зарезервировать путь, он в любом случае заедет на развязку, даже если входной сигнал это пресигнал "вход", а все пресигналы "выход" красные. Из-за этого поезд даже может проследовать в ошибочном направлении!

На этой картинке все пресигналы "выход" красные, поэтому все пресигналы "вход" тоже красные. Тем не менее, из-за маршрутной сигнализации, поезд резервирует себе путь к единственному другому сигналу у выхода из блока и следует туда.

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

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

Алгоритм поиска пути

Перед тем, как изучить влияние сигналов на поведение поездов, важно вкратце ознакомиться с механизмом (алгоритмом), который осуществляет поиск пути поезда к следующей точке маршрута. Движение поезда можно воспринимать, как результат двух процессов: алгоритм поиска пути (АПП) указывает поезду, куда ехать, а сигналы указывают, когда ехать. Обычно оба этих процесса связаны, т.е. как только игрок начинает строить развязки и ставить сигналы, поезд может сдвинуться с места только в результате завершения обоих этих процессов.

В целом, АПП работает так: поезд "знает" свое местоположение и место назначения. Каждый раз, когда поезд оказывается на стрелке, он смотрит вперед и выбирает, куда ехать дальше. Это "смотрение вперед" ограничено и заканчивается либо на 7 квадрате развязки, либо на 64 квадрате простого пути, в зависимости от того, что встретится раньше. Если АПП находит место назначения таким образом, поезд выбирает путь к нему. Если же место назначения находится дальше, поезд выберет тот путь, который приведет его как можно ближе к нему. Тем не менее, это может привести к тому, что поезд выберет неправильный путь, который проходит ближе к месту назначения, но не связан с ним - в этом случае поезд может "застрять". Если это происходит, нужно использовать точки пути для улучшения железнодорожной сети.

Внимание! Поезд не планирует заранее, в какую сторону повернуть. Дальнейшее направление определяется на каждой стрелке, по которой поезд проходит. Точно также происходит и при использовании маршрутной сигнализации, хотя может показаться, что это не так.

Влияние сигналов

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

Поезд никогда не проедет красный сигнал! Он либо попытается найти другой путь, либо остановится, ожидая, пока сигнал станет зелёным. Поезд также никогда не проедет односторонний сигнал с неправильной стороны.

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

Сравнение односторонних и двухсторонних сигналов

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

Одно- и двусторонние сигналы

Рассмотрим картинку: поезда, приближающиеся к двум стрелкам, могут вести себя по-разному, несмотря на то, что единственная разница - выходные сигналы.

Двусторонние сигналы говорят поезду, что существуют несколько равнозначных вариантов выбора. Значит, если один из выходных сигналов красный, поезд выберет другой. Это позволяет поезду выбрать любую свободную платформу на станции, но не используйте двусторонние сигналы на стрелках, которые ведут в разные стороны!

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

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


Внимание! Если на станции только одна свободная платформа, поезд проследует на неё. Если все платформы заняты, поезд выберет одну и будет ждать перед красным сигналом, если только не используются пресигналы.

Назад: Руководство по ЖД - часть 1 Вперёд: Полезные советы