Предложения по доводке TrT и выше

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

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

Сообщение Pk » Пн янв 01, 2007 15:45

Quark писал(а):
Pk писал(а):Патч "Перевозчик"
Суть:
Завод определяет к-во груза, его место назначения, время доставки (макс.) и цена за доставку.
Соответственно, цель примет груз в любом случае.

Что-то вроде Субсидий, только с другим балансом. Так же может быть "только для одной компании", т.е. груз резервируется в к-ве N штук для M компании. Остальное - как угодно.
+ Можно сэкономить на транспорте

Возможны модификации.

Разговоры на эту тему уже давно ведуться — я предлагаю взять экономику, как в игре «X-tension» — у предприятия есть первичный и вторичный потребляемые ресурсы, из первичного вырабатывается продукция, вторичный же ресурс может ускорять выработку (рабочие, еда для рабочих, новая техника на замену или ремонт старой и т.п). Некоторые предприятия способны вырабатывать продукцию без использования первичных ресурсов, например шахты или фермы. Каждый завод сам устанавливает цены свою продукцию и необходимые ему ресурсы, цена эта рассчитывается по принципу «склад пуст — цена максимальная, полон — минимальная». Конечные продукты будет потреблять город. Можно еще завязать количиство принимаемых городом пассажиров на количество привезённых товаров, пассажиры же приехавшие сверх этого значения будут давать, например, 50% дохода.
При такой экономике время доставки будут оплачивать только пассажиры — мы «покупаем» их бесплатно или платим страховку на случай потери их в пути :) Грузы же со временем могут портиться, уменьшая своё количество, скорость порчи будет своя для каждого груза.
Переодически будут возникать субсидии типа «доставить X груза A в точку B за Y дней по цене C за единицу груза», цена при этом будет от максимальной до 150% от максимальной.

В маршрутном листе поезда будем указывать закупочную цену и цену продажи для товаров, если же поезд приехал, а условия не выполняются, то он стоит и ждёт, пока те не изменятся.

При такой стратегии уже не будет смысла «возить всё на один завод», надо будет искать маршруты, на которых есть спрос и планировать объёмы поставки, а также следить за субсидиями. При этом вмешательство оппонента ощутимо скажется на игре :)


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

Сообщение Titanik » Пн янв 01, 2007 16:44

Тема складов, кстати, реализована в Industry Giant 2
GTA2 Forever! http://sage.narod.ru/gta2
А давайте чего-нить сделаем.Тока я не умею :oops: проект "Русские Локомотивы"
Аватара пользователя
Titanik
Разработчик
 
Сообщения: 783
Зарегистрирован: Чт янв 26, 2006 20:18
Откуда: Россия, Москва

Сообщение Pk » Пн янв 01, 2007 18:06

Со, однако там весьма не очень была реализована такая вещь как передача груза на точки. Фильтры передачи грузов то бишь.
Общая схема, которую можно использовать, может выглядеть так:
[склад на точке]-[основной склад]-[потребитель]

Склад на точке - стандартный ТТД
Основной склад - хранилище, которое может передавать груз всем, кто просит, обращая внимание на фильтры.
Потребитель - любые игроки/объекты.
Склад не имеет своей зоны охвата.

В чём плюс?
В он-лайн игре игроки могут создавать цепочки из единиц разных компаний (в город "А" вода поступает поездом, часть воды остаётся в городе. Из города "А" же вода уходит на грузовиках в соведние "Б" и "В", т.к. игок с а/м не имеет возможности строить свой путь, а с ЖД влом.)

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

Сообщение Quark » Пн янв 01, 2007 23:09

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

Сообщение Quark » Пн янв 01, 2007 23:14

Pk писал(а):Воздержусь от комментариев, скажу лишь, что есть 1-2 уже озвученные мысли, одна новая и всё. А не проще ли ввести "склады"?
И уже с них отпускать всем нуждающимся в рамках контрактов? (тут минимум 2 алгоритма, тонем этот патч тогда позже). Без новых алгоритмов это не поможет.

Я и сказал, что разговоры на тему уже были. Вот только новых мыслей однозначно больше одной :). «Склады» уже есть, только вот в виде NewGRF файла только для первого климата и, кажется, это работает только в TTDPatch. Вот только со складов ничего не отпускается, они работают только для принимаемого товара и не влияют на цену приёма груза.

Titanik писал(а):Тема складов, кстати, реализована в Industry Giant 2

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

Сообщение Pk » Пн янв 01, 2007 23:20

Городские строения были ещё в ТрТ, кажется.
Но топик не про это.

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

Сообщение Quark » Пн янв 01, 2007 23:23

Pk писал(а):Склад на точке - стандартный ТТД
Основной склад - хранилище, которое может передавать груз всем, кто просит, обращая внимание на фильтры.
Потребитель - любые игроки/объекты.
Склад не имеет своей зоны охвата.

Делать дополнительный склад в качестве основного нет смысла, предприятия просто работают, а субсидии выдаёт заказчик.
Про какие фильтры идёт речь? В предлагаемом мной варианте игрок либо берет товар по выбранной им цене, либо ждёт пока цена не изменится. А субсидии проверяются на выполнение в момент доставки до конечного пункта (исходные склады, с которых забирается груз никак в этом не участвуют, если только в субсидии не было условия «держать заполнение исходного склада не выше X%»)

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

Pk писал(а):В он-лайн игре игроки могут создавать цепочки из единиц разных компаний (в город "А" вода поступает поездом, часть воды остаётся в городе. Из города "А" же вода уходит на грузовиках в соведние "Б" и "В", т.к. игок с а/м не имеет возможности строить свой путь, а с ЖД влом.)

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

Сообщение Pk » Пн янв 01, 2007 23:26

Слушай, перескажи своими словами то, что ты читаешь!

Или ты не читаешь, что написано?

"Фильтры передачи груза" - фильтры отправки грузов на другие объекты.

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

Сообщение Quark » Пн янв 01, 2007 23:31

никак не пойму что за фильтры такие? типа патча с направлением пассажиров или как?

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

Сообщение Pk » Вт янв 02, 2007 10:45

По складам:
Ладно, забей, додумаем сами. Либо закинь пост на общемировое рассмотрение..

По строительству дорог и ЖД
При строительстве дорог я выделил (в своей тактике) следующие этапы:
1) определение потенциальных маршрутов (что куда везти). Предпочтение тем маршрутам, которые можно пустить через города.
2) После нахождения узловых городков (где смыкаются рассматриваемые маршруты) наченается планирование узловых городов., а именно
10 [рассчёт остановок]
15 [рассчёт доп дорог]
20 <хватает остановок?> нет GO TO 10
30 [определение маршрутов]
35 <дорог хватает для маршрутов?> нет GO TO 15
40 [определение границы города]

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

Сообщение Pk » Вт янв 02, 2007 10:46

[рассчёт остановок]
├[нахождение первой точки строительства]
├[рассчёт оптимальной конструкции]
│├<планируются а/м остановки>
││├(да) [рассчёт грузопотока]
││└[рассчёт оптимальной конструкции]
│├<планируется городская ЖД?>
││├(да) [рассчёт грузопотока]
││├[рассчёт оптимальных путей] ([1]2[1], 2[2]2[2]2, [2]1[2], кольцо/линия)
││└[рассчёт мостов].
│├<планируется магистральная станция ЖД?>
││├(да) [рассчёт оптимальной конструкции]
││├[нахождение первой точки строительства]
││├[рассчёт грузопотока]
││├[рассчёт стоимости]
││└<удовлетворяет>
││…├(да) {отправка проекта на Рассмотрение}
││…└(нет) {пометка остановки как временно не использующую данный вид транспорта}
│├<планируется ли аэродром>
││├(да) [рассчёт пассажиропотока]
││├[нахождение первой точки строительства]
││├[рассчёт стоимости]
││└<удовлетворяет>
││…├(да) {отправка проекта на Рассмотрение}
││…└(нет) {пометка остановки как временно не использующую данный вид транспорта}
├[рассчёт стоимости]
└<удовлетворяет>
…├(да) {отправка проекта на Рассмотрение}
…└(нет) {пометка остановки как временно не использующую данный вид транспорта}

Мож сделать тему в "Разработке?"

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

Сообщение Quark » Вт янв 02, 2007 11:21

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

Сообщение Pk » Вт янв 02, 2007 11:23

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

Сообщение Quark » Вт янв 02, 2007 11:24

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

Сообщение Pk » Вт янв 02, 2007 11:34

"кратчайший путь" - это старый вариант.
"оптимальный путь" - это то, что мы спорим.

В чём разница?
"Кратчайший путь" - это прямая, без интересов других маршрутов(!).
"оптимальный" - дающий наибольшую выгоду со всех маршрутов.

Опять же есть такой пункт, как "competitor's AI", des ne? (так, не?)
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

Пред.След.

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

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

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

cron