Патч DeliverGoodsToIndustry

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

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

Патч DeliverGoodsToIndustry

Сообщение pi1985 » Вт янв 15, 2013 14:35

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

Пара скринов
«ТрансСиб ЖД», 1941-03-05.png
Склады до разгрузки
«ТрансСиб ЖД», 1941-03-06.png
Склады после разгрузки
Вложения
DeliverGoods.zip
(740 байт) Скачиваний: 194
pi1985
Президент
Президент
 
Сообщения: 675
Зарегистрирован: Вт апр 03, 2012 23:10
Откуда: Донбассъ - Забайкалье

Re: Патч DeliverGoodsToIndustry

Сообщение Andrej » Пт янв 18, 2013 20:22

Пожалуй я его добавлю в свою сборку.
Пожалуйста, не обращайтесь ко мне на ВЫ.
Аватара пользователя
Andrej
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Вт май 25, 2010 16:39
Откуда: Россия Самара

Re: Патч DeliverGoodsToIndustry

Сообщение Anthrax » Сб янв 19, 2013 19:53

Andrej писал(а):Пожалуй я его добавлю в свою сборку.

Вот этот патч обязательно добавь:
http://www.tt-forums.net/viewtopic.php?t=33625

Самое важное, что было в последнее время, а он здесь только в общественной сборке от Анона есть.
Будьте реалистами, требуйте невозможного!
Аватара пользователя
Anthrax
Диспетчер
Диспетчер
 
Сообщения: 140
Зарегистрирован: Сб июн 30, 2007 17:04
Откуда: Москва

Re: Патч DeliverGoodsToIndustry

Сообщение Regeneration » Сб фев 02, 2013 14:29

Anthrax писал(а):
Andrej писал(а):Пожалуй я его добавлю в свою сборку.

Вот этот патч обязательно добавь:
http://www.tt-forums.net/viewtopic.php?t=33625

Самое важное, что было в последнее время, а он здесь только в общественной сборке от Анона есть.


Полюбому)) Из-за нехватки этого патча лень более-менее приличную ЖД-сеть создавать
Home, sweet home...
Аватара пользователя
Regeneration
Начальник станции
Начальник станции
 
Сообщения: 95
Зарегистрирован: Чт фев 10, 2011 21:42
Откуда: Украина / Ивано-Франковск

Re: Патч DeliverGoodsToIndustry

Сообщение Simozzz » Вт фев 05, 2013 20:26

Этот бы патч в официальную ветку пропихнуть... Вечно с ECS мучаюсь с трансфером перед конечным пунктом.
Участник проэкта Ruauto(временно заморожен) и набора УЖД для ТТДП.
Аватара пользователя
Simozzz
Президент
Президент
 
Сообщения: 748
Зарегистрирован: Ср янв 09, 2008 22:10
Откуда: Москва

Re: Патч DeliverGoodsToIndustry

Сообщение kraks » Ср фев 06, 2013 14:38

Simozzz писал(а):Этот бы патч в официальную ветку пропихнуть...

Может его в качестве предложения сюда записать?
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Re: Патч DeliverGoodsToIndustry

Сообщение Ghost » Ср фев 06, 2013 18:36

Simozzz писал(а):Этот бы патч в официальную ветку пропихнуть... Вечно с ECS мучаюсь с трансфером перед конечным пунктом.

Не спеши. Распределение грузов, похоже, производится по кругу. Если хватило одному предприятию, то не факт, что хватит другому. Или хватит, но не столько, на сколько рассчитывал. Регулировать раздачу никак, автомат зашит. Зачем тогда такое нужно? Проще, как раньше, свозить на одну станцию, а дальше регулировать плотностью потока последней мили.
Ghost
Директор
Директор
 
Сообщения: 384
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: Патч DeliverGoodsToIndustry

Сообщение Anthrax » Ср фев 06, 2013 20:16

В официальную ветку пропихнуть бы патч, что я указывал. :roll:
Будьте реалистами, требуйте невозможного!
Аватара пользователя
Anthrax
Диспетчер
Диспетчер
 
Сообщения: 140
Зарегистрирован: Сб июн 30, 2007 17:04
Откуда: Москва

Re: Патч DeliverGoodsToIndustry

Сообщение kraks » Ср фев 06, 2013 20:19

Ну так напиши в той ветке... :roll: Тут-то кто это прочитает?
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Re: Патч DeliverGoodsToIndustry

Сообщение Anthrax » Ср фев 06, 2013 20:29

У меня с ингишем проблемы. если перевести английский текст гуглом каким-нить еще смогу, то написать целый запрос/петицию - это уже для меня большая проблема. :(
Будьте реалистами, требуйте невозможного!
Аватара пользователя
Anthrax
Диспетчер
Диспетчер
 
Сообщения: 140
Зарегистрирован: Сб июн 30, 2007 17:04
Откуда: Москва

Re: Патч DeliverGoodsToIndustry

Сообщение pi1985 » Чт фев 07, 2013 14:49

Ghost писал(а):Распределение грузов, похоже, производится по кругу.

Это как? Можно подробнее?

Ghost писал(а):Если хватило одному предприятию, то не факт, что хватит другому. Или хватит, но не столько, на сколько рассчитывал. Регулировать раздачу никак, автомат зашит.

Насколько я понял, то груз распределяется не между предприятиями, а между станциями. И если я правильно понял, то количество генерируемого груза не зависит от потребности конкретного предприятия. Даже, если предприятие не принимает груз, то он всё равно генерируется на него.
В принципе, без этого патча груз сначала поставляется на ближайшее предприятие, когда оно перестанет принимать груз, то на следующее и т. д. Однако, тогда второе и последующие предприятия могут вообще не работать. А если на них ещё и поставляется другой груз, то возникнет затык из-за неравномерной поставки грузов (например, если на стекольный завод поставлять только песок, то он будет работать ну очень медленно и склад очень быстро переполнится). Из-за этого страдает связанная производственная цепочка. Кроме того, если, к примеру, лесопилка выдаёт недостаточно лесоматериалов для бумажной и мебельной фабрик одновременно, то может нужно прокачать леса? Кстати, материалов всё равно не хватит, даже если их распределять на несколько станций. Но опять же, появляется эффект, описанный выше (наличие груза там, где он в данный момент не нужен). Поэтому, как по мне, то лучше, если груз со станции равномерно уходит на все предприятия.
Да и это не такой большой патч, так что можно сделать настройку, которая отключает его.
А запрос в багзиллу отправил.
pi1985
Президент
Президент
 
Сообщения: 675
Зарегистрирован: Вт апр 03, 2012 23:10
Откуда: Донбассъ - Забайкалье

Re: Патч DeliverGoodsToIndustry

Сообщение Ghost » Чт фев 07, 2013 21:27

pi1985 писал(а):
Ghost писал(а):Распределение грузов, похоже, производится по кругу.

Это как? Можно подробнее?

А вот так. Есть список точек, которые принимают конкретный груз. Как он формируется ядром, я не смотрел. Предположим, что он просто есть. Сначала единица груза выгружается на первую точку, потом на вторую и т.д. по единице списывается на каждую точку. Если груз не принимается (например, по причине переполненности складов), то точка назначения пропускается. Получается практически уравниловка в распределении.

pi1985 писал(а):
Ghost писал(а):Если хватило одному предприятию, то не факт, что хватит другому. Или хватит, но не столько, на сколько рассчитывал. Регулировать раздачу никак, автомат зашит.

Насколько я понял, то груз распределяется не между предприятиями, а между станциями. И если я правильно понял, то количество генерируемого груза не зависит от потребности конкретного предприятия. Даже, если предприятие не принимает груз, то он всё равно генерируется на него. ...

Что значит "груз генерируется"? Это в каргодисте груз может иметь определенное назначение. А без него груз просто вырабатывает и поставляется на станцию, потом поступает на другую станцию и потребляется (по возможности).

Вот кусочек кода, прямо из патча.
Код: Выделить всё
      
/* Insert the industry into _cargo_delivery_destinations, if not yet contained */
_cargo_delivery_destinations.Include(ind);

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

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

Например, если брать ЕЦС, то зерновые могут одновременно потреблять продуктовый завод, животноводческая ферма и пивзавод (версия 0.9). Двое из троих еще и фрукты могут потреблять. А мне не нужен этот пивзавод, нужен только продуктовый. А он в случае недопоставок сырья имеет склонность к закрытию. А патч будет кидать привезенное зерно везде поровну. Аналогично - по потребителям угля (электростанция и металлургический комбинат). У меня в игре даже была такая ситуация, пришлось станцию непонятно где строить. Мне по цепочке электростанция не нужна, а патч кидал бы уголь в обе точки.

Вот, собственно, я о чем. Распределять поровну - немного лучше, чем по стандарту. Но если опция встроенная, то надо предусматривать возможность ее отключения. И плюс доработать, чтобы пропорции распределения зависели комплексно от текущего фактического потребления и величины склада. Если нет спроса на продукцию, то предприятие не увеличивает объемы производства. Соответственно, кидаем на него, но чуть-чуть. При равенстве потребления ресурса кидаем туда, где склад больше, т.к. это, как правило, говорит о более высоком уровне предприятия и его большей чувствительности к уменьшению поставок. Пример с углем это не разрешит, а вот пример с зерном - очень даже.
Ghost
Директор
Директор
 
Сообщения: 384
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: Патч DeliverGoodsToIndustry

Сообщение pi1985 » Пт фев 08, 2013 20:00

Надо подумать... :?
pi1985
Президент
Президент
 
Сообщения: 675
Зарегистрирован: Вт апр 03, 2012 23:10
Откуда: Донбассъ - Забайкалье

Re: Патч DeliverGoodsToIndustry

Сообщение pi1985 » Вт мар 05, 2013 11:34

В общем, полагаю, что лучшим выходом будет задание количества груза, отгружаемого на предприятие. Например, на Консервный завод отгружаем 10% стали, на Завод - 50% и остаток (40%) - на автомобильный завод.
Однако, как такое реализовать, я пока не представляю.
А вообще, было бы хорошо, чтобы грузы распределялись не между станциями, а предприятиями.
Ещё придумалось. Наверное, тоже будет хорошо, если бы игрок мог сам запрещать станции принимать груз от предприятия. Например, если в районе сталелитейного завода есть две станции. Одна собственно для завода - приёмо-отправочная, а вторая - пассажирская. Если случайный поезд за сталью заедет на пассажирскую станцию, то она будет принимать сталь с завода не зависимо от того, забирают её или нет.
pi1985
Президент
Президент
 
Сообщения: 675
Зарегистрирован: Вт апр 03, 2012 23:10
Откуда: Донбассъ - Забайкалье

Re: Патч DeliverGoodsToIndustry

Сообщение Vaulter » Пт авг 02, 2013 12:07

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


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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 1

cron