Перейти к содержанию
ERITKOM
ИгрыПрактика

Почему поезда стоят в OpenTTD: станция, сигналы и расписание отвечают за разное

Практический разбор транспортной сети по руководству проекта: пути задают геометрию, приказы — обслуживание, сигналы — безопасное движение, а Cargodist — назначение грузов.

Транспортная сеть на стартовой сцене OpenTTD 15.3 с OpenGFX
OpenTTD / OpenGFX; снимок theki. Источник. Разрешение проекта на обзоры; GPLv2. Размер и формат адаптированы. Изменены размер и формат.

Станция — место работы, а не просто участок рельсов

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

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

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

Путевой сигнал резервирует маршрут

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

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

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

Приказы определяют, что делать с грузом

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

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

Другой уровень приказов относится к остановкам по пути. Non-stop позволяет миновать промежуточные станции, а Go via использует точку как часть маршрута без обычного обслуживания. Общие приказы связывают несколько транспортных средств одним изменяемым перечнем, тогда как копия создаёт самостоятельный список. Поэтому одинаковое название конечной станции ещё не доказывает, что два поезда выполняют одну и ту же работу. Важны условия каждой остановки и характер связи между их приказами.

Несколько окон управления транспортом в исторической версии OpenTTD, снимок 2011 года
Несколько окон управления транспортом в исторической версии OpenTTD, снимок 2011 года. OpenTTD и авторы открытых графических наборов; снимок Dasy2k1. Исторический снимок 2011 года, GPLv2+. Размер и формат адаптированы. Изменены размер и формат.

Контрольная точка управляет направлением движения

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

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

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

Какую задачу решает каждый механизм
МеханизмРешаетНе заменяет
Станция Погрузка и выгрузка Планирование всего маршрута
Приказы Действия транспорта в пунктах Свободные подходы к платформам
Путевой сигнал Резервирование безопасного пути Контрольные точки маршрута
Waypoint Выбор участка движения Разрешение проезда занятого участка
Расписание Время движения и остановок Физическую пропускную способность
Cargodist Назначения и пересадки грузов Транспортные связи между пунктами

Источник: OpenTTD Manual; сопоставление с разделами Signals, Orders, Timetable и Cargodist

Расписание регулирует время, а не создаёт свободный путь

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

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

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

Cargodist добавляет грузам собственные назначения

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

Для видов груза предусмотрены ручной, симметричный и асимметричный режимы. Симметричный стремится связать встречные потоки, но не создаёт одинаковый спрос там, где источники принципиально различаются. Асимметричный не требует такого соответствия. Распределение учитывает достижимые направления, а не автоматически все пункты карты.

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

Пример развитой сети OpenTTD 1.2.0 с графическим набором OpenGFX, исторический снимок 2012 года
Пример развитой сети OpenTTD 1.2.0 с графическим набором OpenGFX, исторический снимок 2012 года. Авторы OpenTTD / OpenGFX. Снимок версии 1.2.0, GPLv2+. Размер и формат адаптированы. Изменены размер и формат.

Источники

Принципы журнала и исправления.

ERITKOM / НОВЫЙ ПРОЕКТ

Расскажите о задаче и оставьте контакты. Мы свяжемся с вами, чтобы обсудить проект.

  1. 01 Контакты
  2. 02 Ваша задача