SunSon

Пользователь
  • Публикации

    80
  • Зарегистрирован

  • Посещение

Репутация

17 Обычный

О SunSon

  • Звание
    Продвинутый пользователь
  1. Симулятор диспечера, конечно же нет нужды делать, для того, чтобы иметь возможность выбора путей в игре, достаточно сделать алгоритмы поиска пути и чуть более развитую сигнализацию.
  2. Но это происходит не по один раз при при запуске линии и маршрут непрерывно меняется. В игре же маршрут не меняется никогда. Таким образом в прибитых линиях никакого реализма нет, если верить написанному тут: https://ru.m.wikipedia.org/wiki/Поездной_диспетчер Ну а с со свободой выбора путей играть интереснее, проверено на примере OTTD. Игроков, которым не нравятся прибитые поезда, много, а тех, кому нравится, я на этом форуме не видел совсем. Возможно, вы - первый.
  3. Решение прибить поезда никак не связанно с движком. И он у них самописный, могли написать как хотели. Это именно геймдизайнерское решение. А как объяснить, что фирменный поезд все время на разных путях? Как на конечных, так и на промежуточных. Ему все время меняют путь, хотя он ходит по расписанию?
  4. Все грузы, на сколько я понимаю, могут прибывать на пассажирские станции, пассажиры на грузовые. А вот отбывать могут только со станций своего типа.
  5. Не знаю, как в жизни (подозреваю, что по-разному, потому что один и тот же поезд из Волгограда прибывает на разные пути на Павелецком вокзале - регулярно вижу это лично). Но в игре механика такова, что ТС всегда следуют пути, который был обозначен при создании/изменении линии. Так решили разработчики - и это один из серьезных недостатков TF2 для игроков, которые играли в OTTD. Затрудняюсь предположить, что сподвигло разработчиков жестко "прибить" поезда к путям, но вот так. В целом игра сочетает в себе как отличные механики, так и провальные. Посмотрим, что сделает чех в Машинках - он фанат TTD и вряд ли повторит такую систему линий. https://steamcommunity.com/sharedfiles/filedetails/?id=821959155
  6. Да, используя точки пути. Делаете маршрут: точка пути платформа 1 станция А станция А станция Б точка пути платформа 2 станция А станция А станция Б Таким образом поезд будет кататься между станциями А и Б, но на станции А он будет заходить то на первую платформу, то на вторую.
  7. Дополню немного, для быстрого понимания азов. Совсем маленький ликбез на тему. Матрица - это таблица чисел. Прелесть в том, что для матриц, как и для обычных чисел, определены "привычные" операции: сложение (вычитание - по сути умножение на число + сложение), умножение матриц и операция обратная умножению - умножение на обратную матрицу (аналог деления в алгебре чисел, где деление - это умножение на обратное число). Для матриц перехода между различными системами координат (в линейной алгебре это называется базис) или, что тоже самое, трансформации с целью определения положения модели (помещение её в определенное положение и задание размера при переходе от локальных координат модели в глобальные, мировые координаты сцены или другого объекта) в первую очередь интересна операция умножения. Выполняется она по простому правилу, которое сводится к операциям сложения и умножения привычных чисел (именно по-этому алгебра называется линейной), подробности легко нагуглить. Основной полезной особенностью матричного умножения (как и обычного умножения чисел) является то, что его можно разложить на последовательность умножений. Например, для натуральных чисел можно умножить 3 на 5 и на 7, а можно просто умножить 3 на 35 и получить тот же результат. Самое, на первый взгляд, необычное в операции умножения матриц - это то, что эта операция не комутативна: от перемены мест со множителей (матриц) меняется результат. Для "обычных" чисел 3 * 2 = 2 * 3, но для матриц это не так. Теперь немного про афинные преобразования. Их три: перенос, поворот и масштабирование - эти преобразования производят ровно то, как они названы, то есть смещают, поворачиваю и изменяют размер объекта и каждое можно задать отдельно в виде матрицы из 16 чисел (4x4). Если немного подумать, то станет понятно, что, например, переместить объект и повернуть его относительно некого центра координат - это не тоже самое в общем случае, чем сначала повернуть, а потом перенести. И свойство не комутативности умножения - это поддерживает. Как этим всем пользоваться? Достаточно просто на самом деле: для каждого преобразования записывается матрица, а результат последовательного преобразования объекта этими матрицами - это просто одна матрица, являющаяся их произведением! Таким образом с помощью 16 чисел можно задать любое положение и масштаб объекта в пространстве. Записываются афинные преобразования очень просто (см. ссылку на Вики выше). Все это позволяет при простом понимании базовых преобразований без наличия сверх-интуиции и какого-то особенного пространственного воображения просто легко пользоваться всем этим. А в модуле transf (сокращение от transformation) находится куча функций, позволяющих получить нужную матрицу (потому что именно матрицу удобно хранить и передавать) из типовых преобразований. Например, функция rotZtransl - возвращает матрицу, которая есть поворот (rotation) вокруг оси Z (в игре она направлена вверх) на заданный в радианах угол и последующий перенос (translation) на указанный вектор. Естественно, в этой всей "кухне" (алгебре) куча "нюансов". Например, для задания каждого преобразования в трехмерном пространстве достаточно трех чисел, а тут почему-то записываются 16. По сути это удобно как раз потому, что любые сколь угодно большие последовательности любых афинных преобразований сводятся к последовательному умножению матриц. Например, чтобы перенести объект сначала на туда, а потом сюда, достаточно матрицу "туда" умножить на матрицу "сюда", получится одна матрица "туда-сюда", что очень удобно. После освоения матриц, рекомендую разобраться с кватернионами - это, скажем так, очень удобный способ (еще более лучший, чем матрицы) записать любой поворот с помощью четырех действительных чисел, со свойствами операций, скажем так, близкими к матрицам и очень удобными и "быстрыми" для ряда вычислений.
  8. Это обычная матрица трансформации используемая в 3D графике. Позволяет в 16 числах записать перенос, поворот и масштабирование вектора (модели). Подробности афинных преоразований можно узнать, например, из Википедии. https://ru.m.wikipedia.org/wiki/Матрица_перехода
  9. Разве я говорил, что это сломает игровой процесс? Сломает и испортит качественно разные понятия.
  10. Банальный вопрос. А игру вы перезапускали после изменения чисел?
  11. Это было второе, о чем я подумал.
  12. treeLine - вероятнее всего плотность деревьев вдоль дорог в городах. Плотности городов и предприятий работаю, но если вы поставите, например, очень маленькие числа - результата не заметите, потому что игра старается раскидать города и предприятия так, что бы между ними были какие-то минимальные расстояния и кроме того, под города требуется наличие на карте больших плоских участков.
  13. Трудности не в обгоне, когда поезда разогнались, а в динамике разгона. Проблемы будут везде, где поездам надо разгонятся с нуля и при этом они пересекаются с путями других линий, например, с загруженными станциями. Легко увидеть проблемы с массой груза наглядно: Постойте в "креативе" две Ro-Ro (если это будут тупиковые, там еще все более очевидно) станции максимальной длинны по 4 платформы соединенных достаточно длинной двухколейной магистралью (чтобы по ней шли полностью разогнавшись одновременно как минимум 10 составов в каждую сторону). Запустите 4 линии с составами в длину станции с тремя начальными локомотивами со скоростью 80. Забейте равномерно все линии максимальным количеством поездов, так что бы они шли без пробок (ну или хотя бы чтобы это было похоже на "без пробок"). Уберите у одного поезда на каждой линии два локомотива, оставив один локомотив на тоже число вагонов. Наслаждайтесь пробками. Теперь постепенно убирайте "быстрые" составы с тремя локомотивами с линий, так чтобы пробки вновь исчезли. Далее остановите один поезд на линии на одну минуту и засеките через какое время ситуация на вашем полигоне полностью нормализуется. Сравните интервалы и количество поездов до симуляции "веса груза" и после. Продолжите эксперимент. Постройте на этой же дороге горку с сильным уклоном (%3), длинной порядка пяти составов. Насладитесь пробкой и еще уберите несколько поездов. Хотя решить проблему горки просто по-другому, но за-то увидите, как она влияет на максимальную пропускную способность.
  14. Создал тему про то, что в игре можно было бы сделать лучше, изменить или выкинуть, чтобы играть стало интереснее. На мой взгляд, самые слабые механики: Падение производства. Если бы в игре производство только росло и никогда не падало - играть стало бы интереснее. Даже если замедлить рост предприятий в 5 раз. Причем сделать без особых наворотов: для каждого повышения уровня нужно просто привезти/увезти сумарно определенное количество продукции или, если игроку очень надо, он может за большие деньги улучшить предприятие самостоятельно. Жесткая логистика. Если бы в игре была бы более мягкая конкуренция между своими же линиям/станциями по параметрам: скорость, цена и загруженность - играть стало бы интереснее. Сейчас "победитель" забирает все. Было бы хорошо, если бы линии-победительнице доставалась бы только часть, скажем, максимум до 75% возможного грузопотока при наличии нескольких вариантов, даже если она по всем параметрам лучше. Искусственно заниженное обновление потенциалов и использования линий. Нет ничего интересного в том, чтобы ждать три месяца, пока подключится линия или произойдет обновление потенциалов. Если при создании линии подключение её станций будет происходить сразу же, а изменения потенциалов будут обновляться чаще - играть станет интереснее. Особенно это касается товарных перевозок. Бедность ордеров. Если бы в игре было больше ордеров вроде: загружать только указанный тип груза или ждать загрузки до указанного процента - играть стало бы интереснее. Существующая специализация вагонов не удобна на практике, а ожидание полной загрузки ломает потенциалы. Грузы не портятся. Если бы в игре цена на грузы в пути падала бы со временем - играть стало бы интереснее. Сейчас всегда выгодно везти груз как можно дальше. Развитие было бы более эпическим, если бы с получением новой техники появлялась бы экономическая целесообразность для игрока везти груз дальше. Разные классы грузов, например, скоропортящиеся продукты и долгопорящаяся нефть. Для баланса медленных/быстрых видов транспорта вполне можно использовать искусственные коэффициенты (на кораблях портится медленее, чем на самолетах). Либо денег нет, либо их некуда девать. Сейчас всего треть игрового времени играешь с нулевым балансом, а потом наступает определенный момент и деньги фактически некуда тратить. С дополнительным выводом денег в средней и поздней игре - играть стало бы интереснее. Возможные работающие и проверенные варианты: инвестиции в рост и инфраструктуру городов, открытие новых предприятий за огромные деньги, прогрессивный налог на пути, мосты, туннели и т.п. игрока, инфляционная стоимость строительства, дорогое улучшение станций (скорость погрузки/разгрузки), новый тип дороги для которой нужно строить полностью новую инфраструктуру (маглев). Скупая статистика. Если бы можно было бы смотреть в игре графическую статистику по десяткам игровых характеристик - играть стало бы интереснее. Карты без морей. Если бы в игре было бы больше воды - играть стало бы интереснее. Корабли и авиация не выглядели бы придатком ж.д. и автотранспорта.
  15. Заинтересовался безубыточными трамваями в маленьких городах на старте игры. Кто-то знает, это возможно? Как же на самом деле надо расставлять остановки, часто или редко? Выгоднее иметь несколько линий вдоль основных городских улиц или одну круговую? Имеет ли смысл делать круговые линии с маршрутами в противоположных направлениях? Можно ли иметь внутреннюю неубыточную городскую линию без наличия в городе междугородних перевозок? Я правильно понимаю. что жители пользуются линией только, если она сокращает им время в пути? Как считается путь (упрощенно по кварталам или честно от здания до здания)? Алгоритм загруки остановок, действительно честно симулирует перемещение жителей между зонами жилья, производством и магазинами или это фейк? Почему жители не сразу начинают пользоваться линией, а только через какое-то время - что это за механика в основе?