Задний ход поездов и отцепляемые вагоны

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

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

Задний ход поездов и отцепляемые вагоны

Сообщение Quark » Ср янв 03, 2007 09:03

http://www.tt-forums.net/viewtopic.php?t=29393

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

Голосуем на англоязычном форуме.
Последний раз редактировалось Quark Чт янв 04, 2007 17:57, всего редактировалось 1 раз.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Quark » Ср янв 03, 2007 11:11

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

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

Ух ты!!! Вот это здорово было бы! А получится ли реализовать такой алгоритм, что состав, пришедший на конечную станцию вытягивает маневровый локомотив, переставляет на другие пути, куда потом подходит и подцепляет состав магистральный локомитв?
Аватара пользователя
Finn
Шпалоукладчик
Шпалоукладчик
 
Сообщения: 8
Зарегистрирован: Ср май 03, 2006 13:54

Было, Однако Я Напомню [:|||||||:]

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

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

Особо эффектно будет с предложенным мною патчем. Груз от меслких станций доставляется на лёгких дрезинках, а далее - тяжёлыми сцепами.
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

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

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

Сообщение kraks » Ср янв 03, 2007 19:34

В добавок к описанной идее хочу предложить следующее.

1. Меня всегда удивляло, зачем разработчики наборов локомотивов создают маневровые паровозы/тепловозы? В существующей ситуации они практически не нужны.

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

3. "Магистральный" хватает все сцепки вагонов, маршрут которых совпадает с его маршрутом. Таким образом, в начале игры можно экономить на локомотивах: поезда - 2, а локомотив - 1. Пока он одну сцепку возит, другая грузится и денюжки при этом не жрет.

4. "Маневровый" обслуживает станции и "вызволяет" локомотивы, попавшие в "безвыходное" положение (например, станция в виде тупика - согласитесь, не всегда удается реализовать проходную - прибыл поезд, надо оттащить вагоны в "стояк" - депо, высвободить "магистральный" локомотив, вернуть их назад)
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Сообщение kraks » Ср янв 03, 2007 20:18

Иллюстрации к "магистральным" / "маневровым" локомотивам :)
Вложения
Image1.jpg
"магистральный" привез состав на станцию, идет разгрузка
Image1.jpg (189.44 Кб) Просмотров: 18526
Image2.jpg
"маневровый" выехал из депо, забрал состав, "освобождая" "магистрального"
Image2.jpg (198.17 Кб) Просмотров: 18520
Image3.jpg
"магистральный" отправляется в депо
Image3.jpg (198 Кб) Просмотров: 18517
Последний раз редактировалось kraks Ср янв 03, 2007 20:23, всего редактировалось 1 раз.
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Сообщение kraks » Ср янв 03, 2007 20:21

Иллюстрации часть 2
Вложения
Image4.jpg
"маневровый" подает состав под посадку
Image4.jpg (198.16 Кб) Просмотров: 18508
Image5.jpg
идет посадка, подается "магистральный" локомотив
Image5.jpg (198.38 Кб) Просмотров: 18525
Image6.jpg
"магистральный" повез состав к пункту назначения, "маневровый" задним ходом отправился в депо
Image6.jpg (197.99 Кб) Просмотров: 18507
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Сообщение Quark » Ср янв 03, 2007 23:23

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

Сообщение kraks » Чт янв 04, 2007 03:12

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

Функциональность же "магистральных" локомотивов полностью описывается твоим предложением. Я вижу ее так: если на станции есть состав с тем же маршрутом, что и у локомотива, то он цепляется к нему (если их несколько, то к наиболее заполненному, если заполнены одинаково, то к наиболее рано прибывшему, ну и естественно, речь идет о составах, не имеющих "магистральных" локомотивов и не EMU или DMU). Далее тащит его по маршруту согласно установок маршрута (понятно, что если загрузить или выждать на станции - выполнять). Если на станции нет таких составов или к ним нельзя проехать напрямую, то заезжает в депо. Если состав с совпадающим маршрутом один, то локомотив от него не отцепляется, не анализируя никакие условия.

Так я понял идею? Или может нет? )) Кстати, если все это реализовать, то можно сделать настройку разворота поезда кроме "в конце пути и на станции" и "только в конце пути" добавить еще "не разворачиваться". Тогда и задний ход пригодится.
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Сообщение Quark » Чт янв 04, 2007 09:42

Просто в моём варианте стык с вагонами производился бы только если у них локомотива нету. А так надо подумать как два локомотива объединить, кто из них будет главным и что делать с листом маршрута.

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

Маршруты типа «приехать на станцию, взять то, что можно отвезти к следующему пункту и ехать туда» надо определить как можно запрограммировать, тут ведь должны быть два маршрутных листа тогда — у локомотива и у вагонов.

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

Сообщение Pk » Чт янв 04, 2007 09:43

Не всегда заплатка даёт эффект. Иногда требуются более значительные изменения.

Как такое:
[локомотив][сцеп 1][сцеп 2][сцеп N] - магистральный поезд
[вагон 1][вагон 2][вагон N] - сцеп вагонов
[сцеп 1][сцеп 2][сцеп N] - состав

У каждого сцепа свой путевой лист. Сцепы цепляются на поезда с подходящими ордерами в вэй-листе ЛИБО с указанными номерами.
Цепляются все сцепы, подходящие по размерам/разрешённые к подцепке.

[offtop]
Замечание к внешнему виду: окошки ТС уже загружены до нельзя, как насчёт ниспадающих меню?
[/offtop]

А вот идея с подцепкой с другой стороны.. интересно!
Так, а если организовать тупики? Чтобы сцепы и составы при транзите не мешались загонять их в тупик и пусть они ждут, когда приедет локомотив.
Границы тупика - спереди синий светофор, сзади - упор, либо ещё один светофор. Гаснет, если за ним стоит сцеп.

Не всегда заплатка даёт эффект. Иногда требуются более значительные изменения.
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

Сообщение Pk » Чт янв 04, 2007 09:49

Quark писал(а):Просто в моём варианте стык с вагонами производился бы только если у них локомотива нету. А так надо подумать как два локомотива объединить, кто из них будет главным и что делать с листом маршрута.


Главный - головной, либо более высокого ранга.

Да повесить три флага и не мучаться - зелёный, жёлтый и красный. Для маневровых - синий.

Оригинальный вариант столкновения на низких скоростях =)!
Два поезда вынуждены ехать в ближайшее депо, чтобы расцепиться.

Алгоритм сцепления:
IF spd < V THEN GO SUB add
IF spd>V AND spd<Vcrush THEN GO SUB break
IF spd>Vcrush THEN GO SUB crush
Последний раз редактировалось Pk Чт янв 04, 2007 10:22, всего редактировалось 1 раз.
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

Сообщение Quark » Чт янв 04, 2007 09:54

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

P.S. кстати, Pk, а на каком языке программирования вы приводите примеры?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Pk » Чт янв 04, 2007 10:23

1) Я понимаю, что каждый директор Ашана (коммунарка) - сканеровщик, но не каждый сканеровщик - директор.

2) S-basik образца 1989 года. Пока что единственный язык (кроме ассемблера) устраивающий меня по орфографии и логике.
Вернее, его модификация, которую мы пытаемся варганить в институте.

Было сказано в другом топике: "Потому что неэффективно вкладывать много усилий ради такой цели, когда им есть лучшее приложение"
Например с девушкой в постели, lol.

Не нравится бешенное к-во кода? сначала попиши без библиотек (научишься придумывать новые ходы), затем перпрограммируй С (оно это вроде поддерживает) на более удобный язык.
Какой основной минус Сионистских языков? длинные слова. И чисто эстетическая точка с запятой на конце. Вот кто мешает приравнять "ЕОЛ" к " ; " за 20-то лет!? Или мне будут говорить, что надо много кода?
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

След.

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

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

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

cron