а мы у пассажиров спрашиваем, куда они хотят ехать?

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

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

Сообщение Enlightened » Пт ноя 02, 2007 12:10

Pk писал(а):Enlightened
1. Ro-Ro
Классические городские остановки. выйдите на проспект Ленина и посмотрите:)

Уже существует, хотя и косовато.

Видел. Я просто говорю, как Я это вижу:)

Pk писал(а):
II. Город
Город, имхо, должен иметь внутреннюю систему автобусного движения. Как это реализовать, я пока не придумал. Возможно, тупо сделать игрока, который будет строить внутригородские автоперевозки.

А не судьба дать субсидию/фиксированную цену за пассажира?
Опять же: это муниципальный транпорт (народ, что вы дрова-то отдельно от остального рассматриваете?)

Не совсем понятно, что ты имеешь ввиду:) В общем-то, в случае игры с конкурентами - это нафиг не надо. Если прокачать АИ. Надо на эту тему думать, а пока отложить в дальний ящик.

Pk писал(а):
Далее, пассажиры имеют классы

А вот этого не надо. По крайней мере, не в этом десятилетии =)
А за бомжа и ответить можно... Сам-то чьих будешь? Изображение

Я и не говорю "сделайте мне все и сразу":) Пахать надо.
про бомжа - я бездомная собака.

Pk писал(а):Dictu
Извини, чтобы не называть это бредом, назову это неприемлемым путём.

Не согласен. Я бы это назвал единственно приемлемым путём.
Но для его реализации потребуется:
1. обширная таблица рассчёта времени перемещения от точки пути до точки пути (возможно оптимизированная, но всё же). "крепится" она именно к остановке. (какие маршруты какое имеют среднее время до каких остановок/точек пути с этой точки, их загруженность)
2. Сделать "сцепы" о коих писалось на форуме. Соответственно, пассажиров рассчитывать как сцеп в поезде.


1. Математику такого уровня я накодить смогу. опыт и знания соответствующих разделов вышки у меня имеются. Хоть второй раз в жизни пригодятся :D
2. Про сцепы дай линк. Не припоминаю такого.

Вот как-то таГ. А теперь внимание, вопрос: А есть OpenTTD API или хоть какая-то документация? и где почитать про стандарты кодирования, принятые у разрабов. А то влезу со своим сpp и объектно-ориентированным подходом:)))))
Enlightened
Шпалоукладчик
Шпалоукладчик
 
Сообщения: 14
Зарегистрирован: Вт сен 18, 2007 11:45

Сообщение Pk » Пт ноя 02, 2007 12:21

Небольшой бета-тест.
А ведь это даст нам немного помухлевать, запустив в поездку большее к-во пассажиров Изображение.
(и они будут платить всю сумму)

Тогда, упреждая иные кривые предложения, предлагаю такую вещь:
введение очереди пассажиров.
Есть 4 группы людей:
- обычные "лемминги". Спокойно стоят в очереди, всем довольны, кроме давки (зелёные)
- нормальные "кукушки". Нервничают, работают локтями. (жёлтые).
- охреневшие "дятлы". Орут и ругаются, если не могут влезть - набиваются (красные)
- брошенные "сомы". Просто верните их на место. (синие)
В зависимости от времени (макс. время на маршрут равно прохождению ожидаемой дистанции (моя стандартная, вычисл. по дорогам) на средней скорости исп. транспорта (общ.) + время простоев)
Бонусы-пенальти (необязательно, для пассажиров только):
зелёные - растёт ваш рейтинг в 2-х кратном объёме.
жёлтые - 110% набивка макс., скорость погрузки +10%
красные - 150% набивка макс., скорость погрузки +15%, рейтинг не растёт.
синие - 100% набивка макс., скорость погрузки -10%. Даже красные их не вытеснят. 50% оплата. рейтинг падает.

Как кем становятся:
Зелёные: время в пути до 80% от рассчётного.
Жёлтые: 2-3 упущеных транспорта и при 80-120% от рассчётного времени,
Красные: 120-180% от рассчётного времени в пути, или 2-3 упущеных при 80-120%.
Синие: 180%+ времени в пути.

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

Сообщение Pk » Пт ноя 02, 2007 12:42

Enlightened

Погугли Изображение
http://forums.ttdrussia.net/viewtopic.p ... 10&start=0

Не совсем понятно, что ты имеешь ввиду:)

Субсидия из города в него же.

1. Математику такого уровня я накодить смогу. опыт и знания соответствующих разделов вышки у меня имеются. Хоть второй раз в жизни пригодятся

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

Сообщение George » Пт ноя 02, 2007 22:55

Допустим у нас 1 тип пассажиров (класс)
Между любыми 2-я близко расположенными соседними городами есть автобусное сообщение.

Теперь вопрос, раз всё так просто...
Напишите алгоритм, по которому 1 отдельно взятый пассажир будет садиться и выходить из автобусов чтобы попасть в город, находящийся на другом конце земного шара (в другом углу карты).
Чтоб осложнить решение задачи будем предполагать, что города расположены на небольших отростках огромной буквы Z.
Аватара пользователя
George
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1384
Зарегистрирован: Пн сен 20, 2004 12:02
Откуда: SPb, Russia

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

>>george
Прочитай мою подпись, плиз. (линку не юзай - не треба).

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

Сообщение Pk » Сб ноя 03, 2007 00:14

Лога:
Чем пользуется обычный лемминг при выборе маршрута? Ответ: стандартными схемами и расписанием, так же отдавая себе отчёт (наивно, ну да сойдёт), сколько времени ему потребуется.

Отсюда:
нам нужна БД точек пути и примерных расписаний;
нужен алгоритм сбора "мозаики" для маршрут-листов с не меньше чем 3-мя позициями.

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

Из этого:
Шаг 1. Стандартным алгоритмом вычисляется макс. дальность поездки (расстояние от начала до точки конца маршрута(по дорогам/путям только)*1,3)
Шаг 2. начинается сбор и тасование пасьянса-мозайки "быстрейший путь, с наименьшей очередью" (можно, правда, ещё и деньги навесить... но это прибъёт самолёты)
Шаг 3. выбирается список оптимальных маршрутов (с учётом погрешности), отвечающих требованию временного бюджета.

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

Сообщение George » Сб ноя 03, 2007 13:42

Pk писал(а):>>george
Прочитай мою подпись, плиз. (линку не юзай - не треба).
Извини, но сам пошёл на ... (так, для справки, я не могу описать пересадки - у меня их нет и я двумя руками против этой идеи при всех текущих способах её реализации. Против до тех пор, пока не будет придуман нормальный алгоритм пересадок, что является далеко не тривиальным).

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

И на будущее. Все обсуждения великих идей, если за ними нет хотя бы приблизительного понимания, как их реализовывать, есть флуд, и место ему в off-topic разделе (ну в крайнем случае в general discussion), а не в разделе разработки. В разделе разработки надо обсуждать то, что делается, а не то, что было бы не плохо кому-нибудь сделать.

А принцип прапорщиков "Чего думать, делать надо" ничего, кроме глупости, не показывает.

----

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

----

Прилагаю наглядную картинку-вопрос
когда предложите алгоритм, начну кидать варианты маршрутов и будем проверять выбор алгоритмом. Когда любая систем маршрутов будет правильно решаться - можно думать дальше.
(первый подкол - убираем город в центре и маршрут по всей диагонали)
Вложения
Untitled-1.png
А теперь проедьте из одного угла в другой при условии, что автобусы ходят только между 2 соседними городами, соединёнными дорогой.
Untitled-1.png (4.17 Кб) Просмотров: 5074
Аватара пользователя
George
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1384
Зарегистрирован: Пн сен 20, 2004 12:02
Откуда: SPb, Russia

Сообщение Pk » Сб ноя 03, 2007 23:03

Читай: "Анализируй то, как ты делаешь сам. Потом объясни это компьютеру." - где я тут тебя, послал?

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

Сообщение George » Сб ноя 03, 2007 23:10

Pk писал(а):Прочитай мою подпись, плиз.
"Анализируй то, как ты делаешь сам. Потом объясни это компьютеру." - где я тут тебя, поклонника Стиля Мышления Голубой Призмы к едрёной матери послал!?
Ты прескрасно знаешь, что не делаю. :evil: Однако таки предложил мне это описать, вместо ответа на вопрос. И как, по-твоему, я должен был это понимать?
Аватара пользователя
George
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1384
Зарегистрирован: Пн сен 20, 2004 12:02
Откуда: SPb, Russia

Сообщение Pk » Сб ноя 03, 2007 23:14

Плюс я делал сноску, что сам не смогу в ближайшее время собрать такой алгоритм, так как не очень могу сделать "мозаику".

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

Сообщение Pk » Сб ноя 03, 2007 23:37

В общем так:
Я не знаю ваших замутов.
Я не понимаю вас с полуслова
Я не хочу заниматься избыточным мозготрахом, кроме тех случаев, когда я этого хочу

По этому: если читаешь то что мной написано и у тебя возникают претензии не делай выводов 2-го и 3-го порядка "в собственном соку", а отвечай сразу "я так не делаю, я не играю, я не пускаю машинки, я не езжу на городском транспорте, я овощь!!".

Иначе я просто буду беречь свои нервы, а подобные вопросы будут уходить в игнор.

И вообще ты сделал некорректный вывод из фразы, там речь не о программировании!!

Ты прескрасно знаешь, что не делаю.

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

Сообщение George » Вс ноя 04, 2007 00:41

Выдохнули.

Pk писал(а):Из этого:
Шаг 1. Стандартным алгоритмом вычисляется макс. дальность поездки (расстояние от начала до точки конца маршрута(по дорогам/путям только)*1,3)
Шаг 2. начинается сбор и тасование пасьянса-мозайки "быстрейший путь, с наименьшей очередью" (можно, правда, ещё и деньги навесить... но это прибъёт самолёты)
Шаг 3. выбирается список оптимальных маршрутов (с учётом погрешности), отвечающих требованию временного бюджета.

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

Pk писал(а):Тут надо банально пройти лабиринт. я это не умею, но другие делают.
Не поможет здесь проход лабиринта. Объяснить почему?
Смотрим схему, считаем, что города 6 нет, автобус идёт из 2 в 5, 5 в 8, 8 в 10. Если идти по лабиринту, то он пойдёт из 2 в 10. Легко можно нарисовать систему маршрутов, такую, что они пройдут через 2, 10 и 11 так, что выйти в 11 нельзя, а можно только если сделать трюк через 5 и 8. Но лабиринт ищет кратчайший путь по дорогам, поэтому он будет считать, что попав в 11, он расчёт завершит, при этом в 5 даже не заглянет, ведь это более длинный путь, чем найденный. А если продолжить и перебирать все маршруты, то всплывёт проблема циклов и тут даже вычислительных ресурсов сервера на работе не хватит, не то что домашнего писюка :wink:
Аватара пользователя
George
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1384
Зарегистрирован: Пн сен 20, 2004 12:02
Откуда: SPb, Russia

Сообщение Pk » Пн ноя 05, 2007 19:18

Начнём с того, что твоя карта загружена, но бессмысленаа, так как алгоритм изначально рассчитан на пересадки и на комбинирование маршрутов, а не банальную пересел-поехал.
Её краткая схема: 0-0-0. Для нормального теста же нужна 0<8=8>0.

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

Сообщение Dictu » Пн ноя 05, 2007 20:50

Прости, ПК, а у тебя уже есть хоть какие-нибудь наработки? Хоть что-то работающее хоть по одному из вопросов, которые ты поднимал на форуме? Интересно было бы пощупать и проверить твои теории на практике.
Аватара пользователя
Dictu
Директор
Директор
 
Сообщения: 260
Зарегистрирован: Пн окт 31, 2005 17:02
Откуда: Москва

Сообщение George » Пн ноя 05, 2007 21:15

Pk писал(а):Начнём с того, что твоя карта загружена, но бессмысленаа, так как алгоритм изначально рассчитан на пересадки и на комбинирование маршрутов, а не банальную пересел-поехал.
Её краткая схема: 0-0-0. Для нормального теста же нужна 0<8=8>0.
Алгоритм проработать, чувствую, не смогу - мне негде разложить бумаги, чтобы порисовать.
А ты хоть сам понял, чего ты сказал? Я вот не очень.
Алгоритм должен работать на любой карте и системе маршрутов. Иначе пассажир просто зависнет, не имея ответа на вопрос как ему доехать до своей точки назначения.
А уж почему ты не можешь превратить словесное описание маршрутов и графическое изображение карты в исходные данные для твоего алгоритма, я так и не понял :?
Аватара пользователя
George
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1384
Зарегистрирован: Пн сен 20, 2004 12:02
Откуда: SPb, Russia

Пред.След.

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

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

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