Skip to content

Продвинутое управление автомобилем - impruvment steering handling

Блоги
  • Я хочу быть краток, но тогда тема не будет охвачена полностью, потому начну издалека, я с 2017 года нахожусь на проекте, и с того же времени изучаю SIMFPHYS - движок внутри игры который симулирует транспорт, и использует нас с вами люби-имый сервер.
    Так же являюсь основателем самого крупного автодвижения сервера - STREET INSIDERS

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

    Для кого это руководство? - Для всех - каждый из вас получит новый опыт и банально станет образование в вопросе, что сможет поднять средний уровень вождения на simfphys и сервере.

    Кому оно точно полезно? - Для людей у которых комплектующие компьютера собраны актуальностью после 2013 года

    У кого оно может вызвать недопонимание? - У людей чьи комплектующие старше 2010 года выпуска. Но не стоит расстраиваться и не читать тему, вы ознакомитесь с материалом, попробуете его, пощупаете плюсы и минусы и оставите фитбек, исходя из которого я смогу в дальнейшем вам помочь.

    Мой старый сетап это пентиум-бич какого-то поколения на 2.1 герц, гтх240 нвидия и мертвая память с живыми 3 гигами оперативки, и на тот момент я уже делал очень сложные элементы управления благодаря руководству.

    Что из себя представляет оптимизация и откуда мы будем черпать великий скилл управления?
    Начнем с базы - net_graph - консольная команда что позволяет мониторить данные на клиенте и сервере, обратимся к тому что мы будем редактировать ради достижения своих целей.

    Описание
    Lerp - искусственно созданная задержка на клиенте. Задается вопрос, а зачем она вообще нужна если делает только хуже исходя из ее названия? Все просто, движок игры очень старый, как и компьютеры для которых он разрабатывался, и эта задержка служила инструментом оптимизации и сглаживания разрывов на клиенте, из-за чего на данный момент на модифицированных серверах лишь размазывает лаги по вашим кадрам.

    Описание
    Lerp - или же интерполяция кадров служит неким сглаживанием, на клиенте, которое убирает разрывы и дерганность движения, технология довольно хорошо показывает себя в тепличных условиях, но в случае гаррис-мода и его нагруженности, это делает картинку плачевной, и мы получаем продолжительные подвисания, от которых бы стоило избавиться, тут сможете подробнее ознакомиться с системой и ее работой. https://steamcommunity.com/sharedfiles/filedetails/?id=864504043

    Собственно, когда вы в первой заходите в игру и на сервер, то видите лерп в районе 62-120, что звучит ну очень вызывающе на фоне того что вам нужно управлять машиной, держим в голове что это ДОПОЛНИТЕЛЬНАЯ задержка на ваше нажатие, - input lag.

    Плавно переходим к фиксированию нажатия сервером - TickRate
    Описание
    Доброград выдает в районе 16 фпс в секунду, это значит что он может регистрировать в секунду лишь 16 ваших действий, на самом деле это не плохо для вождения, и плохо для стрельбы, но не забываем что у нас есть задержка на клиенте, соответственно часть тех нажатий что мы совершаем попросту исчезает, ведь наш клиент съедает их из-за того что занят оптимизацией нашей картинки для игры.

    И последнее - UPDATERATE
    Описание
    Это значение отвечает на то сколько максимально возможных “фпс” - тиков, мы можем отправить серверу, на деле есть идеальные значения для каждого сервера, но в случае гаррисмода, лучше отдать все ресурсы, и пускай сервер выборочно берет те, что сочтет наиболее нужными, из-за чего все наши нажатия будут регистрироваться.

    Выдохнем и приступим к оптимизации.

    gmod_mcore_test 1
    mat_queue_mode 2
    cl_threaded_bone_setup 1
    cl_threaded_client_leaf_system 1
    r_threaded_client_shadow_manager 1
    r_threaded_particles 1
    r_threaded_renderables 1
    r_queued_ropes 1
    studio_queue_mode 1

    Эти консольные команды, нагрузят нашу систему и дадут игре больше дышать, обрабатывать больше данных на единицу времени, что ну очень важно для нас, это буквально снимает оковы с рук игры.

    cl_interp 0
    cl_interp_ratio 0
    cl_updaterate 1000
    cl_lagcompensation 1

    Закидывать по в файл autoexec.exe по пути -

    “steamapps\common\GarrysMod\garrysmod\cfg”

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

    Эти команды, работают с интерполяцией и рейтами, проще говоря завышают рейты - обновления, и убирают сглаживание - интерполяцию, что сводит задержки к их отсутствию, так словно вы играете в синглплеере.

    Какие подводные?

    Для слабых ПК - могут возникнуть проблемы с изображением и разрывами визуального контента сервера. Дергаются люди, пропы, колеса уходят вперед машины, видите неактуальную информацию сервера.
    Как фиксить? Перебором и удалением каждой из команд, поиском актуальных именно для вас наборов данных.

    Для сильных пк - повышенная нагрузка на виртуальную память вашего устройства, из-за чего как в большинстве онлайн проектов аля тарков, арех и подобные начинаются несвойственные лаги спустя несколько часов сессии, помогает перезаход.

    Преимущества - Отсутствие задержки как таковой, обзор актуальной информации сервера - Вы видите лишь микролаги, и лерп не растягивает их более чем на один кадр, к этому ощущению стоит привыкнуть, в сравнении лишь как постоянно играть с пингом 200 а потом пересесть на 50, это непривычное ощущение от которого изначально может выйти недопонимание происходящего, придется учиться все делать по другому, но после вас ждет высокая эффективность этих действий, стрельбы - вождения.

    P.s Просьба оставлять как можно больше фитбека, делиться с друзьями и спрашивать их мнения, ведь если не работает как кажется у вас, возможно будет работать у вашего знакомого, который поймет все преимущества этого метода, пишите фитбек, просьбы и вопросы, только вместе мы сможем поднять средний уровень игроков.

Похожие темы