Странности Трансфера

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

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

Странности Трансфера

Сообщение Странник » Сб мар 24, 2012 02:07

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

Итак ситуация первая: Два города: Город "А", город "Н". Город А лежит на материке, а город Н на большом острове, в его глубине, на расстоянии 15-20 клеток. Расстояние между городами больше 60 клеток. В городе А есть железнодорожная станция объедененая с причалом. Я решил чтобы долго не мучиться организовать трансфер и перевозить пассажиров судами на остров. На берегу поставил автобусную остановку объедененую с причалом. Автобус перевозит пассажиров от этой остановки в город. Но вот что интересно, судно привозило на остров пассажиров и эта часть трансфера оплачивалась как обычно. А вот автобус который перевозил пассажиров в город имел отрицательный доход. От -100 000 тысяч. Если же пассажиры ехали из города Н в город А то оплата приносила положительный доход, все оплачивалось как обычно. Автобус из города получал доход 30 000 тысяч рублей трансфера, а судно - + 400 000. Поскольку маршрут между городами был транферным, то я хоть и был немного удивлен тем что автобус от трансферной станции в город Н приносил отрицательный доход, но не понял в чем было дело пока не наступила вторая ситуация. Здесь должен заметить что трансферный маршрут, например, в район лова работает нормально и приносит только положительный доход.

Ситуация вторая: В принципе все тоже самое, есть город А, есть город Н который лежит на полуострове, но маршрут между ними не трансферный, а прямой. Суда идут из города А в город Н и обратно. Но с оплатой происходит та же самая картина. Если судно идет из города А в город Н то это считается как обычная перевозка, а соответственно и оплата. Но если судно идет из города Н то перевозка считается трансферной, но приносит отрицательный доход равный, примерно, половине от трансфера. Мне это тоже показалось очень странным и я решил докопаться до истины.

Истина заключалось в том что как и в первом случае, как и во втором была возможность без терраформа и поднятия и опускания земли вдоль берега построить мост и подвести железную дорогу. Постороить в городе Н железнодорожную станцию. После того как я провел ж\д путь до города Н и построил в этом городе ж\д станцию все встало на свои места и отрицательный доход у ТС перевозивщих пассажиров между городами А и Н изчез. Перевозка пассажиров из города Н перестала считатся трансферной. В итоге получается так что если бы не было возможности провести железную дорогу или автомобильную в город Н, то перевозка пассажиров из этого города не считалась бы трансферной. И не оплачивалась как трансфер. Получается, что хочешь, не хочешь, а ж\д станцию приходиться строить. Получается маленькая принудиловка. Правда у меня в игре включен кагордист, может оттого и случаютя те ситуации которые описаны выше. Замечу так же что при создании новой карты я ставлю количество морей и озер на максимум, карта 512 на 512, а ландшафт на Terragenesis.
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва

Re: Странности Трансфера

Сообщение kraks » Сб мар 24, 2012 08:29

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

Re: Странности Трансфера

Сообщение Ghost » Сб мар 24, 2012 10:35

kraks писал(а): Например, мне не понятно, как это на прямом маршруте появился вдруг трансфер.

Он же написал, что у него каргодист. Тут-то все как раз понятно - в зоне досягаемости одной из остановок есть приемник пассажиров, вот и едет часть пассажиров в этот приемник. А часть - на другую станцию, получается трансфер.

И вот тут добавлю один момент, который народ обычно не учитывает. Я, когда столкнулся с чем-то подобным, его попытался исследовать, пока на уровне поведения в игре (сразу оговорюсь, что сборка 1.0.4 от anon'а; возможно, что-то с тех пор в карго поменялось). В чем отличие унарных ТС (пароход, авто) от поездов? В том, что в поездах несколько ячеек для хранения грузов, т.е. несколько вагонов. А в пароходах-самолетах-авто - одна, по сути. У меня есть подозрение, что всем пассажирам в одном ТС задается один пункт назначения, несмотря на каргодист.

Пример. Есть плавбаза (район лова). Есть три порта, которые его обслуживают. Есть пароходики, которые плавают от каждого из портов к плавбазе (ПБ), напрямую порта между собой не соединены. Получаем схему "звезда". Далее стабильно наблюдаю следующую ситуацию. На причале города 1 (Г1) есть народ, который хочет ехать и в Г2, и в Г3, и на ПБ. Направление Г1-Г2 самое емкое, далее Г1-ПБ, далее Г1-Г3. Подходит пароходик, грузит народ. Смотрю по распределению - убывают все три направления, т.е. забирается народ и для Г2, и Г3, и ПБ. Далее пароходик идет к ПБ и выгружает народ. И вот тут самое интересное. Где-то один рейс из 4 происходит полная выгрузка народа без трансфера, а все пассажиры появляются как работники на ПБ. Т.е. как будто они все хотели ехать на ПБ. Остальные рейсы - весь пароход при выгрузке на ПБ вдруг начинает хотеть ехать в Г2. За час наблюдения в реальном времени ни разу никто не захотел ехать в Г3... Другой пароход с ПБ забирает всех и везет в Г2, где выполняет выгрузку без трансфера.

Я могу только таким образом объяснить эту ситуацию. Для таких средств нет возможности задать направление для всех пассажиров, потому направлением считается то, куда больше всего народа захотело ехать. Т.е. у меня получается, что 1 раз из 4 больше пассажиров имеют направление на ПБ, остальные 3 - в Г2. В Г3 всегда садится меньше любого другого. Вот и получается, что либо в Г2, либо в ПБ. Для автобусов, судя по всему, ситуация та же. Для односекционных трамваев - то же самое, для многосекционных - не знаю, не пробовал. Для поездов гораздо лучше ситуация - там задается назначение на уровне вагона, вагонов несколько, потому больше разнообразие.

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

Re: Странности Трансфера

Сообщение kraks » Сб мар 24, 2012 11:10

Ghost писал(а):
kraks писал(а): Например, мне не понятно, как это на прямом маршруте появился вдруг трансфер.

Он же написал, что у него каргодист. Тут-то все как раз понятно - в зоне досягаемости одной из остановок есть приемник пассажиров, вот и едет часть пассажиров в этот приемник. А часть - на другую станцию, получается трансфер.

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

Странности Трансфера

Сообщение Lewapard » Сб мар 24, 2012 12:33

Ghost писал(а):Проблема описывается, как будто это отвлеченный эксперимент, а получается, что там за рамками описанного еще куча всего.

Даже внутри замкнутой системы может произойти подобное. Дело в том, что у Каргодиста 2 недостатка:
1) Граф связей не является векторным. Т.е. если товар доставляется из пункта А в пункт Б, то алгоритм считает, что возможно и обратное передвижение товара.
Пример: есть 2 фермы, между ними животноводческая ферма и отдельно стоит пищевой завод. На завод зерно перевозится трансфертом: машинами до ж/д станции, а потом поездом. У меня было 5 маршрутов: Ферма1-Жифотноводч.ферма, Ферма2-Животноводч. ферма, Ферма1-Ж/д, Ферма2-Ж/д, Ж/д станция-завод.
Только вот каргодист для перемещения зерна на пищевой завод пытался еще использовать маршруты, типа Ферма1-Животноводч.ферма-Ферма2-Ж/д станция-Завод.
2) Товар на станции грузится в зависимости от того, через какие станции идет поезд, а не "на каких станциях поезд разгружается".
Пример: Ж/д_станция1 обслуживает Сталелитейный и Цементный заводы, Ж/д_станция2 - Угольную шахту и Строительную компанию, Ж/д_станция3 - Строительную компанию и Железный рудник.
Были 2 маршрута перевозки цемента Ж/д1 - Ж/д2 ; Ж/д1 - Ж/д3 (забирает руду)
Проблемы начались после того, как я задал маршрут следования поезда: Ж/д1 - Ж/д2 - Ж/д3, чтобы одновременно забирать мощным локомотивом и железную руду, и уголь. Рудник не обеспечивал достаточное кол-во железа, чтобы полностью заполнить состав. На Ж/д1 такой состав грузился цементом, предназначенным для обеих станций, а так как Ж/д3 намного дальше Ж/д2, то трансферт до Ж/д2 начал приносить отрицательный доход, при этом уменьшив грузоперевозки по направлению Ж/д1 - Ж/д3.

В обоих случаях нет никаких других маршрутов, которые могут повлиять на прибыль ТС.
Lewapard
Шпалоукладчик
Шпалоукладчик
 
Сообщения: 21
Зарегистрирован: Ср дек 14, 2011 14:09

Re: Странности Трансфера

Сообщение Странник » Сб мар 24, 2012 23:25

Вот я и хотел бы понять, а поскольку описанные мной ситуации возникли в процессе игры, то я задался тем же вопросом что Kraks. Хотелось бы понять что это на самом деле: обычный баг, ошибка кагордиста, то что описал Lewapard или проявление машинного интелекта. А может и ещё что-то. Пока не совсем понятно. В ситуации номер 2 которую я описывал маршрут то прямой из города в город. То есть от причала к причалу. Посмотрите на скриншнот. Точно такой же маршрут из города Рысево в город Урдома, но при этом это обычный марщрут, и никакого трансфера там нет. Просто он значительно короче. Вот я и хотел бы понять почему когда в городе Н не было ж\д станции то суда приносили отрицательный доход, а перевозки из этого города считались трансферными.

p2.jpg
Точно такой же маршрут как и описанный мной в ситуации № 2. Карта маршрута и прилегающих окрестностей.
p2.jpg (23.06 Кб) Просмотров: 7877


p3_1.jpg
А вот тот самый маршрут который я описывал в ситуации № 2. Прошу прощения забыл включить показ GRF связей.
p3_1.jpg (24.06 Кб) Просмотров: 7877
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва

Re: Странности Трансфера

Сообщение kraks » Вс мар 25, 2012 00:20

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

Re: Странности Трансфера

Сообщение Ghost » Вс мар 25, 2012 13:29

Странник писал(а):Вот я и хотел бы понять, а поскольку описанные мной ситуации возникли в процессе игры, то я задался тем же вопросом что Kraks. Хотелось бы понять что это на самом деле: обычный баг, ошибка кагордиста, то что описал Lewapard или проявление машинного интелекта. А может и ещё что-то. Пока не совсем понятно. В ситуации номер 2 которую я описывал маршрут то прямой из города в город. То есть от причала к причалу. Посмотрите на скриншнот. Точно такой же маршрут из города Рысево в город Урдома, но при этом это обычный марщрут, и никакого трансфера там нет. Просто он значительно короче. Вот я и хотел бы понять почему когда в городе Н не было ж\д станции то суда приносили отрицательный доход, а перевозки из этого города считались трансферными.

Картинку с городом Урдома запости. Ж/д вокзал и пристань - это единая станция? Есть вариант, что пока была только пристань, транзит был единственным способом доставить народ до города, т.к. в зоне досягаемости пристани нет потребности в пассажирах. Когда появилась станция, в зоне ее охвата появилась потребность, и доставка получилась напрямую.
Ghost
Директор
Директор
 
Сообщения: 385
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: Странности Трансфера

Сообщение Edd.Dragon » Вс мар 25, 2012 13:42

1. Ну вопрос с с отрицательным доходом уже ж разбирали. При трансферах игра не в курсе, где я в конце-концов высажу груз, и на промежуточной остановке показывает прибыль от начала до этой остановки. А на конечной - от начала до конечной (по прямой естественно и с учетом нового времени), поэтому на промежуточной остановке мог образоваться трансфер в 500 000, а позже на конечной уже получается 400 000. Итог: -100 000. Но это ж не убыток в 100 000. Сначала были учтены +500, потом из них - -100. На экране мы увидели -100, а счет пополнился на +400. Все в порядке. Ну и чтобы меньше портить статистику вот таким "убыточным" ТС, можно уменьшить настройку "% дохода от частичной перевозки". 75% по умолчанию может быть многовато. Т.е. 3/4 уходит в зачет частичных перевозчиков, а лишь 1/4 последнему, что может оказаться меньше суммы корректировки. А при 50% ТС при том же маршруте уже может быть доходным.

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


2. Каргодист при перегрузке кратчайших маршрутов вполне может посылать грузы через какие-нибудь круговые/неадекватные маршруты, по уму - убыточные. Чтобы не допускать этого, единственный надежный способ - обеспечивать достаточную пропускную способность сети. А так, можно поиграть с настройками. Может чем поможет.

1) Граф связей не является векторным. Т.е. если товар доставляется из пункта А в пункт Б, то алгоритм считает, что возможно и обратное передвижение товара.

Если я доставляю груз из A в Б и НЕ говорю "не грузиться" в Б, то что должен считать алгоритм?
Если ж ни одно ТС в Б не имеет возможности загрузиться, то CD не будет рисовать линию B-A. Он таки векторный. Отобрази граф не на миникарте, а на основной, чтобы лучше видеть - рисуется две линии - в одну и в обратную сторону. Или одна - если перевозка в обратную невозможна.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Странности Трансфера

Сообщение Edd.Dragon » Вс мар 25, 2012 14:10

Вот примерно так:

Изображение

Таким образом, первый поезд прибыльный (3-1=2 ед.), а второй - убыточен (0.5 - 1 = -0.5 ед.). Т.е. получается, что прибыль за весь маршрут распределяется не равномерно. При уменьшении нормы до 50% будет более равномерное распределение.

Так же получается, что весь маршрут приносит 3.5 ед. прибыли и требует 2 ед. расходов и времени 2х (на самом деле больше, с учетом погрузок и синхронизации расписаний).
При прямом маршруте потребовалось бы времени Х и расход в 1 ед, а прибыль составила бы 4 ед. Т.е. получили бы вдвое больше (3 ед против 1.5 ед) за вдвое меньшее время.

Может где чего попутал с начислениями, но суть, думаю, понятна. При чем этот алгоритм - оригинальный и каргодист в нем ничего не меняет. Каргодист только распределяет грузы и все. Но распределить при перегруженных линиях может так:

Изображение
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Странности Трансфера

Сообщение Wowan » Вс мар 25, 2012 17:27

Насколько я понимаю, Fonso то ли обещал, то ли уже сделал поддержку трансфера в каких-то последних сборках Каргодиста.
Аватара пользователя
Wowan
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1383
Зарегистрирован: Вт сен 18, 2007 14:43
Откуда: трасса М1, Минск — Москва

Re: Странности Трансфера

Сообщение Edd.Dragon » Вс мар 25, 2012 17:56

Wowan писал(а):Насколько я понимаю, Fonso то ли обещал, то ли уже сделал поддержку трансфера в каких-то последних сборках Каргодиста.

Это не отменяет проблем, описанных в первом сообщении.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Странности Трансфера

Сообщение Странник » Вт мар 27, 2012 15:36

Ghost писал(а):
Странник писал(а):Вот я и хотел бы понять, а поскольку описанные мной ситуации возникли в процессе игры, то я задался тем же вопросом что Kraks. Хотелось бы понять что это на самом деле: обычный баг, ошибка кагордиста, то что описал Lewapard или проявление машинного интелекта. А может и ещё что-то. Пока не совсем понятно. В ситуации номер 2 которую я описывал маршрут то прямой из города в город. То есть от причала к причалу. Посмотрите на скриншнот. Точно такой же маршрут из города Рысево в город Урдома, но при этом это обычный марщрут, и никакого трансфера там нет. Просто он значительно короче. Вот я и хотел бы понять почему когда в городе Н не было ж\д станции то суда приносили отрицательный доход, а перевозки из этого города считались трансферными.

Картинку с городом Урдома запости. Ж/д вокзал и пристань - это единая станция? Есть вариант, что пока была только пристань, транзит был единственным способом доставить народ до города, т.к. в зоне досягаемости пристани нет потребности в пассажирах. Когда появилась станция, в зоне ее охвата появилась потребность, и доставка получилась напрямую.


Да, в городе Урдома ж\д станция и причал строились одновременно. А вот в случае с городом Н ж\д станция была пристроена к причалу значительно позднее, когда выяснилось что суда приносят отрицательный доход.

Павино Transport, 18.04.1937_1.jpg
Город Урдом
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва

Re: Странности Трансфера

Сообщение Странник » Вт мар 27, 2012 22:17

Edd.Dragon, спасибо за схему и подробные разъяснения алгоритма трансфера, я внимательно все изучил, но думаю что я делаю из мухи слона. Поскольку в самом начале игры я соединяю все города единой железнодорожной сетью, то машина исходя из логики предыдущих игр просто логически достроила железнодорожную сеть. То есть сработал эффект "привыкания". Людям порой тяжело менять свои привычки, и они с трудом их меняют, подчас не успевая подстроится под изменивщуюся ситуацию. Машинная логика отличается от человеческой прямолинейностью. Как я уже говорил я начинаю игру стандартно, то есть соединяя все города одной сетью с таким рассчетом чтобы из любого города можно попасть в любой город на поезде. В течении долгого времени я не играл с одними и теми же настройками игры и ландшафта. То есть: количество морей\озер - очень мало. И ещё одно. При этом трансфер шел в основном шел по железной дороге. На море трансфер использовался только для того чтобы доставить пассажиров в район лова, на нефтеплатформу. В итоге машина это запомнила. Она "привыкла" к определенному стилю игры. Но как только я изменил стиль игры, и из города Н я организовал перевозку пассажиров судами, то это выбилось из привычного для машины стиля игры и в результате чего возник непредвиденный трансфер. Машина посчитала что ж\д ветку до города Н просто недостроенной. И достроила ее виртуально. Как только я достроил ж\д ветку до города Н то ситуация вошла в привычное для машины русло, и как следствие этого трансфер исчез. Так что думается мне что ошибки кагордиста это вовсе не ошибки. И мне кажется что к этим ошибкам стоит приглядется попристальней с точки зрения машинной логики.

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

P.S Огромное Спасибо всем кто высказал свои мнения в этом топике, это позновательно и поучительно для меня!
Вложения
Сугушла Transport, 24.02.1936.sav
(249.7 Кб) Скачиваний: 259
Аватара пользователя
Странник
Начальник станции
Начальник станции
 
Сообщения: 113
Зарегистрирован: Чт янв 06, 2011 21:08
Откуда: Москва


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

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

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