Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Маршруты и сценарии (http://www.trainsim.ru/forum/forumdisplay.php?f=24)
-   -   Система маршрутизации z7-xPath (Система расчёта поездных маршрутов стрелочная будка) (http://www.trainsim.ru/forum/showthread.php?t=11836)

TRam_ 23.09.2010 02:02

Система маршрутизации z7-xPath (Система расчёта поездных маршрутов стрелочная будка)
 
Ну, что такое расчёт поездных маршрутов между светофорами, думаю, каждый знакомый с z6 знает. Кроме того, существует правила ручного создания таких маршрутов - PathRule и ей подобные. Реальные диспетчеры, конечно, строят маршруты между парками (кусками пути, ограниченными светофорами/изостыками/стрелками), но, учитывая что любой парк, из которого возможен приём/отправление поезда, ограничен с 2х сторон светофорами (входные/выходные/маршрутные), в приближении игры будем строить маршруты именно между светофорами.

В данном случае собираюсь сделать гибрид из "архива маршрутов", генерируемого автоматически, и набора правил, позволяющих собирать маршруты (и, возможно, браузера типа z7 ДНЦ ).

В данном случае часть первая полностью готова - создана система, которая

а) собирает информацию о объектах, окружающих каждую стрелку и определяет положение последней - какой объект в пошёрстном направлении, какой справа, какой слева (без такой базы постройка маршрутов возможна - пример z6 - но тогда теряется перспектива поиска маневровых маршрутов во время игры, когда стрелки переводить нельзя). Кроме того, такая база позволяет помечать стрелки как "занятые", "готовящиеся к постройке по ним маршрута", "свободные" и т.п.
б) собирает информацию о всех поездных светофорах сигнализации z7 на карте (при этом сортирует их по принадлежности к станционному контроллеру, т.е. станции): их имя и тип.
в) согласно указаниям пользователя в меню:[INDENT]1) показывает весь список поездных светофоров выбранной станции
2) сортирует светофоры выбранной станции по названию
3) ищет все возможные маршруты от данного светофора с любыми положениями стрелок (веер графа проходится слева направо) до следующего светофора этой или другой станции (или до первого светофора перегона)
4) показывает список маршрутов для выбранного светофора, с указанием стрелок и положений этих стрелок
[/INDENT]г) может делиться своей базой данных с любым объектом, который это потребует (в будущем такими объектами станут команды машиниста/указания в браузере)


На данный момент "объект" выполнен в виде будки ПОНАБ, потому такое и название темы :). Но в дальнейшем, из-за трудности с поиском этой будки, надо будет переводить всё это в правило, вот это у вас и хочу спросить - надо не надо?

Выглядит сия будочка после инициализации

[URL=http://s003.radikal.ru/i203/1009/24/a79387476c8a.jpg][IMG]http://s003.radikal.ru/i203/1009/24/a79387476c8at.jpg[/IMG][/URL]

Время расчёта всех стрелок карты Москва-Нара - около 30 секунд,
время расчёта ВСЕХ поезных маршрутов Москвы-Киевской, Москвы-Сортировочной и Бекасово-Сортировочного - менее 15 минут. В процессе расчётов имеется возможность определить их текущий процент выполнения (правда с некоторой задержкой)

Damien Zhar 23.09.2010 02:15

Вот товарищ продуктивный нашёлся. А зачем это надо и как этим пользоватся объясни пожалуйста. Да так чтобы и шведам было понятно. И молодец что интерлицо сделал на английском.

Tramwayz 23.09.2010 02:34

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

Damien Zhar 23.09.2010 02:59

Я не прошу оптимизировать под шведов, просто объяснить зачем ээто. Да открыть возможно код для модификации, там сами разберутся. Но ведь не только заграничным гостям интерестно. Судя по тому что разрабатывает всё товарищ ТРам, то это будет эпично и изменит игру навсегда.

antikiller_bmrf 23.09.2010 09:42

Затем, чтобы не готовить маршруты в редакторе в pathrule или pathcontrol вручную, а сразу иметь список всевозможных маршрутов.
Я думаю будку лучше сделать или невидимой, или со сменой меша (желательно без ковыряния в смр)
Правло не надо.

genesis 23.09.2010 12:15

Нужно добавить возможность удалять ненужные маршруты.

P.S. ПОНАБ к стрелкам отношения не имеет :)

nppinto 23.09.2010 12:49

Очень любопытная и нужная вещица. А как обкатать можно?

Kompozitor 23.09.2010 13:54

[QUOTE=TRam_;203649]вот это у вас и хочу спросить - надо не надо?[/QUOTE]

[B]TRam_[/B], надо, надо, очень!!! Хоть будка, хоть правило. Команды, конечно же, нужны. Только бы не ваять вручную миллионы маршрутов, как в Patch Control!

TRam_ 23.09.2010 14:02

[QUOTE]Нужно добавить возможность удалять ненужные маршруты.[/QUOTE]я думаю, что лучше будет сделать выбор "приоритетного" маршрута, ведущего к необходимому светофору. Остальные будут включаться, если первый занят (при задании маршрута пользователь о них знать ничего не будет).

[QUOTE]P.S. ПОНАБ к стрелкам отношения не имеет[/QUOTE]да я ж знаю, но просто вставил скрипт в первый попавшийся объект. Вот и получилась законспирированный компьютерный центр ЭЦ :).

[QUOTE]А как обкатать можно?[/QUOTE]обкатывать можно будет, когда хоть одно правило к ней сделаю. А то смотреть на путь по стрелкам для каждого светофора карты конечно интересно, но бесполезно.

По поводу описания - будет мануал, а надписи в браузере в дальнейшем будут браться из string-table (чтобы можно было сделать английский/шведский/прочий варианты). Просто в скрипте на русском писать нельзя, потому и английские. Этот код, как и все предыдущие, зашифровывать не собираюсь.

NickLon 23.09.2010 20:40

Бррр, раз десять перечитал сабж, но, по-моему, мало что понял. Тогда начну с того, что и как понял я. Создается некий инструмент, который рассчитывает все возможные маршруты следования от каждого светофора до ближайшего. Как было в z6. Потом, с помощью командной строки даётся команда, типа "проехать от этого светофора до вооон того". И чтобы выполнить эту команду сей инструмент из рассчитанных маршрутов соберёт тот, по которому и поедет ПС. Тут разные вариации могут быть, как ехать и какой маршрут собрать (занят путь, блокирована стрелка etc.) То есть получается, что сей инструмент просто заменяет уже существующие Path Rule и Path Control. Я правильно сие всё понял?

genesis 23.09.2010 20:42

Будут откровенно мусорные маршруты, которые пройдут по десяткам съездов, которые быть может нужны другим поездам. Надо, надо удалять.

NickLon 23.09.2010 21:01

[QUOTE=genesis;203795]Будут откровенно мусорные маршруты, которые пройдут по десяткам съездов, которые быть может нужны другим поездам. Надо, надо удалять.[/QUOTE]
А как определить заранее, какой "мусорный" маршрут, а какой может ещё пригодиться?.. К примеру, в Path Control маршруты можно собирать в группы. И собираться они будут, в зависимости от занятости пути, по порядку, начиная с первого. Нечто подобное можно и здесь реализовать...
Но я пока жду ответ на свой предыдущий пост.

TRam_ 23.09.2010 21:28

По поводу команд... Мне кое-что в них не нравится: если поезд едет по управлением игрока, то при задании ему команды начинаются глюки: тормоз включается, поезд тормозится и т.п. Поэтому начну, так же как и varz, с браузера. Но команды обязательно будут, но уже во вторую очередь, так как не совсем пока понимаю как их делать. Кроме того, если в меню надо заранее загружать все объекты, то... Боюсь 20 000 маршрутов карты Москва-Нара трейнз может не потянуть


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

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

При этом маршрут собираюсь сделать с динамической разборкой, т.е. как только поезд съезжает со стрелки, маршрут над стрелкой разбирается.

Но ещё надо будет тестить неоткрытие сигнализации и Х-стрелки (ибо данная система ни первого, ни второго не видит).

[QUOTE]И собираться они будут, в зависимости от занятости пути, по порядку, начиная с первого.[/QUOTE]не знаю, хватит ли мне сил сделать систему упорядочивания маршрутов, новыбор "лучшего из возможных" при настройке обязательно сделаю. Ибо если часть горловины уже занята, то нет никакой гарантии, что удалённый нами маршрут будет тем единственным, который ведёт к нужному пути.

[QUOTE]Потом, с помощью командной строки даётся команда, типа "проехать от этого светофора до вооон того". И чтобы выполнить эту команду сей инструмент из рассчитанных маршрутов соберёт тот, по которому и поедет ПС.[/QUOTE]да, в дальнейшем именно так и собираюсь в конце-концов сделать, для ботов. Для игроков будет браузер, а если его не хватит - правила...

TRam_ 23.09.2010 21:44

Да, название придумал... "Система z7-xPath"

CFM 23.09.2010 21:45

1. Как игрой определяются основные/вариантные маршруты (длина)?
2. Будут ли маршруты разделены по этим критериям?
3. Выбирая маршрут между светофорами игра будет стараться, по возможности, выбрать основной маршрут, оставив вариантные "про запас"?
4. Можно ли будет вручную редактировать маршруты?
5. Задавать "от светофора к светофору" можно будет только элементарный или сложный маршрут тоже?
6. Было бы хорошо для сборки маршрута иметь возможность вводить имена двух светофоров в окошки.
7. Также было бы необходимо размыкать (не разбирать, т.к. стрелки в реале остаются в последнем заданном положении) маршрут после прохода поезда, либо отмены маршрута. Это необходимо для разблокирования стрелок и перекрытия светофора - чтобы разрешением для открытия был только замкнутый и свободный маршрут (если поездной), а не наличие перед ним машиниста и т.д.
8. Что с просчётом маневровых маршрутов?


Текущее время: 15:29. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim