Проблемы с трансфером в Open TTD MiniIn 7344

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

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

Сообщение Jureth » Пн янв 22, 2007 08:48

подводные камни» — ну какие тут могут быть камни? надо лишь отделить коробку товаров с одной надписью от другой — уголь и железную руду же различаем как-то
А сколько памяти надо, чтобы хранить о всей цепочки трансфера (в идеале, о всех станциях и транспортах со всеми необходимыми данными) для каждой единицы груза?
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Сообщение Quark » Ср янв 24, 2007 01:55

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

Сообщение Quark » Ср янв 24, 2007 01:56

Jureth писал(а):Фишка ещё в том, что в доход поезда начисляется сумма = (за доставку груза) * 3 / 2, а при заборе груза из дохода транспорта, забирающего груз вычитается сумма пропорциональная данной (относительно объёма груза).

Из-за этих *3/2, второй, третий и т.д. транспорты в цепочке трансфера, практически, не имеют шансов получить доход.

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

Сообщение Neko » Ср янв 24, 2007 05:21

Quark писал(а):...а можно показать где это в исх. коде происходит?


Функция LoadUnloadVehicle в файле economy.c

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

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

Quark писал(а):а не надо хранить цепочку — нужно только источник хранить и всё.
Тогда как считать доход всех транспортов, участвовавших в доставке? Ведь по правильному (я так думаю), надо доход от доставки делить между всеми транспортами уже после доставки груза.
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Сообщение Quark » Ср янв 24, 2007 12:24

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

Сообщение Jureth » Ср янв 24, 2007 12:31

Да трансфер-то и так работает, правда не в пользу игрока т.к. при наличии нескольких источников берётся тот от которого дольше ехали.
И потом — как определить сколько платить транспорту после переброски груза?
Пропорционально времени в пути. А время, которое груз трансфером валялся на станции можно вообще вычитать из дохода.
Сделать для начала работающий трансфер
А что будете делать-то? Хранить источник отдельно для каждой еденицы груза?
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Сообщение The Pretender » Ср янв 24, 2007 14:07

Quark писал(а):Придётся ждать окончания доставки и потом уже распределять прибыль.

Логически именно так и верно. А прибыль будет делиться в долях, зависящих от того насколько данный транспорт приблизил груз от источника к цели (внимание: это не пройденное расстояние, а расстояние на которое груз приблизился к цели).
The Pretender
Шпалоукладчик
Шпалоукладчик
 
Сообщения: 11
Зарегистрирован: Вт янв 09, 2007 16:17

Сообщение Quark » Чт янв 25, 2007 00:27

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

Сообщение Quark » Чт янв 25, 2007 00:28

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

Сообщение Quark » Чт янв 25, 2007 00:30

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

Сообщение Oleg » Чт янв 25, 2007 10:27

Quark, пожалуйста, пользуйся кнопкой Правка. Три сообщения подряд - это уже ни в какие ворота :(
С уважением,
Администратор сайта Transport Tycoon навсегда!
Аватара пользователя
Oleg
Администратор
Администратор
 
Сообщения: 2336
Зарегистрирован: Чт сен 02, 2004 11:49
Откуда: Москва

Сообщение Jureth » Пн янв 29, 2007 08:23

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

А прибыль будет делиться в долях, зависящих от того насколько данный транспорт приблизил груз от источника к цели (внимание: это не пройденное расстояние, а расстояние на которое груз приблизился к цели).
А если груз не приблизился, а отдалился? В силу географических причин такое бывает.

ИМХО, надо брать доли именно от пройденного пути (точнее - от суммы расстояний между станциями).
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Сообщение Quark » Пн янв 29, 2007 10:02

Jureth писал(а):
Ну хотя бы для целого вагона и различать источники на станции (и не смешивать разные источники в одном вагоне).
Не получится:
1. разные вагоны имеют разную вместимость.
2. перевозим-то мы не только поездами.
Т.е. после погрузки может остаться "часть вагона". Что с этим делать?
Единственный вариант - группировать грузы по источнику и времени в пути.
Почему не получится?
1) Разная вместимость нам побоку, это никак на станцию не влияет.
2) Другие вида транспорта ведут себя также как и вагон.
3) Если после погрузки осталась, как вы говорите, «часть вагона» — то это обычный груз, который будет погружен в следующий вагон. Можно у совсем малых остатков сбрасывать исходный пункт.
4) Грузы и так группируются по источнику, когда выгружаются на станцию.
Всё-таки это решение проблемы существующими средствами, а не отговорка «мол, мы не можем решить проблему трансфера до реализации cargo-packets» (до которой еще очень долго).
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Jureth » Пн янв 29, 2007 12:19

Ну допустим, но вот ещё с этим:
и не смешивать разные источники в одном вагоне
маленькая проблемка - корабли. Т.е., по сути, вагоны вместимостью до 360 т. груза. Если в один корабли пихать грузы только из одно пункта, то перевозка может рано или поздно оказаться сильно неэффективной. Хотя, насколько я понимаю, решение тут будет тоже самое, что и у станций.
Аватара пользователя
Jureth
Диспетчер
Диспетчер
 
Сообщения: 143
Зарегистрирован: Ср ноя 08, 2006 08:34

Пред.След.

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

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

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

cron