Jump to content

F1 2018 UDP Specification

Recommended Posts

The team ID should always be correct (if not, then let us know and we'll take a look). The driver ID should be unique to each player within the session.

Share this post


Link to post
Share on other sites
Ok then.. i have maybe found a bug when drivers join an online session during the Q or directly for the race when the lobby has already started. Not sure of what happened but it was like the game shuffled the rows and assigned wrong ids.. (maybe the new driver caused a "slide" through the list of the participants changing the rows order. I wll check this out and let you know.

Thank you for the quick answer. :)

Share this post


Link to post
Share on other sites
Lopensky said:
Ok then.. i have maybe found a bug when drivers join an online session during the Q or directly for the race when the lobby has already started. Not sure of what happened but it was like the game shuffled the rows and assigned wrong ids.. (maybe the new driver caused a "slide" through the list of the participants changing the rows order. I wll check this out and let you know.

Thank you for the quick answer. :)
I have been having reports of weird behaviour with the timing data as well.  I think I can now shed some light on this, the player car index is getting changed to an incorrect value when spectating (ie when the game automatically spectates other players after you finish the race while there are still others racing). I have a telemetry recording demonstrating this, the behaviour is as follows

During the entire race I (cjorgens79) am index 3. As you can see I am about to cross the finish line.

Once i actually cross the line, the game takes over control for approx 8 seconds (ignore times on the left as i was pausing the telemetry playback) before it auto switches to spectating the first car behind me that hasn't yet finished. In this case that is JacWichura (Neddis who finished ahead of me loses final result positions due to penalties so drops from 5th to 7th). The moment it switches to spectate JacWichura you can see the PlayerIndex changes from 3 to 4, and the spectating index changes from 255 to 3. 

Here is the participants list, you can see I am still id 3 (cjorgens79), but the playerindex is pointing to id 4 jacwichura while it claims it is spectating index 3 (me), but its not. 


I actually have a full video recording of the session along with a full telemetry stream recording so i have been able to analyse it to see exactly what was going on in the game vs the telemetry. It just looks like during spectator mode the players id gets copied into the spectator id and the actual spectator id is copied into the player id field. The player id field should never change, only the spectator id field should change to reflect which player id it is spectating. 

Share this post


Link to post
Share on other sites
@Hoo - in addition to the above bug, there is a related behavioural issue which occurs when you join a session but aren't allowed to participate in it. In the recording above, when i first joined they were part way through one-shot qualifying so i was forced into being a spectator. As I am not an actual participant i dont have a valid participant record. This is the state of the participants structure while im watching the session

however the telemetry tells me ..
PlayerID: 6, isSpectating: true, specCarIdx: 5
.. that i am playerIndex 6 (who is CrazyCrazy99) and says it is spectating player index 5 (meteora), however at the time the game is actually showing player 6 CrazyCrazy99. 

So the spectator index is wrong (due to the same bug as the previous post), but my concern for this post relates to the playerIndex. Since we dont have an actual participant slot yet by the looks of it, the value still needs to be something that doesn't reference an existing participant, so its no good telling our apps that we are someone else. So ideally it would just point to one of the empty slots, OR if that is too difficult to work out then to an invalid value like 255 (however developers would need to be aware of this so they dont try and use 255 as an invalid index into the array).


Share this post


Link to post
Share on other sites
Has anyone been able to get the button mappings (ie m_buttonStatus) working with the console versions of the game? Does it output values for buttons on wheels, or only gamepads? On the PC it works fine with the wheel, but I seem to be having problems with users who have consoles (not sure if its my issue or a game issue).

Share this post


Link to post
Share on other sites
Thanks for the info. I've passed this onto the dev team to look at.

Share this post


Link to post
Share on other sites
Hoo said:
Hi All,

We've fixed the issue where the SessionUID was being reported incorrectly for the first frame should be fixed now. 
We also investigated the issue reported by @SimShaker where the longitudinal forces were dropping out in the 2018 format, but were unable to repeat the issue here. Please let us know if you encounter either of these issues again.

Thanks.

@Hoo
Looks like the problem has gone. Thank you!

Share this post


Link to post
Share on other sites
Has anyone been able to get the button mappings (ie m_buttonStatus) working with the console versions of the game? Does it output values for buttons on wheels, or only gamepads? On the PC it works fine with the wheel, but I seem to be having problems with users who have consoles (not sure if its my issue or a game issue).
@Hoo I've just had confirmation from one my my testers using PS4 that the m_buttonStatus is not outputting anything for his wheel at all, the value is always 0. I have asked him to try with the gamepad and let me know if that works, so i will post an update on that later. When playing on the PC version of the game, m_buttonStatus works fine with my wheel so the issue seems to be console specific from what I can tell at this point.

Is there a reason why the buttons for wheel users on consoles aren't being included in m_buttonStatus? Could we please get this fixed, most of my users are wheel users and a lot of them have been complaining about not being able to get it to work as they want to map buttons on their controllers to functions in the app, eg so they can change information pages more easily while driving. Thanks

Share this post


Link to post
Share on other sites
@cjorgens79 - is the issue present when using a pad? Do you know what wheel the tester is using?

Share this post


Link to post
Share on other sites
Hoo said:
@cjorgens79 - is the issue present when using a pad? Do you know what wheel the tester is using?
@Hoo - im getting him to find out re gamepad, it may be specific to his wheel after all. I just got another person to test it separately who is also on PS4 and they said it worked for them so i am getting mixed reports. I'll find out more and get back to you. Cheers

Share this post


Link to post
Share on other sites
I’ve had reports that pad works fine for everything, and the wheel works for everything apart from L3/R3 (left/right stick clicks) on PS4.

Share this post


Link to post
Share on other sites
@Hoo - ok so I think the button status is actually fine on all platforms in most circumstances. I have managed to clarify all the feedback from a number of users as I had originally got myself mixed up slightly with which platforms different users were on. The only outstanding problem that I can see that exists is this one from a PC user.
He said "I connected an XBox One controller to my PC this morning and immediately it would let me map buttons to RSDash! I then tested mapping buttons on my wheel (Still with the Xbox one controller connected), and yes it let me map buttons to my wheel! Having the Xbox controller connected messed with my button mappings for my wheel though, so I disconnected that and restarted the game and it no longer lets me map buttons to my wheel in RSDash.
There seems to be something weird in the way Controller profiles are setup that causes the button mappings not to go through. In F1 2018, I normally just have one custom profile created and enabled. Everything else is disabled. I created my controller profile starting from the default "Keyboard" profile as suggested by Codemasters and other users on their forums and added my wheel mappings to that then saved to create a custom profile." 

So it seems there is a way that the button status wont output on PC, but it only happens if the controller profile is setup in a certain way. I'm not sure why he needed to set it up that way, I will discuss with him and see if he can set it up differently so that it works fine with the telemetry. On my PC I used the wheel profile as the base for my custom profile and that works fine with the telemetry, he obviously used the keyboard profile as his base and this doesn't work, which I can understand why that might be the case.

Share this post


Link to post
Share on other sites
Lopensky said:
Can someone confirm this pls?

PARTICIPANTS PACKET ... on PS4 the name will be the LAN name if playing a LAN game, otherwise it will be the driver name.



I have a PS4 and the names in online games all come through as ‘Player’ which is frankly useless. @Hoo is there any chance we can just get the original driver name sent through for online, ie Hamilton, Vettel etc in the same way as offline mode? 20 drivers called Player looks a bit daft... thanks!

Share this post


Link to post
Share on other sites
how to get remaining laps fuel after race?? exact number as in game lets say +1.47lap?? and why i don t see time gap in race to driver ahead and behind me? is it possible to count?

Share this post


Link to post
Share on other sites
Bexas said:
 and why i don t see time gap in race to driver ahead and behind me? is it possible to count?
There has already been a post in this thread, that tells you, how you can calculate the gap to the other drivers. you can do it by saving the time remaining of your driver every 100 meters or so and then compare it with the values of the other cars at that point. I'll add the exact post to this comment when i find it
Edit: found it


Lopensky said:
You can calculate it storing the sessionTime of all cars at fixed "checkpoints" (like each sector, or micro-sector if you want more updates, and then compute the delta between the two timestamps. ;)

Share this post


Link to post
Share on other sites
not sure what fuel load is, probably the starting fuel in L. If you want to know how many laps are left then you will need to calculate it by keeping track of the fuel use per lap and then using your calculated consumption figures to extrapolate the remaining laps, however dont forget that fuel mix plays an impact on that too.

Share this post


Link to post
Share on other sites
@Hoo - has there been any progress on the driver names and GDPR issues? I was just thinking, then the game is first installed the player is told to type in a first name, last name and a short 3 letter version of it for their in game driver/avatar. Could this name (first name + surname) be used instead of the PSN id, xbox live id or steam id? This is a user configurable value, so really it would be up to them what they want to call themselves.

If real or avatar names are still not an option, will the driver id ever be mapped back to a driver name in game? At the moment as you know the driver ids are unique per session, in the 100+ range, however that doesn't really help when working out what to display. A leaderboard where everyone is just called "Player" is not very useful. It would be preferable to at least use an actual valid driver id based on the team car they are in, I assume under the hood the player is actually allocated to a specific drivers car, as you can only have 2 cars from each team in the race right?

Share this post


Link to post
Share on other sites
Hi @cjorgens79, unfortunately our attempts to work around the legal constraints are not going well. We have another last avenue to try before we call time on it. Using the players' name runs into the same issues unfortunately.

We don't plan on mapping human drivers to the AI driver who was previously in that vehicle. All drivers should have unique driver IDs. You should be able to work out the team someone races for using the teamID value. There was a suggestion that this might not always work in online games, so please let us know if you find that to be the case. and we'll investigate further. 

Share this post


Link to post
Share on other sites
@Hoo


Hoo said:

LAP DATA 
PACKET...

Hi,

When doing some testing, I found following issues with LapData on Career Practice doing the Practice programs.

When going  on "out lap", on first time the sector stays 0 during the whole lap, but then the m_driverStatus changes suddenly during the lap from 3 - 'out lap' to 1 - 'flying lap'. To me it should change when you pass the start/finish line. The point of change is the same, where in the 'flying lap' you start your lap. Also on 'flying lap' from 'out lap' the lap number doesn't change, when you pass the start/finish line.

Then on doing more Practice programs, in the subsequent 'out laps', the sector is always 2 (from when you leave garage) all the way, until the new lap starts. And on these runs too, the lap number doesn't change, when you pass the start/finish line first time. And the 'out lap' to 'flying lap' switch happens mid lap in sector 3 also on these subsequent runs.

Cheers.

Share this post


Link to post
Share on other sites
Hoo said:
We don't plan on mapping human drivers to the AI driver who was previously in that vehicle. 

(also, previously, you said)
 If there is a requirement to know which of the two team slots they occupy in modern era races then that is a different piece of information that we don't currently send via the UDP packet.

Is possible to reconsider that idea and send team slots?  For championships, players use to repeat the same car, the same slot and developers could find an easier way to link with a participant list.

No room for that data? I'm pretty sure that it will have more appreciation for all of us than other information (2 tires damage data, for instance, is a great information, but less useful)  

Cheers




Share this post


Link to post
Share on other sites
@hoo Would it be possible to add 
The pitstop lap
current tyre 
next tyre
to the udp broadcast please?
It would be very helpful and stop the need to go through multiple pages on the mfd.
Thanks

Share this post


Link to post
Share on other sites
rawsy said:
@hoo Would it be possible to add 
The pitstop lap
current tyre 
next tyre
to the udp broadcast please?
It would be very helpful and stop the need to go through multiple pages on the mfd.
Thanks
Current tyre is already in the telemetry, its the m_tyreCompound field.

Share this post


Link to post
Share on other sites
Please Codemaster make it possible again for 2019 to have more than one UDP output stream ingame. It‘s horrible to get more than one device to work with F1 2018. 
The cmps doesn‘t solve it for me and create huge lags for my SLI Pro as well as for my Accuforce wheel. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×