Поиграл как-то я в ForzaHorizon 4 и дико проникся тюнингом автомобилей. Сперва, не понимал, что происходит и как настраивать авто, хоть и во внутриигровом описании четко описано как каждый параметр влияет на поведения машины. Обратился за помощью на YouTube и все стало на много яснее. Есть формула по которой можно рассчитать приблизительные значения некоторых параметров. От этого расчета и начинается подстройка автомобиля.
Формула:
Передняя ось: [(МАКС — МИН) * (ПЕРЕДНЕЕ_РАСПРЕДЕЛЕНИЕ_ВЕСА / 100)] + МИН
Задняя ось: [(МАКС — МИН) * (100 — ПЕРЕДНЕЕ_РАСПРЕДЕЛЕНИЕ_ВЕСА) / 100 ] + МИН
С этой формулой можно настроить ReboundStiffness (Амортизация — отбой), BumpStiffness (Амортизация — сжатие), Springs(Пружины), Anti-RollBars(Поперечные Стабилизаторы).
Таким образом настроил себе несколько пресетов Мустанга (для обычных заездов) и Lancia(для раллийных заездов) под все времена года. И как мне показалось, от игры получаешь больше удовольствия когда возишься с машиной сам, подстраиваешь ее после нескольких заездов пока не сделаешь то, что подходит под твой стиль езды.
Однако, мягко говоря, задолбался я считать «сам». Так, решил сделать приложение.
Сперва веб — ибо идея звучала (в голове) быстро и относительно просто.
С точки зрения программирования, мне было интересно попрактиковаться делать проекты относительной полезности за короткий срок: один день до одной недели. На это у меня ушло около трех часов. Выбрал ReactJS, так как опыта в нем у меня мало, а для основной работы было бы полезно.
Что с этим делать?
Находите процент распределения переднего веса вашего авто (в секции с установкой запчастей, слева в описании параметров авто) — вводите в графу Front Weight Distribution.
Вводите Минимально и Миксимално возможное значения для настраемого параметра — и приложение рассчитает вам в графе Result значение, от которого можно отталкиваться в дальнейшей настройке.
Дальше, мне хотелось сделать что-то под Android, ибо давно не имел дело с Java да и для личного опыта полезно разобраться с этой платформе.
Так родилось Android приложение ForzaSimpleTuner.
На это я потратил около недели, большую часть которого возился сперва с Android Studio, а потом с имплементацией EventListeners и Event Delegation (Java в этом вопросе уступает C#). В довесок к этому добавил поддержку Русского языка.
Да, могло быть лучше, как минимум с точки зрения производительности. Не ожидал, что такое относительно не большое колличество полей с поддержкой EventListeners будет так тормозить (по крайней мере тестированном девайсе пятилетней давности...). Может когда-нибудь починю эту проблему… но не сегодня.
Пишите в комментарии, если вас интересует техническая сторона этих проектов.
Принцип работы ForzaSimpleTuner тот же что и у веб приложения описанного ранее. Только здесь еще есть описания параметров, на что они влияют и как ими пользоваться.
Кто-то может задаться вопросом — Зачем это нужно если уже есть другие приложения для ForzaHorizon и Motorsport. Да — есть. Мне показалось будто эти приложения дают уже готовый, финальный результат. В таком случае, можно уж просто скачать чей-то пресет в самой игре. Мне хотелось разобраться самому как это работает, плюс чутка по программировать вне основной работы.
Если вам тоже интересно повозиться с машинами в Форзе, возможно мои веб или андройд приложения покажуться вам полезными.
Спасибо за внимание!
Лучшие комментарии