Dirt Rally is shaping up to being a solid rally sim, which is pretty exciting considering there haven’t been any good rally sims released in about 10 years.  I was enjoying it with my old G27, but when I moved to an OSW I soon discovered that the game only supported a fixed list of popular steering wheels.  Almost every other driving game allows any direct input compliant steering wheel to be used, except Codemasters titles.  Perhaps they could rewrite their controller setup UI to be something versatile like the menus in iRacing or Assetto Corsa.

Support for generic wheels was promised for the 0.6 patch, and it does indeed support wheels which are not on their hard-coded supported list.  You’d hope you could plug in your wheel, load Dirt Rally 0.6, and off you go.  Well, sort of, there are a few hoops to navigate.

Clean installation of Dirt Rally

If you have previously modified any of the controller xml files for Dirt Rally, I’d suggest getting a clean copy of the game installation files.  You can do this through Steam client, right click on Dirt Rally, go into “Local Files”, and click “verify integrity of game cache…”.  This will update any files you have changed, so that you have all the official game files.

Override device type to wheel

Load Dirt Rally, and navigate to the Controller screen.  Click on “Choose Preset”.  Press F1 while you are highlighting your DirectInput device to override the controller type to wheel.  If multiple DirectInput devices are shown on this screen, you might need to override all of them.  This should make advanced wheel setup available on the controller screen.  You also might need to assign the steering axis, after loading the preset, in order for the advanced wheel options become available.

Advanced Wheel Setup

Under Advanced Wheel Setup, adjust the steering deadzone to 0.  I would recommend setting the brake/throttle/clutch deadzones to 0.

I also set the clutch saturation to 50%, to minimize the likelihood of missed gearshifts which Dirt Rally punishes you badly for.

The Advanced Wheel Options screen has a “calibrate device” section which you find if you scroll down to the bottom.  Use this to check that your range is setup correctly. (DXTweak is a great tool to configure controller axis range – max/min/centre values, and DIView is useful for identifying button numbers).

Vibration and Feedback

The Vibration and Feedback screen has a range of adjustments you can tweak to your liking.  I turned down Collision, because it’s a bit over the top, and also the suspension forces are a bit bumpy and annoying at times.  With a direct drive, you might also want to turn Centering force down to about 30% so it doesn’t rip your arms off when you’re dropped back on the road after a crash.  I’m still not entirely happy with their FFB implementation, it feels a bit dead and lifeless from 11 o’clock to 1 o’clock.  Maybe the game developers are still getting used to the precision and torque a direct drive can deliver around the center position, as compared to the G27 that flops around lifelessly until you turn it to either side.

Vibration and Feedback Dirt Rally controller direct drive

Turn down the torque

The biggest issue I found with the direct drive was that it was putting out too much torque for rally driving.  I would recommend turning down all the force sliders in vibration and feedback until you get the level of force you want.

A general note – I’d suggest leaving your force slider in the MMOS tool set to 100%, and adjust the torque in each game down to the required level.  This approach reduces force feedback clipping from the game, with headroom available for big bumps are required.

Wheel Friction

The steering friction effect was causing a lot of noise in my servo motor, and the solution was to add a small amount of filtering to the damping effect in the MMOS force feedback setup tool.  A friction filter of about 10-15 works for me, you don’t want too much filtering turned on – just enough to quiet the noise.

Assigning gears

There is an option in Dirt Rally preferences for h-pattern + clutch, h-pattern or sequential shifter, on the preferences screen, in profile.  After doing this, you can assign your inputs for Gear 1, Gear 2, Clutch, etc in the Controls screen.

Go Driving

Enjoy this game, it’s a fun rally driving fix.  I’ve got to say, after driving a lot of iRacing in the past week, I’m underwhelmed with the force feedback implementation in Dirty Rally.  Having said that, Dirt Rally has given me the most exhilarating driving sessions I’ve ever experienced, driving the front wheel drive Peugeot.  So much sensation of speed, and such fantastic handling.  I love it, it really is turning out to be a great game, amazing for an Early Access title.  I hope the devs can keep improving it before it’s released.

Optional – Modify DeviceSetup_V2.XML to change overall torque and friction

Another way to turn down the torque is to modify the XML files, so that there is a setup for the MMOS wheel.  Browse to the dirt rally “forcefeedback” folder, into the file called “devicesetup_v2.xml” and adding a section for the MMOS OSW DD wheel, so that I could adjust the overall force and friction down to about 60%.  Here’s what I added to “devicesetup_v2.xml”, with the appropriate ID to match the MMOS forcefeedback 2014 device.

<!– MMOS OSW Brute Force 2 Direct Drive –>
<FFBDevice name=”{0FFBF055-0000-0000-0000-504944564944}” scaleFriction=”0.5″ scaleForce=”0.65″/>

Optional – create a fully customized preset for OSW

I remapped one of the controller preset XML files for the MMOS wheel, which isn’t strictly necessary but allows me to set buttons for navigating menus, etc.  To do this, I modified lg_g27.xml in the “input” folder of dirt rally.  The device_type value needs to match the FFBDevice name value above to suit the MMOS.

Here’s my modified version of lg_g27.xml which has been configured for the MMOS direct drive servowheel with G27 pedals and shifter, it sits in the “input” folder of Dirt Rally.  Note the pedal axis are reversed from normal G27 (ie. you might need to change uniDir to uniDirNeg for each pedal axis).

<!– Action map for the MMOS Direct Drive with G27 pedals and shifter –>
<ActionMap name=”MMOS_DirectDrive_w_G27_Pedals_Shifter” device_type=”{0FFBF055-0000-0000-0000-504944564944}” priority=”0″>
<!– In Game Actions –>
<Action id=”Accelerate”>
<Axis id=”di_x_axis_rotation” type=”uniDir” deadzone=”0.0″ saturation=”1.0″ />
</Action>
<Action id=”Brake”>
<Axis id=”di_y_axis_rotation” type=”uniDir” deadzone=”0.0″ saturation=”1.0″ />
</Action>
<Action id=”Clutch”>
<Axis id=”di_z_axis_rotation” type=”uniDir” deadzone=”0.0″ saturation=”0.5″ />
</Action>
<Action id=”Steer Left”>
<Axis id=”di_x_axis” type=”biDirLower” deadzone=”0.0″ saturation=”1.0″ />
</Action>
<Action id=”Steer Right”>
<Axis id=”di_x_axis” type=”biDirUpper” deadzone=”0.0″ saturation=”1.0″ />
</Action>
<Action id=”Handbrake”>
<Axis id=”di_button_18″ />
</Action>
<Action id=”Gear Up”>
<Axis id=”di_button_16″ />
</Action>
<Action id=”Gear Down”>
<Axis id=”di_button_17″ />
</Action>
<Action id=”Gear 1″>
<Axis id=”di_button_24″ />
</Action>
<Action id=”Gear 2″>
<Axis id=”di_button_25″ />
</Action>
<Action id=”Gear 3″>
<Axis id=”di_button_26″ />
</Action>
<Action id=”Gear 4″>
<Axis id=”di_button_27″ />
</Action>
<Action id=”Gear 5″>
<Axis id=”di_button_28″ />
</Action>
<Action id=”Gear 6″>
<Axis id=”di_button_29″ />
</Action>
<Action id=”Gear Reverse”>
<Axis id=”di_button_31″ />
</Action>
<Action id=”Reset Vehicle”>
<Axis id=”di_button_20″ />
</Action>
<Action id=”Change View”>
<Axis id=”di_button_23″ />
</Action>
<Action id=”Pause”>
<Axis id=”di_button_21″ />
</Action>

<!– FE Actions –>
<Action id=”Menu Left”>
<Axis id=”di_dpad_0_left” />
</Action>
<Action id=”Menu Right”>
<Axis id=”di_dpad_0_right” />
</Action>
<Action id=”Menu Up”>
<Axis id=”di_dpad_0_up” />
</Action>
<Action id=”Menu Down”>
<Axis id=”di_dpad_0_down” />
</Action>
<Action id=”Menu Select”>
<Axis id=”di_button_16″ />
</Action>
<Action id=”Menu Back”>
<Axis id=”di_button_18″ />
</Action>
<Action id=”Menu Button3″>
<Axis id=”di_button_17″ />
</Action>
<Action id=”Menu Button4″>
<Axis id=”di_button_19″ />
</Action>
<Action id=”Menu Left Shoulder”>
<Axis id=”di_button_20″ />
</Action>
<Action id=”Menu Right Shoulder”>
<Axis id=”di_button_23″ />
</Action>
</ActionMap>

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s