forza_auto_gear is a tool for Forza Horizon 5. It will help us understand the best gear shift point using Manual or w/ Clutch in Forza Horizon 5. Built with python.
GUI Demo
A800, GTR93, Aerodromo Drag Strip
- Automatic (00:27.665):
- Manual (00:27.166):
- Manual with Clutch (00:26.441):
- Program, Manual with Clutch (00:26.265):
Install >= Python 3.8
- You could download and run the source code directly
pip3 install -r requirements.txt git submodule init git submodule update --recursive
- You could download the
Forza_Auto_Gear_GUI
from the release to run theForza_Auto_Gear_GUI.exe
directly.
- If you download the
Forza_Auto_Gear_GUI.exe
directly, the GUI is running. If you download the source code, please run:python ./gui.py
to use GUI. If preferred command line, please runpython ./main.py
. - F10 starts the data collection:
- Find a drag strip location.
- Starting from Gear 1, accelerate until fuel cut-off (rpm is vibrating), then up shifting gear. Repeat until reaching the maximum gear.
- Press REWIND to pause, then press F10 to stop data collect.
- F8 to analyze the data. It will generate the car performance figures like below:
Then the result will be saved at
./config/{car ordinal}.json
- F7 to start auto gear shifting! Press F7 again to stop.
- If you are running exp and skill point farming in long blueprint, you could enable the farming mode in GUI left panel by checking
farm
. It will help you press brake to avoid AFK detection and reset car position if you got stuck.
- By default the shifting mode is Manual with Clutch. You could change it in
constants.py
. If you are using the GUI, you could switch Clutch at the top right corner. If you want to change shortcuts, there are a few shortcut modifications available in left panel of GUI. - Lots of variables could be modified in
constants.py
- If you already have the config file, then run F7 directly. It will load the config automatically while driving. Or you could share configs to your friends. Don't forget to share your car tune as well :)
- You could modify the log level in
logger.py
for console and file handlers. - Feel free to modify any logic to fit your style.
- forza_motorsport for data reading protocol
- forza-MT-auto for the inspirations
- Optimal Shift Point for shift point calculation