racer home

Chair controllers


Home It's the controller of the future; chairs that move and let you feel the g-forces!

Dolphinity Organiser - free planning, project management and organizing software for all your action lists



Next to using input from wheels and other controllers, there's already output in the form of force feedback for wheels. This gives a nice idea of what the tires are doing. Still, some g-forces are still missing to give you an idea of how fast you're accelerating, braking and turning. Chair controllers can simulate that for you.

The company Force Dynamics is creating such a chair and is working with me to get support for their chair into Racer. For more info on that G-Force simulator (chair), visit their site. Thanks to David Wiernicki for contacting me. The G-force simulator will ofcourse also be made to work for other race simulation games.

The protocol described below is my own work though, and doesn't have to correspond directly to the actual protocol used later on by Force Dynamics.


In the main ini file, racer.ini, you have a section called 'chair'. The members you have to fill in are:

As you can see, Racer will output data from its internal engine through UDP on the network. This allows you to pick up the signal on another computer and do something with it; display it graphically, record it for telemetry applications, or drive an actual chair.


Every time an update is sent, Racer v0.4.9 (from alpha 1 on) sends this structure:

struct Packet
  int   time;
  short id0;
  float acc[3];
  short id1;
  float matrix[9];

Actually, a packet is flexible, and your 'reader' must support packets of varying length, where the 'int time' is always present, and then followed by id's and associated data. So for example the entire 'id1' and 'matrix' part could be skipped.

The time field is used to indicate the simulation time in milliseconds. This allows you to predict and interpolate the incoming packets better (in case of networking cluttering, you can for example detect incoming bursts of old packets).

Defined IDs:

More IDs will probably be defined in the future.


Actually, the chair interface can output more than just G-force information. However, since this feature is actually mostly there for high-end integrations, this document will not go into full details. If you have high-end hardware, you can contact me for any details.

Dolphinity Organiser - free planning, project management and organizing software for all your action lists

(last updated November 13, 2012 )