Оформление приоритизации путей

Вопросы разработки OpenTTD, обсуждение новых сборок и патчей, решение проблем новых версий.

Модераторы: Smoky555, Группа модераторов

Re: Оформление приоритизации путей

Сообщение C01d » Вт ноя 17, 2009 20:35

Не угадали - программист детектед. :D

Программисты разные бывают... Кто-то на пхп быдлокодит, кто-то работает в интеле и делает прошивки для биосов - и все себя программерами называют.

И половину дел уж точно не перекладывает.

Он считает за вас по три миллиарда операций в секунду.
Если не устраивает такой ответ - то: он качает вам данные из интернета, интерпретирует HTML-страничку, рисует идеальные рисунки на принтере (имеем ввиду под словом "компьютер" сам сис. блок и всю периферию), оптимизирует процесс ввода данных, т.д...

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

Дело в том, что диспетчер управляет всем в реальном времени, а мы едва ли успеем перенаправить один поезд за игровой день.
Циферки же эмулируют того самого диспетчера, который раньше просто двигал стрелки в соответствии с сигналами, а теперь понимает, куда лучше направить поезд.

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

Вот в этом логика есть.

_____
Ну не хотите - как хотите.
Аватара пользователя
C01d
Начальник станции
Начальник станции
 
Сообщения: 72
Зарегистрирован: Сб авг 30, 2008 11:17

Re: Оформление приоритизации путей

Сообщение Wowan » Вт ноя 17, 2009 22:11

Логика есть в том, что назреет конфликт с YAPF - в OTTD уже есть довольно сложная система выбора пути, которая основана на определенной стоимости каждого элемента. Поезд выбирает тот путь, где меньше поворотов, станций, где станции достаточной длины, где светофоры обычные односторонние, а не двунаправленные ПМС и т.д. Как все это будет согласоваться с идеей приоритизации путей - вопрос.

А главное - я до сих пор не понимаю, зачем. Если УЖЕ есть точки пути, которые позволяют сортировать поезда по любым веткам и направлениям. Уже есть пресигналы, которые позволяют занимать тот путь на развилке, который не занят - ну совершенно то же самое, что предлагаете вы, C01d, направить поезд туда, где не занято. Достаточно поставить пресигналы на развилке, где некий главный путь разделяется на красный, синий и зеленый - а можно и вообще ничего не расставлять, все равно поезд поедет прямо, если свободно, или свернет на равнозначный путь, если прямой занят.
Вот конкретный пример.
"Сверху вниз" - трехпутный перегон, ведет к крупной станции. Два левых пути однонаправленные. В начале перегона стоят точки пути, разрешающие движение по крайнему левому пути грузовым поездам и электричкам, по среднему - поездам дальнего следования. В том месте (сверху скрина), где поезд сворачивает на боковой путь, есть съезд на развязку и кольцевую магистраль вокруг города (двухпутный перегон "слева-направо") или возможность ПДСам съехать на крайний правый путь. Собственно, они не будут съезжать, если пределах видимости впереди на среднем пути нет попутного поезда. Если же есть - ПДС съедет на крайний правый путь. Всё. Зачем здесь еще какая-то приоритизация? Чтобы на подъезде к вокзалу весьма многочисленные здесь (около 20 пар в сторону вокзала + около 10 пар транзитных, съезжающих на окружную дорогу) поезда толпились на одном пути? А смысл в этом какой?
Вложения
crop.jpg
Аватара пользователя
Wowan
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1383
Зарегистрирован: Вт сен 18, 2007 14:43
Откуда: трасса М1, Минск — Москва

Re: Оформление приоритизации путей

Сообщение C01d » Чт ноя 19, 2009 17:19

Сказал же - не хотите, как хотите.
Аватара пользователя
C01d
Начальник станции
Начальник станции
 
Сообщения: 72
Зарегистрирован: Сб авг 30, 2008 11:17

Re: Оформление приоритизации путей

Сообщение 65536 » Ср дек 09, 2009 10:13

специально зарегился чтоб про надобность приоритетов написать))

нужная штука бы была)) то что вы говорите чтоб число от 0 до 9999 я как понял вы имеете ввиду относительный приоритет друг к другу двух сходящихся путей. это бы прокатило если поезда ездили строго по расписанию, но ездят они как попало и имеют свойство скапливаться и рассредотачиваться в разных частях транспортной системы волнами то там то там. поэтому задавать точный приоритет для конкретного пути бессмысленно и актуальным он будет тока пока его задаёшь, а когда плотность поездов на подъезде к перекрестку с разных направлений изменится заданный приоритет этот может помешать только

я задавал вот так приоритет
http://i49.tinypic.com/255jd6c.png

чтоб было понятней http://i49.tinypic.com/2rpqmiu.png это кусок кольцевой дороги с разворотом, там слева сверху перед разворотом куча всяких станций и поворота налево (по ходу движения) нет ни на одну и все кто на эти станции слева сверху едет, едут в разворот и потом сворачивают направо на станции свои, так же и со станций едут тока направо и там в другом развороте если кому надо разворачиваются и едут мимо разворота с и чтоб им не стоять перед разворотом, разворачивающиеся поезда должны не тупить, даже если им придется пропустить один поезд то пока они стоят и разгоняются всё может заклинить, поэтому у разворота приоритет должен быть больше. по дефолту в игре они проходят перекрестки по очереди равномерно в среднем и если нагрузка разная с разных направлений, то хвост очереди на перекресток становится очень длинным с того напраления где больше едет. вот я не первой картинке проложил железку поперек чтоб замыкала соседние пути, так чтоб пока в этом развороте поезда едут (у них маршрутный пмс перед железкой замыкающей и им пофигу), правые 2 полосы стояли и ждали (у них просто светофоры). они едут только когда в развороте никого нет, и строго по очереди, то есть сначала выезжает один, 2й ждет и если на "главной" (в развороте) никого не появилось то тоже трогается. разворачивающимся если и приходится ждать, то тока как исчезнет с перекрестка половина уже разогнавшегося поезда со второстепенных дорог.

вот по вашей шкале получается задал я приоритет разворту 9000 гдето)), равносильно знаку "уступите", стало всё нормально ехать, но периодически на второстепенных дорогах скапливаюся слишком длинные очереди и тусуются до тех пор пока не пройдет волна разворачивающихся. но там не критично и пофигу, лучше потерять немного в скорости чем внезапно выясняется что там пробка 10 лет уже))

вобщем я к тому что статичный приоритет требовал бы диспетчеризации и пришлось бы постоянно менять в зависимости от ситуации, я думаю круто было бы еслиб можно было ставить чтото типа датчиков хвоста пробки на разных направлениях въезда на перекресток и привязывать к светофорам на въездах в перекресток, чтоб если датчик на направлении А сигналит о том что в нем постоянно находится поезд то светофор на перекрестке для направления Б загорался красным до тех пор пока в клетке с датчиком на направлении А поезда подолгу не тусовались. ну а в случае если оба датчика А Б заклиненные то перекресток работал бы в штатном режиме 50/50.

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

а таким способом как я делал слишком громоздко и непросто подобрать че как замкнуть чтоб распределить как надо, и это статичный приоритет и дина хвоста пробки всеравно будет колебаться
65536
Пассажир
Пассажир
 
Сообщения: 2
Зарегистрирован: Ср дек 09, 2009 08:30

Re: Оформление приоритизации путей

Сообщение Mihamster » Ср дек 09, 2009 11:36

я задавал вот так приоритет

это в корне неверное создание приоритетов....
по сути никакой приоритезации и нет.

таким образом вы лишь "раздвигаете" поток поездов и только....

для приоритезации используются только ПБС.... максимум + ПМС.... одними обычными светофорами ни каких приоритетов не выйдет!
Табито?Мэитадору
.....свобода каждого заканчивается там.. где начинается несвобода другого...
"Осваиваем Опен"
Аватара пользователя
Mihamster
Президент
Президент
 
Сообщения: 949
Зарегистрирован: Вт апр 29, 2008 23:06
Откуда: Москва

Re: Оформление приоритизации путей

Сообщение Engineer_Keen » Ср дек 09, 2009 11:53

Mihamster писал(а):по сути никакой приоритезации и нет.

таким образом вы лишь "раздвигаете" поток поездов и только....

для приоритезации используются только ПБС.... максимум + ПМС.... одними обычными светофорами ни каких приоритетов не выйдет!


По моему приоритет все таки получается (у разворачивающихся перед проезжающими справа-налево), так как для разворачивающихся стоят ПМС сигналы. Хотя ИМХО используя ПБС можно было бы сделать эту развязку проще...
Аватара пользователя
Engineer_Keen
Президент
Президент
 
Сообщения: 574
Зарегистрирован: Пн мар 17, 2008 22:24
Откуда: Москва

Re: Оформление приоритизации путей

Сообщение Mihamster » Ср дек 09, 2009 15:15

а.... пмс не разглядел....
Табито?Мэитадору
.....свобода каждого заканчивается там.. где начинается несвобода другого...
"Осваиваем Опен"
Аватара пользователя
Mihamster
Президент
Президент
 
Сообщения: 949
Зарегистрирован: Вт апр 29, 2008 23:06
Откуда: Москва

Re: Оформление приоритизации путей

Сообщение 65536 » Ср дек 09, 2009 18:17

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

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

а я кстати этими пбсами и тд так и не научился пользваться, тока первым и пятым пользуюсь))
65536
Пассажир
Пассажир
 
Сообщения: 2
Зарегистрирован: Ср дек 09, 2009 08:30

Re: Оформление приоритизации путей

Сообщение perk11 » Пн май 17, 2010 04:14

Наткнулся на похожий патч http://www.tt-forums.net/viewtopic.php?t=30118
perk11
Директор
Директор
 
Сообщения: 291
Зарегистрирован: Ср апр 21, 2010 00:03
Откуда: Москва, Новороссийск

Re: Оформление приоритизации путей

Сообщение Mihamster » Пн май 17, 2010 16:54

программируемые точки пути решают те же вопросы, только имхо они удобнее...
Табито?Мэитадору
.....свобода каждого заканчивается там.. где начинается несвобода другого...
"Осваиваем Опен"
Аватара пользователя
Mihamster
Президент
Президент
 
Сообщения: 949
Зарегистрирован: Вт апр 29, 2008 23:06
Откуда: Москва

Re: Оформление приоритизации путей

Сообщение Vaulter » Чт янв 27, 2011 23:00

Mihamster писал(а):программируемые точки пути решают те же вопросы, только имхо они удобнее...

Да, у них можно задавать "пенальти", а не просто зеленый красный как у светофоров
Здоровье приносит ту свободу, которую очень немногие понимают, пока не теряют его.
skype: andrey-zaharov
Аватара пользователя
Vaulter
Директор
Директор
 
Сообщения: 439
Зарегистрирован: Вт авг 02, 2005 14:35
Откуда: Санкт-Петербург

Пред.

Вернуться в Разработка OpenTTD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6