soong-construction/dirt-rally-time-recorder

Heuristics: Interpret user signals to tell car

maxbechtold opened this issue · 2 comments

A regular user is aware of the limitations and will soon know which cars dirt-rally-time-recorder cannot identify. Defining some simple, undistracting signals through user inputs could be a pragmatic way to solve ambiguities.

The criteria are:

  • there should be two distinct signals, since all ambiguities in DR1 and DR2 are twofold
  • the heuristics should work for inputs both digital and analogue, i.e. keyboard, gamepad, and wheel/pedal systems
  • signals must be transmitted pre-launch, so as not to hinder the game experience

For now, I'll go with the following signals:

  • engage throttle turning left
  • engage throttle turning right

That means: When the first throttle input (under handbrake at stage start) occurs with the wheel turned left, this is taken as a signal. The same for the wheel turned right. This should not lead to unintentional signals as the wheel is usually centered at start.

It should be helpful to signal reception of signals by the tool like #30 suggested. https://github.com/hamiltron/py-simple-audio should be fine to play a sound like https://freesound.org/people/acollier123/sounds/122671/.
Sound playback should be configurable.

User signals work fine for DiRT Rally 2.0. Not so much for DR1, where UDP telemetry starts when the car approaches the start line in a rather unnecessary "teaser" that can't be skipped. Without handbrake telemetry, it would require additional heuristics to skip over that teaser part.

Also

  • there are only two pairs of cars where user signals could be applied
  • one of those are the Peugeot 205 T16 and its Pikes Peak variant, where user signals could be applied for the latter (Pikes Peak starts without the teaser)
  • the remaining ambiguities are for a trio of 2010 rally cars where the dual user signals cannot be applied

So for DR1, the docs will advise against enabling user signal heuristics.