А так ли нужны светофоры?

OpenTTD - современная игра, клон Transport Tycoon Deluxe с открытым исходным кодом, написанный на C и С++. Содержит ряд ключевых улучшений и возможность игры по сети. На данный момент это главное направление развития игры.

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

А так ли нужны светофоры?

Сообщение Neko » Ср янв 17, 2007 03:40

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

Что это может нам дать.
Представьте себе, что едущий поезд включил фары и освещает себе путь на несколько клеток вперёд. Т.е. каждый поезд видит и анализирует обстановку на несколько клеток впереди себя.
Если в поле его зрения попадает впередиидущий поезд, то наш поезд может принять решение уравнять при необходимости свою скорость с врередиедущим, чтобы не оттдавить ему хвост.
Получается, что фонари на перегонах нам уже не нужны. Фонари останутся только различного рода сочленениях рельсов (перекрёстки, разводки у станций и проч.).
Фонари на мостах тоже уже не нужны, несколько поездов на мосту спокойно могут ехать, уравнивая свои скорости.
С туннелями сложнее. В туннелях (только не пугайтесь и не падайте), рельсов ваще НЕТ. Есть чиста математические расчёты текущего положения поезда. Но, если внедрить в эти расчёты эти же анализируемые клетки впереди поезда, то и в туннели можно будет засовывать сразу несколько поездов.
Ну, а про другие возможности использования интерфейса между программой и YAPF я уже писал.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Neko » Ср янв 17, 2007 04:32

Только жалко расставаться с фонарями на рельсах - красивость сразу пропадёт.
Скорее всего, эту возможность следует оставить для реализации многопоездовых мостов и туннелей.
И для создания перекрёсктов с возможностью одновременного движения на непересекющихся маршрутах.
Вспомните, что в 0.5.0 не будет PBS. Значит создание нечта аналогичного острая потребность есть.
Если у кого свободные руки, умеющие программировать есть, то присоединяйтесь. Пропахать немало надо.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Jureth » Ср янв 17, 2007 06:25

Мне чиста интересно, а если впередиидущий поезд идёт, скажем так, навстречу? А сзади ещё один(*n, где n - любое число) напирает?
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Сообщение Neko » Ср янв 17, 2007 08:22

Jureth писал(а):Мне чиста интересно, а если впередиидущий поезд идёт, скажем так, навстречу? А сзади ещё один(*n, где n - любое число) напирает?


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

2) Если имеем стопочку поездов, едущих гуськом друг за другом, то дистанции между ними, скажем, в 2-3 клетки будет вполне достаточно, чтобы каждый последующий поезд синхронизировал свою скорость с впередиедущим.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Jureth » Ср янв 17, 2007 13:56

А-а-а, пардон. Мне показалось, что ты вообще светофоры убрать предлагаешь.

Но это будет работать только на участках м/ду светофорами и не имеющих ответвлений/перекрёстков?
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Сообщение Oleg » Ср янв 17, 2007 14:19

Вопрос, конечно, интересный. А как быть с реализмом: ТТД тем и отличается от Railroad Tycoon, Transport Giant и т.п. изделий наличием возможности строить интересные жд-развязки за счет сигналов? Да и на настоящей железной дороге двух поездов в одном блоке либо перегоне быть не может.
С уважением,
Администратор сайта Transport Tycoon навсегда!
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 2336
Зарегистрирован: Чт сен 02, 2004 11:49
Откуда: Москва

Сообщение Quark » Ср янв 17, 2007 14:33

Между прочим, эта логика часть работы PBS, только там поезд не просто смотрит на впереди стоящие клетки, а еще и резервирует их под себя, так что идущий по соседней ветки поезд не сможет ему перейти дорогу — тут надо задействовать алгоритмы балансировки YAPF, где зарезрвированным клеткам начисляется штраф и по возможности ищется другой путь, а если еще смотреть освободится ли путь и не займёт ли его кто прямоидущий… вобщем надо определиться как будет реализован PBS и делать его вместе с разработчиками YAPF :)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Quark » Ср янв 17, 2007 14:37

Oleg писал(а):Вопрос, конечно, интересный. А как быть с реализмом: ТТД тем и отличается от Railroad Tycoon, Transport Giant и т.п. изделий наличием возможности строить интересные жд-развязки за счет сигналов? Да и на настоящей железной дороге двух поездов в одном блоке либо перегоне быть не может.
Возможность строить развязки останется — с помощью светофоров можно определять приоритетные линии и много чего еще, кстати, разработчик SpeedSignals снова решил продолжить их разработку :) (после отказа от MiniIN)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Neko » Ср янв 17, 2007 15:16

Oleg писал(а):...наличием возможности строить интересные жд-развязки за счет сигналов?


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

Oleg писал(а):Да и на настоящей железной дороге двух поездов в одном блоке либо перегоне быть не может.


А разве в большом Патче нет возможности двум поездам ехать одновременно в одном сигнальном блоке, если у них маршруты не пересекаются.
А я думал, что в Опен эта фишка пришла из большого Патча.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Quark » Ср янв 17, 2007 15:39

«Да и на настоящей железной дороге двух поездов в одном блоке либо перегоне быть не может.» — в игре просто на маленьком участке нужного количества светофоров не разместить и логику их работы подробно не расписать, поэтому просто предполагаем что при включении PBS включаются дополнительные «невидимые» светофоры, которые не видны лишь по техническим причинам :)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Oleg » Ср янв 17, 2007 16:03

2Neko
Технически и с точки зрения настоящих ж/д поезда на разных путях находятся в двух разных блоках, перекрестный съезд границей блока не является и за пределами станции по идее вообще встречаться не должен. В TTDPatch это, как ты правильно заметил, реализовано с помощью PBS. ты же предлагаешь двум поездам следовать по одному пути в пределах одного сигнального блока, что противоречит ИСИ:) К слову, на настоящих жд блоком как правило является целый перегон между станциями, если, конечно, не установлена автоблокировка - так что в ттд уже с этим намного проще.

Кстати, на настоящих жд таких депо, чтобы в них заезжал грузовой поезд целиком, просто нет. Поэтому в TTD приходится выбирать, что ближе - реалистичные развязки на 10 поездов или нереалистичные - на 100. Кому что нравится, зачем тут спорить. Мне для нужного количества поездов хватает и 256х256, и в светофорах я недостатка не вижу.
С уважением,
Администратор сайта Transport Tycoon навсегда!
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 2336
Зарегистрирован: Чт сен 02, 2004 11:49
Откуда: Москва

Сообщение Neko » Ср янв 17, 2007 16:27

Quark писал(а):...вобщем надо определиться как будет реализован PBS и делать его вместе с разработчиками YAPF :)


Большая просьба поразговаривать с автором YAPF по поводу судьбы аналога PBS, хотя бы в простейшем варианте:
1) перекрёсток двухколеек
2) одновременный въезд/выез со станции при стандартной разводке.

Будет ли и в какие сроки проведены подобные работы.

Я бы и сам, дя язЫков необучен - меня иностранцы хорошо понимают только в единственном случае - когда я автомат Калашникова передёргиваю.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Neko » Ср янв 17, 2007 16:37

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


Я такого не говорил. Я ратую за реализацию возможностей PBS в том виде, в котором они у нас в Опене были, т.е. два поезда могут одновременно ехать в сигнальном блоке, каждый по СВОЕЙ колее, при условии, что их пути в этом сигнальном блоке не пересекаются, дабы не передавить друг дружку.
Просто ты неверно понял мою невнятно выраженную мысль.
Револьвер - лучший аргумент в любом споре
Аватара пользователя
Neko
Президент
Президент
 
Сообщения: 750
Зарегистрирован: Чт окт 13, 2005 12:23
Откуда: Москва

Сообщение Quark » Ср янв 17, 2007 17:15

«Если в поле его зрения попадает впередиидущий поезд, то наш поезд может принять решение уравнять при необходимости свою скорость с врередиедущим, чтобы не оттдавить ему хвост.» — вот тут идёт речь о двух поездах в одном сигнальном блоке :) идея кстати очень хорошая, если даже и ставить светофоры на каждой клетке, то скорости не уравниваются
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Oleg » Ср янв 17, 2007 17:38

Есть ещё забавный вариант. На РЖД есть такой знак, который разрешает тяжелому товарному поезду проследовать запрещающий сигнал светофора, в том случае если путь имеет тяжелый профиль и если после остановки перед этим сигналом поезд не сможет тронуться с места. В этом случае поезд может проследовать запрещающий сигнал на пониженной скорости и с готовностью остановиться в случае возникновения препятствия (в данном случае - хвоста другого поезда).

ИМХО такой тип сигнала был бы полезен. И, разумеется, нужны варианты по ограничению скорости на перегоне в целом и для конкретного поезда в частности. Вот как бы я (если бы был программером) стал решать эту задачу, вместо того чтобы пускать поезда подобно трамваем вообще без сигналов. Реальному товарняку может понадобиться километр (и не один) для экстренной остановке, а вы предлагаете осматривать несколько клеточек впереди?
С уважением,
Администратор сайта Transport Tycoon навсегда!
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 2336
Зарегистрирован: Чт сен 02, 2004 11:49
Откуда: Москва

След.

Вернуться в Общие вопросы по OpenTTD

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

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