Forza Motorsport 7 'Data Out' feature details

It can also be used to make the motion rigs that Turn10 uses at big events like E3 to demo the game. So when you corner the thing your sitting in properly leans to add immersion. It can also be used to make apps and other things that enhance the experience that other people have already posted.

Of course if you want to build a motion sled get ready to spend a very large sum of money…

basically, its a telemetry control for dof platforms and dash controllers.

Do you think rev lights on Fanatec wheels will work now?

1 Like

How can I start working on this?

Things like this would be possible

I built this for rFactor on the PC, it basically takes the stream from the game and sends it to an arduino which then outputs the data to physical items, such as LED's servos, etc,

the same thing could be acheived here using the data stream from the xbox, if the info is there, we can output it however we like

1 Like

How long do you think it will take for some one to actually create something easily accessible with this tech?

I’ve already wrote something which can read the data :slight_smile:

Just need to make it do something useful

1 Like

the link for the dashboard is above, it works with project cars and forza 7. Although forza is limited as you only have led lights for revs and speed reading, no gear info, on my mobile.

Although this may change soon.

I paid a few quid for it so give it a try.

Can devs comment on this?

3 Likes

Anyone had any luck making use of the data in Python?

I can read the UDP packets on my Raspberry Pi but I’m not sure if I’m doing it right. Taking it in as an array seems to have a length of 232, and only indices 4-7 or so have any data.

Yes. I wanted to be able to get some TSV of the data, so I wrote some Python to do this and put it on GitHub just now: GitHub - nettrom/forza_motorsport: Various utilities to work with data streams from the Forza Motorsport and Forza Horizon games.

There’s both a class for the data packets themselves, and a stream-to-TSV script that uses it. Hope that’s helpful!

2 Likes

not python but I have in Java

there are 58 variables, all of which are output in chunks of 4 bytes in hex, you need to take this data and convert it to a 32bit int / float depending on which variable you’re looking at.
bytes 4-7 = timestamp, that’s all you’ll see unless your in a race unpaused

I spent most of the night looking at it and I now understand the data enough to have the individual data values streaming in real time to the command line

just out of interest, what are you planning on doing with the data once you’ve processed it?

2 Likes

Thanks, I might give it a go in Java since I already have a basic understanding of it. As for what I’m doing with it, not much really. Just a little coding exercise to see what I can do with it and maybe set it up as a little telemetry app on a tablet or something.

1 Like

Could sombody write something like that:
if s32 IsRaceOn = 1 then f32 CurrentEngineRpm/(f32 EngineMaxRpm - f32 EngineIdleRpm) ==> G29 rpm leds

Becouse logitech cant :slight_smile:

1 Like

What’s the benefit of this for Xbox players? Why should I be excited about This?

I’m ignorant in regards to this update; therefore, I don’t quite understand why this is a big deal. Feed me knowledge oh wise tech fans!

1 Like

Why wasn’t the in game telemetry fixed with this update?

when will more data be added,

we only have speed and revs, no gear indicator or timings?

please advice on this

[Mod Edit - thread merged. Don’t create duplicate topic threads. - MM]

Well for example, I race on a wheel and find the HUD really distracting in game so I turn it all off. I can easily make a clamp that attaches to my stand and hopefully with update, my tablet wiill be able to show me live telemetry like fuel, revs, gears, speed etc etc.

On a side-note, as I said before about a race engineer, Imagine if you could implement a race engineer to say some generic lines when certain values are met. Say for example:

  1. When you are on the last lap: “You’re on the final lap, keep it smooth and bring the car home.”
  2. When you have more than 70% tire wear: “You’re tires are looking pretty won right now, we can see some severe blistering and high degradation so grip will be low. Make sure you pit before the tires hit the cliff.”
  3. When you have less than 10% of fuel remaining: “You have about 10% of fuel remaining, were running low. Lift and coast and short shift to conserve until your next stop.”
  4. When the driver ahead or behind pits: “Driver ahead/behind is in the pits, I repeat, driver ahead/behind has just entered the pit lane.”

Those are just a few basic ones but I’m sure it’s possible to be done.

I use one on Assetto Corsa and PC2 called CREW CHIEF which works with UDP data. So it’s certainly possible.

Lol, the thread will be merged for sure. As for data, Turn 10 said they’ll bring in more later. I thought there was more data than just revs and speed? I thought fuel was there too. Either way, I’d say wait until July.

I wrote a quick and dirty listener in C# in case anyone wants to see the basics of parsing this data stream:

Now we need a bit more data in the stream to do some of the stuff I have ideas for :slight_smile: (speed in mph/kph, gear selected, etc).

2 Likes