Правильное вождение поезда

Непосредственное обсуждение подвижного состава, маршрутов, сценариев, геймплея и прочей игровой концепции. Руководство для начинающих: вопрос-ответ.
DmitriSkif
Мастер
Мастер
Сообщения: 449
Зарегистрирован: 26 ноя 2018
Откуда: Минск
Репутация: 75

Правильное вождение поезда

Сообщение DmitriSkif »

Код: Выделить всё

Оказывается, что симуляция потребление пара в TS2020 сильно зависит от частоты кадров. Чем больше fps выдает ваша система, тем меньше пара будет расходовать паровоз. Таково наследие Kuju и игрового движка Rail Simulator. Поэтому на тех маршрутах, где есть сильные просадки по fps, необходимо снижать настройки графики для комфортного управления паровозом.
И не только потребление пара (что еще терпимо), но и расход воздуха, топлива, угля, воды, и - внимание - скорость переходных процессов в тормозах (время разрядки и зарядки). Поэтому использовать "системные" тормоза крайне не рекомендуется и нужно писать собственную надстройку скриптом. Например, на Direct Brake или тормозах с автоперекрышей, используя корутину или тайминг тиками, как указано выше. При этом собственно модуль тормоза превращается в воздухораспределитель, а TRAINBRAKE - в управляющую им переменную. Локомотивный тормоз в виду его быстродействия можно не трогать, разница будет несущественна, а вот на автоматическом разница во времени зарядки/разрядки у дефолтных тормозов на слабых машинах может отличаться в два раза.

Код: Выделить всё

Функция Update отрабатывает каждый кадр. И если любые вычисления пишут как есть - они зависят от количества кадров. Т.е. если написать n=n+1, то этот счётчик за секунду при фпс 30 насчитает 30, а при фпс 180 - насчитает 180.
Написано всё правильно, вот только расход пара - это системный контрол, недоступный для модификации скриптом напрямую через Set метод (как и давления в воздушной системе). Всю физику паровоза считает ядро, и повлиять на нее можно лишь косвенно, через управляемые скриптом контролы.
Так что это есть самый что ни на есть баг в ядре, использующем для расчета физики поездов Update вместо FixedUpdate (который есть во всех современных уважающих себя движках и работает на собственном таймере, не зависящем от ФПС игры). О чем я писал еще в 2015-ом, когда собирал тренажер для Учебного центра Минской ДЖД.

Ответить