pi1985 писал(а):Ghost писал(а):Распределение грузов, похоже, производится по кругу.
Это как? Можно подробнее?
А вот так. Есть список точек, которые принимают конкретный груз. Как он формируется ядром, я не смотрел. Предположим, что он просто есть. Сначала единица груза выгружается на первую точку, потом на вторую и т.д. по единице списывается на каждую точку. Если груз не принимается (например, по причине переполненности складов), то точка назначения пропускается. Получается практически уравниловка в распределении.
pi1985 писал(а):Ghost писал(а):Если хватило одному предприятию, то не факт, что хватит другому. Или хватит, но не столько, на сколько рассчитывал. Регулировать раздачу никак, автомат зашит.
Насколько я понял, то груз распределяется не между предприятиями, а между станциями. И если я правильно понял, то количество генерируемого груза не зависит от потребности конкретного предприятия. Даже, если предприятие не принимает груз, то он всё равно генерируется на него. ...
Что значит "груз генерируется"? Это в каргодисте груз может иметь определенное назначение. А без него груз просто вырабатывает и поставляется на станцию, потом поступает на другую станцию и потребляется (по возможности).
Вот кусочек кода, прямо из патча.
- Код: Выделить всё
/* Insert the industry into _cargo_delivery_destinations, if not yet contained */
_cargo_delivery_destinations.Include(ind);
Надо Либо не верить комментарию, либо понимать следующим образом. Груз прибывает на станцию. Далее движок смотрит, находит предприятие и весь груз передает на его склад. Если склад переполнен, видимо, делается попытка передать на другое предприятие. Если предприятий не находится, груз остается на станции. Не блеск, даже наоборот. Патч ситуацию немного выравнивает в том плане, что всем сестрам по серьгам достается, за исключением братьев.
Но что делать в ситуации, когда потребности каждого из предприятий не могут быть полностью удовлетворены однократной поставкой (один состав, например)? Получается, что не учитывается фактическая емкость складов каждого из предприятий (косвенного показателя потребности груза), либо потребленного за предыдущий период (прямой показатель потребности). Т.е. если потребность предприятий предполагается неравная, одно будет наполняться больше в относительном исчислении, другое меньше, что тоже не есть хорошо. Прямым следствием такой реализации является ситуация, когда в силу каких-либо причин станция покрывает двух и более потребителей одного и того же груза, из которых в реальности обслуживаемым (по мысли игрока) является только один.
Например, если брать ЕЦС, то зерновые могут одновременно потреблять продуктовый завод, животноводческая ферма и пивзавод (версия 0.9). Двое из троих еще и фрукты могут потреблять. А мне не нужен этот пивзавод, нужен только продуктовый. А он в случае недопоставок сырья имеет склонность к закрытию. А патч будет кидать привезенное зерно везде поровну. Аналогично - по потребителям угля (электростанция и металлургический комбинат). У меня в игре даже была такая ситуация, пришлось станцию непонятно где строить. Мне по цепочке электростанция не нужна, а патч кидал бы уголь в обе точки.
Вот, собственно, я о чем. Распределять поровну - немного лучше, чем по стандарту. Но если опция встроенная, то надо предусматривать возможность ее отключения. И плюс доработать, чтобы пропорции распределения зависели комплексно от текущего фактического потребления и величины склада. Если нет спроса на продукцию, то предприятие не увеличивает объемы производства. Соответственно, кидаем на него, но чуть-чуть. При равенстве потребления ресурса кидаем туда, где склад больше, т.к. это, как правило, говорит о более высоком уровне предприятия и его большей чувствительности к уменьшению поставок. Пример с углем это не разрешит, а вот пример с зерном - очень даже.