![]() |
![]() |
|
|
Опции темы | Опции просмотра |
![]() |
#11 | |
Матёрый пользователь
|
![]() Цитата:
Что касается сборки маршрутов, предлагаю сделать это с помощью двухуровневого резервирвания, суть токова: Каждый поезд, следующий в пункт назначения, имеет перед собой две зоны резервации, в зависимости от типа и приоритета поезда. Первая зона простирается на достаточно большое расстояние и показывает планируемый для поезда маршрут. Если другой поезд тоже потребует резервирования маршрута конфликтующего с первым, право быть первым дается поезду с высшим приоритетом. Вторая зона резервации простирается на меньшее расстояние (я предполагаю 4-6 БУ), эта резервация в обычных условиях гарантированно принадлежит данному поезду и по ней уже собираются маршруты. Для такой системы трех стандартных приоритетов мало, нужно будет предусмотреть больше вариантов: высокоскоростное движение, скоростное, фирменное/премиум, скорый, пассажирский, пригородный, несколько типов грузовых — сквозные, сборные, участковые, рефрижераторные, виды маневровых: вывозная работа, маневры на станциях и т.п. Таким образом, к примеру, птичкам будет гарантироваться зеленая улица длиной 20 км, маневровый в пределах станции не займет маршрут через всю горловину, а грузовой автоматически встанет под обгон. А теперь перспективы платформы: Идя дальше, разумной становится идея расписаний поездов, по которым поездам назначаются приоритеты и маршруты. С их помощью уже реальна полностью автоматическое разруливание поездов, т.к. автоДСП (а стрелочные посты одной станции логично объединить) будет знать поездную обстановку и решать коллизии маршрутов. Более того, это позволит немного отойти от стандартной модели двухуровневого резервирования, к примеру, ДСП может пропустить маневровый, если его проследование займет пару минут, а поезд, зарезервировавший путь, еще далеко. И не надо говорить, что это нечто фантастическое и требует каких-то сложных решений с ИИ. На самом деле вся деятельность на железных дорогах строго регламентирована и четко делится на на отдельные задачи, которые, в свою очередь, также делятся, и в конце концов получаются атомарные задачи, которые решаются элементарно. Для примера, рассмотрим процесс формирования состава на сортировке. Готовые составы из парка С должны быть отправлены в парк О, где к ним прицепляется локомотив. Казалось бы, трудная задача, но пойдем по порядку. Итак, состав на пути Х парка С. Система формирования (назовем ее по аналогии автоДСПГ) запрашивает свободные вытяжные маневровые локомотивы, задает им маршрут к составу. Далее строит ему маршрут на нужный путь парка О. Затем запрашивает свободные локомотивы в депо и организует прицепку к составу. Все, поезд передается в руки автоДСП, его работа уже полностью описана. Как сортировать составы на горке? Каждый вагон имеет пункт назначения. Сборный или участковый собирает вагоны с ГР промежуточных станций, маневровые — с ПП предприятий, и ГР и предприятия назначают каждому вагону пункт назначения (а если вагон разгружен — то он передается в компетенцию системы распределения вагонов, назовем ее автоГрузовойДиспетчер, который отправляет вагоны под погрузку на другие предприятия). Поступая в приемный парк, состав переходит в компетенцию автоДСПГ, который сортирует вагоны по пункту назначения на нужные пути. Как выдавать локомотив и откуда их брать? На каждой станции формирования есть депо, где есть определенный запас тяги. Необходимое количество локов в депо поддерживает локомотивный диспетчер. Анализируя расписание и количество локов в депо он организует резервные, сплотки от туда, где избыток, туда, где недостаток. Отправляемой сплотке выдается маршрут, и она становится обычным поездом в ведении автоДСП. Несмотря на общую сложность системы, декомпозиция позволяет большой пирог разделить на маленькие кусочки, к каждому из которых назначается ответственный. Каждый объект отвечает за свою четко ограниченную область, применяя при этом строго ограниченный набор операций. В совокупности получается полноценный ЖД-комплекс. Это называется объектно-ориентированным подходом к моделированию. Несмотря на запредельный объем всей системы, ее реализация состоит из небольших шагов, первый из которых — данный стрелочный пост. Итак, для тех кто еще не врубился, здесь описана полноценная АСУЖТ с интерактивным миром. - Мир включает в себя предприятия, города и порталы. Они определяют вагонопотоки. Вагонопотоки, являются входными данными в нашей задаче. - Вагонопотоки по всей карте обрабатывает грузовой диспетчер. Он отслеживает события прибытия грузовых поездов/вагонов в пункт назначения, устанавливая пункт назначения разгруженных вагонов к погрузчикам. - Такие вагоны подбираются сборными/участковыми, которые организуются участковыми или сортировочными станциями. Местный автоДСПГ сортирует их, готовые составы выставляет в отправочные парки, отдавая их в руки автоДСП. - Пассажирские поезда ходят согласно расписанию, с достаточно постоянной составностью, поэтому глобальный диспетчер им не нужен. Лишь начальник пассажирской технической станции вносит свою лепту в их организацию, формируя составы нужной вместимости (исходя из пассажиропотока, который определяет сколько пассов хотят из А попасть в Б). Также он организует выставку готовых составов на пассажирскую станцию согласно расписанию, отдавая поезд в компетенцию автоДСП. - Стабильный подход локомотивов обеспечивается локомотивным диспетчером, который из мест с избытком отправляет сплотки в места с недостатком. - Ну и последнее звено — машинисты. Машинист здесь представляет собой методы ведения поездов различных типов, операции сцепки, расцепки, надвига и т.п. Получает указания он от ДСП. Одним из машинистов может стать... - Игрок, впрочем, игрок может стать кем угодно — глобальным диспетчером, отвечающим за распределение ресурсов по дороге, местным начальником, отвечающим за раздельный пункт — станцию, горку, депо, получающем приказы диспетчеров (ДНЦ, кстати, здесь оказывается ненужным — его функции реализовнаны двухуровневым резервированием маршрутов. Хотя он хорошо сработает в тех случаях, когда существует узел или сложный участок), да хоть стрелочником, для этого Владимиру потребуется лишь сделать так, чтобы его пост лишь отдавал приказы, а стрелки переводил игрок ![]() - Ну и на выходе получается — потоки + расписание = движение. Система полностью расширяема. Хотите перекрытия путей и ремонтных работ — реализуем диспетчера ремонта, который иногда организует окна и выезд поездов с ПМС ![]() Это все реализует мечту НикЛона — автоматическая бесконечная сессия с нелинейным сюжетом ![]() Или заядлого машиниста: загрузить сессию, получить случайный поезд с случайным маршрутом и, опять же, нелинейным сюжетом. Или автодиспетчер для МП. Или пульт ДСП. Много всего, короче. Я уже джва года хочу такую игру^W^W обдумываю этот план ![]() |
|
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Система для обдувки стрелок | Lex73 | TrainZ - Маршруты и сценарии | 2 | 17.01.2010 15:28 |
Система сообщений | TRam_ | TrainZ — Об игре | 3 | 09.08.2009 17:21 |
ЧС2-система | ЛЖД | MSTS - Подвижной состав | 21 | 16.04.2009 21:43 |
Не запускается игра (рестартует система) | Beholder | MSTS - Об игре | 7 | 28.03.2009 21:55 |
|
![]() Что это? |