The online racing simulator
Next-Incident-Button
(23 posts, started )
Next-Incident-Button
Please, could you implement a "next-incident" button for replay, I can't imagine it's so difficult.

Couldnt find this feature in no sim so far, would be great!
#2 - garph
What do you class as an incident? Yellow flags? Contact?
Yes, all that we are searching reviewing a race...
Quote from Christof Blum :I can't imagine it's so difficult.

I can imagine it being very difficult. And I am a programmer.
Quote from geeman1 :I can imagine it being very difficult. And I am a programmer.

You're not a very imaginative one then (no offence), it's very easy. Scan till you hit a damage block or yellow flag, pause the replay and focus the camera on one of the players involved. All done.
Of course it's not that easy for us, since the actual MPR data is not documented, but it's no biggie for Scawen.

€: You could actually scan for yellow flags and high angular velocity using InSim and 32x speed, wouldn't skip right to the next incident but it would be a lot faster than doing it by hand, especially since you can't watch the whole field at once but an InSim appilcation could.
Well, detecting contact and yellow flags is not that hard. But what about incidents where none of those are present? Or incidents that have them, but are not really any interest? How about if there are incidents in a big succession like example bump drafting? Is a blue flag an incident? What if there is multiple incidents at the same time in different spots of the track?
Also you most likely would like to start viewing a bit before the incident, but LFS' replay system has to always run the replay, you can't truly skip to any one spot. So you would first have to run it to the point of incident and then run it from the start to the time just before the incident. That could become a problem in long race with many successive incidents.
How much before the incidents is a good time to start viewing?
The yellow flag implementation is fairly reliable, I would code such a system under the assumption that it's sufficient to tell major and minor incidents apart.
Bump drafting doesn't cause a yellow flag, nor does it result in high angular velocity, unless something goes wrong which would make it an incident of interest.

Multiple incidents at the same time at different locations would simply be processed sequentially, in the order the CompCars were received in.

Pre parsing the replay once, perhaps with the camera pointed at the sky for maximum framerate, could solve the "incident intro" problem (start viewing ~10 seconds before the incident) and still be much faster than reviewing the entire review once "by hand".
Quote from morpha :The yellow flag implementation is fairly reliable, I would code such a system under the assumption that it's sufficient to tell major and minor incidents apart.

But shouldn't this kind of system be close to 100% reliable. If it isn't you would have to go through the replay by hand anyway.
Quote :Bump drafting doesn't cause a yellow flag, nor does it result in high angular velocity, unless something goes wrong which would make it an incident of interest.

But what about contact? Wouldn't you classify people bumping in to each other incidents?
Quote from geeman1 :But shouldn't this kind of system be close to 100% reliable. If it isn't you would have to go through the replay by hand anyway.

I think it is close to 100% reliable, but if it's not, a node-based velocity lookup-table could solve that, although that would be A LOT of work.

Quote from geeman1 :But what about contact? Wouldn't you classify people bumping in to each other incidents?

Draw 2 rectangles representing the cars, facing the cars's direction at their relative directions onto a surface, if lines overlap, there is a collision.
Quote from morpha :I think it is close to 100% reliable, but if it's not, a node-based velocity lookup-table could solve that, although that would be A LOT of work.

I guess you are referring to significant crashes. But the thing is low speed bumps can effect race a lot too. Those are the ones not easy to detect reliably and without too much false positives.
Quote :Draw 2 rectangles representing the cars, facing the cars's direction at their relative directions onto a surface, if lines overlap, there is a collision.

A collision detection, but what does it have to do with the text you quoted?
Quote from geeman1 :I guess you are referring to significant crashes. But the thing is low speed bumps can effect race a lot too. Those are the ones not easy to detect reliably and without too much false positives.

I don't know what exactly triggers a yellow flag, but if it's insufficient, you could just use the collision detection and drop the yellow flag+angular velocity concept entirely.

Quote from geeman1 :A collision detection, but what does it have to do with the text you quoted?

People bumping into each other are colliding, are they not?
Collision detection wouldn't always work, because sometimes small bumps make a difference, sometimes they do not, sometimes you hit a other car on purpose multiple times (bump drafting). And not all incidents involve actual collisions.

I don't get the angular velocity thing either. You still would need to know what direction/speed combinations are incidents and determining that is the hard part.
Quote from geeman1 :Collision detection wouldn't always work, because sometimes small bumps make a difference, sometimes they do not, sometimes you hit a other car on purpose multiple times (bump drafting).

Whether an incident is relevant or not is for the race officials to decide, the "next incident"-button is there solely to quickly jump to incidents so they can be reviewed more efficiently.

Quote from geeman1 :I don't get the angular velocity thing either. You still would need to know what direction/speed combinations are incidents and determining that is the hard part.

You don't need to know what direction/speed combinations are incidents, just the approximate maximum of the cars on whatever tyres they have on with a reasonable margin. Everything that falls between the actual maximum and the maximum defined in the application is extremely likely to slow the car down enough to cause a yellow anyway. If that's still not enough, you could use the drift angle as additional factor.

This application would certainly pick up more incidents than a human ever would, I bet most of the minor incidents you think of as hard to detect wouldn't be detected at all by humans.
Quote from morpha :This application would certainly pick up more incidents than a human ever would, I bet most of the minor incidents you think of as hard to detect wouldn't be detected at all by humans.

I didn't mean they would be hard to detect. I meant it would be hard to detect what are actually relevant incidents. I think there would need to a be a some kind of relevancy check so that the "next-incident" button would be of use.

Anyway you talking about angles, speeds, margins and what not and us having this conversation, just proves that this is not a easy job to do.
Quote from geeman1 :Anyway you talking about angles, speeds, margins and what not and us having this conversation, just proves that this is not a easy job to do.

It's significantly easier for Scawen since he can just use the already existing collision detection. This is an improvement suggestion after all, not an InSim app request.

I'd still consider the InSim implementation easy, seeing as we've got solutions to most problems in a mere 9 posts. Would take more time than I'm willing to spend though.
Look at this for example ( at "incidents & chats" -> "Complete overview of incidents"): rFactor-report

all timestamps there, merge some wallriding, and there it is... no chance for this in LFS?

I use the timestamps to analyse the replay... VERY easy and effective... but could be still more efficient - with a button ingame.

And there's no need for 100% reliability... maybe perfect for an external plugin?
Quote from morpha :It's significantly easier for Scawen since he can just use the already existing collision detection. This is an improvement suggestion after all, not an InSim app request.

Not all incidents have a collision...
Quote from Christof Blum :And there's no need for 100% reliability... maybe perfect for an external plugin?

Scawen could add a packet to InSim that would report if a car collides (if it doesnt already). That way a external app could be made to gather that information.

But I just don't think there is a reasonable way to make LFS detect all incidents that might interest a person watching the replay. So you would probably have to go the replay through by hand to catch all incidents.
Quote from geeman1 :Not all incidents have a collision...

Incidents not resulting in either a collision or yellow flag, which would be really minor mistakes, can't possibly be relevant though, that's just racing.

Quote from geeman1 :But I just don't think there is a reasonable way to make LFS detect all incidents that might interest a person watching the replay. So you would probably have to go the replay through by hand to catch all incidents.

Again, the InSim app can "watch" the whole field at once and catch pretty much all that matters if everything we came up with so far is implemented. A person would have to watch the entire replay at least once from each driver's view to gather the same amount of information.
Quote from morpha :Incidents not resulting in either a collision or yellow flag, which would be really minor mistakes, can't possibly be relevant though, that's just racing.

A blue flagged person slowing down (so much it makes a difference to the race result) someone would be one that pops in to my mind. Surely a race marshal would like to see that.
Same goes for swerving on the straight or other dangerous movements that can cause people to slow down/lose positions without there actually being a collision.

PS. It's kind of annoying and insulting that you talk like I don't understand simple concepts like how collisions are checked or how InSim works. And that seems to make you also forget what you are quoting.
Quote from geeman1 :A blue flagged person slowing down (so much it makes a difference to the race result) someone would be one that pops in to my mind. Surely a race marshal would like to see that.
Same goes for swerving on the straight or other dangerous movements that can cause people to slow down/lose positions without there actually being a collision.

All of which would almost certainly cause a yellow.

Quote from geeman1 :PS. It's kind of annoying and insulting that you talk like I don't understand simple concepts like how collisions are checked or how InSim works.

I didn't mean to insult you, I was merely explaining how you could reconstruct data that isn't natively available from InSim by using data that is available. Collision detection cannot be done soley by using data available from the InSim interface, it's not something commonly done within InSim applications and it's certainly not a simple concept if implemented using the limited data we have.

Quote from geeman1 :And that seems to make you also forget what you are quoting.

Care to elaborate? Scrolling back up through the topic, I cannot find anything I posted that wasn't related to what I quoted
Quote from morpha :All of which would almost certainly cause a yellow.

Yellow flags are only caused if a person is spun on the track or a lot slower than other people. So not all of those situation would cause a yellow.
Quote :Care to elaborate? Scrolling back up through the topic, I cannot find anything I posted that wasn't related to what I quoted

When I talk about how you can't detect non-colliding incidents you answer by telling how insim works or how collisions are detected.
Quote from geeman1 :Yellow flags are only caused if a person is spun on the track or a lot slower than other people. So not all of those situation would cause a yellow.

One would have to gather statistics on this, but in my experience, unexpected manouvers with significant consequences cause yellow.
Unfair driving would almost certainly be reported by the affected, so software to detect this seems like a waste of time to me. It can be done though.

Quote from geeman1 :When I talk about how you can't detect non-colliding incidents you answer by telling how insim works or how collisions are detected.

Where in this topic would that be? No, nevermind.
Again, I didn't mean to offend you in any way, yet I get the feeling you took offense in my first reply to this topic and subsequently interpreted my posts as if they were written with hostile intent. They were not, I apologise for the unclear wording.
I don't think you're stupid either, several posts you made on here prove you know your stuff.
Let's just agree to disagree about whether it's easy or not and leave it at that

Next-Incident-Button
(23 posts, started )
FGED GREDG RDFGDR GSFDG