Closed maxbechtold closed 4 years ago
Two pairs in DiRT Rally 2.0 will still not be distinguishable by the described heuristics:
In these cases, a heuristics that picks one of the cars and sticks to it if the next stage shows the same UDP car data is benefitial for some reasons:
For DiRT Rally, 3 pairs are indistinguishable:
It could also be possible to try and identify RWD cars by interpreting UDP wheel/axle data, but this could only apply to one pair of each game.
Interesting approach. I'm an odd data point though : I use H-pattern with every car regardless of its default style !
Curious, @ErlerPhilipp mentioned that he's only using sequential mode. Perhaps I'm the odd one here :) I made the gear-shift heuristics opt-in.
I hope to publish a version including heuristics next weekend, maybe you want to try it out. Even the base heuristics which picks one car by chance should suit you, as it will create one update script instead of two for ambiguities.
@maxbechtold There is no other option when using a gamepad :( I'll check it out then. I wanted to try your tool anyway.
@ErlerPhilipp @fenugrec I released v2.7.0 with the new heuristics, adapted to your suggestions. Feel free to try it out and give feedback!
I'm also playing around with another heuristics where the user can "signal" dirt-rally-time-recorder from in-game which car s/he chose. Edit: #41
i have the first error case. here is the output from the time recorder:
TRACK: Camino a La Puerta
Ambiguous car data, 2 matches
Mitsubishi Lancer Evolution VI: H-PATTERN shifting, 6 speed, with HANDBRAKE
BMW M2 Competition: SEQUENTIAL shifting, 6 speed, with HANDBRAKE
Guessing car...
CAR: Mitsubishi Lancer Evolution VI
If heuristics-based guess IS WRONG, RUN THE SCRIPT provided to fix the recorded car:
==> 1589311053_CaminoaLaPuerta_BMWM2Competition.bat
Completed stage in 06:51.820.
It actually was the BMW M2. I'm playing with gamepad and manual sequential shifting. I guess, the heuristic should be able to find this case. I uploaded the run logged with my tool: gdrive You can open it with my tool or simply with numpy.load() and see if you can find a reason for the wrong heuristic.
I opened a separate issue for this, let's follow up there: #40
For anyone following the recently released user signals could be interesting for you.
These should go a long way in resolving ambiguities, and users should rarely need to go to the installation folder to run update scripts. Since I don't see any other helpful heuristics, I'll close this issue. Feel free to comment though.
By including the top gear of each car (cf. https://github.com/soong-construction/dirt-rally-time-recorder/releases/tag/v2.5.1), only a few pairs of ambiguous cars remain.
Most of these pairs can be told apart by their gearbox. It is either sequential or H-pattern. In the latter case, the timerecorder could test for non-sequential gear changes (e.g. 4>2 or 3>R). If any occur till the end of a stage, this indicates H-pattern shifting and it would be safe to assume which car was driven (disregarding substantial drop-outs in UDP telemetry).
In the case an H-pattern vehicle is driven without skipping gears or with the game configured to use sequential shifting instead, no false assumption is made.
Originally posted by @maxbechtold in https://github.com/soong-construction/dirt-rally-time-recorder/issues/12#issuecomment-599596544