Posts: 1,657
Threads: 73
Joined: Aug 2017
Reputation:
14
02-12-2019, 06:01 PM
(This post was last modified: 02-12-2019, 06:48 PM by samsepi0l.)
------------------------------------------------------------------------------
More on SPEED, POSITION & CORIOLIS by Robert Szikszo copied from his EDIT45 readme:
SPEED:
The SPEED graph simply shows the ideal speed in [mph], which AI-cars try
to reach at that point of the racetrack; if it is too much in a corner
they maybe spin out. Here you can edit the AI-cars' acceleration.
POSITION:
The POSITION graph shows the transversal position in [ft] of car on the
track. The more positive position means that car drives on the left, and
more negative position means that car drives on the right from the center-
line. On an ideal track, the zero position should be represent the
centerline. BUT THERE ARE ONLY A FEW TRACKS OF ALL WHICH ARE IDEAL!
If this graph is nearly constant, the car drives on a straight line. If
this looks something like a sinus wave, the car is probably in a long
corner, or just changing the side to prepare for the next corner . If the
sinus wave is transferred to a narrow peak, the car is probably in a
sharp corner. The corner's type mainly depends on the actual speed values.
A left-hand corner is a "hill", and a right-hand corner is a "valley" in
the graph. You should know well enough the tracks to identify what kind of
moving you see on this graph; the best would be if you had a track-map.
A good cornering produces a nice sinus wave in the graph (car moving
from one side of the track to the inside of the corner, and back).
CORIOLIS:
The CORIOLIS graph shows the coriolis force, probably. It is positive
when car comes closer to the centerpoint of a corner, and negative when
car moves farther from it. In straights, this value should be zero, or
unsignificantly low. I THINK these values do NOT need updating, but I have
created a function - called ACC (Automatic Coriolis Correction), which
can calculate out the right coriolis value from the position and speed
datas by pressing the <ALT> + <A> keys.
Does anyone know how to calculate CORIOLIS From the SPEED and POSITION values?
Posts: 1,684
Threads: 29
Joined: May 2017
Reputation:
49
I'm trying to learn more about LP files and AI editing given how it influences what you can do with the SG.
I think I understand that the LP file has the 3 data points for each record: speed (which I believe is expressed in 500ths/frame, where frame is 1/15 second), coriolis, and DLAT. And the tutorial says that each record represents approximately 65500 DLONG along the track (wondering if that number is actually 65536, or 2^16).
But I am most curious about @samsepi0l's question - what is the purpose of coriolis and what happens when you leave those zero or have incorrect values? I know Dennis has said that it can't be too high, but other than that I couldn't find much information aside from speculation that it has to do with AI cars spinning.
Posts: 1,657
Threads: 73
Joined: Aug 2017
Reputation:
14
(09-04-2021, 07:18 AM)checkpoint10 Wrote: I'm trying to learn more about LP files and AI editing given how it influences what you can do with the SG.
I think I understand that the LP file has the 3 data points for each record: speed (which I believe is expressed in 500ths/frame, where frame is 1/15 second), coriolis, and DLAT. And the tutorial says that each record represents approximately 65500 DLONG along the track (wondering if that number is actually 65536, or 2^16).
But I am most curious about @samsepi0l's question - what is the purpose of Coriolis and what happens when you leave those zero or have incorrect values? I know Dennis has said that it can't be too high, but other than that I couldn't find much information aside from speculation that it has to do with AI cars spinning.
To the best I can understand, I think it is basically a measure of the "G-force" when accelerating radially (like in a corner)
Back in physics class they teach you "there is no such thing as centrifugal force", but for all intensive purposes I think we can think of it like this.
When it comes to AI, I never use the recorded Coriolis. I always hit "alt and a" to mathematically and automatically determine it.
Let's say when making LPs, you did something completely stupid like entered a speed of 200mph while a car was making a 90-degree street corner bend (like say, turn 1 at long beach). The Coriolis calculated would be so high the CC could never make the turn. I have done dumb things like this in the past, and the cars usually slide off the prescribed line and crash into "minpanic or maxpanic" which can be though of as a magical barrier for which the cars can not cross.
Posts: 1,684
Threads: 29
Joined: May 2017
Reputation:
49
(09-04-2021, 07:30 AM)samsepi0l Wrote: Let's say when making LPs, you did something completely stupid like entered a speed of 200mph while a car was making a 90-degree street corner bend (like say, turn 1 at long beach). The Coriolis calculated would be so high the CC could never make the turn. I have done dumb things like this in the past, and the cars usually slide off the prescribed line and crash into "minpanic or maxpanic" which can be though of as a magical barrier for which the cars can not cross.
Are maxpanic and minpanic usually the same DLATs as the wall?
And let's say you have a a 200 mph going into a corner and a high Coriolis, as in your example. If you keep the 200 mph speed but manually change Coriolis to a lower number, would the AI car actually make the turn at 200 mph?
Posts: 1,657
Threads: 73
Joined: Aug 2017
Reputation:
14
09-04-2021, 02:20 PM
(This post was last modified: 09-04-2021, 02:29 PM by samsepi0l.)
(09-04-2021, 07:51 AM)checkpoint10 Wrote: (09-04-2021, 07:30 AM)samsepi0l Wrote: Let's say when making LPs, you did something completely stupid like entered a speed of 200mph while a car was making a 90-degree street corner bend (like say, turn 1 at long beach). The Coriolis calculated would be so high the CC could never make the turn. I have done dumb things like this in the past, and the cars usually slide off the prescribed line and crash into "minpanic or maxpanic" which can be though of as a magical barrier for which the cars can not cross.
Are maxpanic and minpanic usually the same DLATs as the wall?
And let's say you have a a 200 mph going into a corner and a high Coriolis, as in your example. If you keep the 200 mph speed but manually change Coriolis to a lower number, would the AI car actually make the turn at 200 mph?
Well, for example the txt files that are converted to LP files have a unit conversion, so they become feet, not DLAT values which would be papy 500s right? Also, I would think that MAX/MINPANIC also have slightly "less" values than the wall if you ignore the "unit difference"
The example I will stick with is T1@ long beach again for the sake of consistency. This is a right hand corner in the game.
If you drive along the outside of T1 to record maxpanic, your LEFT tires should be rubbing the wall. Since the car is about 6ft wide, the DLAT of the wall would be about 3ft more than the maxpanic values you record. (Not a perfect example but I think you can visualize what I am saying)....
As for your "200mph" question- I don't know for sure because if I tried it, I can't remember the results. My gut says that we would probably NOT be able to "fake" the AI's to stick to the ground like this. If I had to guess- (and this is totally just a guess), I think the coreilis is only there to tell the game what places CC's are likely to crash during a race. I mean it would be stupid if you were following another car and they just completely lost it on a straightaway right? I've never seen that happen.
One thing I have always wished and fantasized about: I would love a tool that tells me which LP a car is currently using when I watch a replay- this would help with AI creation so much because we could troubleshoot where problems happen so much easier instead of just doing it by experience.
The perfect example would be the long beach hairpin. In ICR2 sometimes I'm sure you've all seen cars seem to take a wide line through here from time to time with no apparent reason. I think something is causing them to switch to MAXRACE when this happens. I don't know exactly why though. I had a similar example that I documented when I made new LPs for TJERKS glenboot.
I would think that conceptually we should be able to monitor some value in memory that would tell us maybe a hex value or something that changes when I car changes which LP it is using... sorta like letting a passenger know which train-track a train is on.
Posts: 526
Threads: 4
Joined: Dec 2013
Reputation:
6
09-04-2021, 04:12 PM
(This post was last modified: 09-04-2021, 04:14 PM by Dennis.)
I think, I saw somewhere a formula, but I don't know where.
Looking at the data, I think, Coriolis is a kind of lateral speed. It shows, how fast the position value is changing. I'm sure, it's calculated from the speed and from the position difference.
I don't know, how AI car's physics really works, because depending on the text files, created from the replays (and I think the .lp files look similar), they don't have full 2d physics, it's more like in an arcade game. In the data there's no difference in the Coriolis value, if the car drives on a straight or in a corner, because position value, used for the calculation, is always the distance to the track centerline. To calculate a real force from it, the force, created by the speed and corner radius must be added to it.
Posts: 1,684
Threads: 29
Joined: May 2017
Reputation:
49
09-04-2021, 05:42 PM
(This post was last modified: 09-04-2021, 05:43 PM by checkpoint10.)
Appreciate the discussion here.
In my Nashville thread I mentioned that I made some simple AI simply by using the DLATs of walls. Here's some crazy stuff that happened at the chicane (speed is constant at 100 mph). I am of course hoping that Pavel is right that, if done using the normal method, the cars should be able to navigate the chicane properly!
Posts: 1,356
Threads: 67
Joined: Nov 2006
Reputation:
31
With Robert's Lpedit program comes Lpinfo.txt file where Coriolis force with formula explained. And also he explained how his program calculates it.
I always feel that Coriolis value in lp files is just lateral speed, like Dennis said.
Posts: 64
Threads: 3
Joined: Oct 2015
Reputation:
1
One suggestion with the coriolis would be to put a huge amount manually in the pit.lp on the apron just before pitlane of big speedways for example. This would be seldomly triggered compared to clocking one of the turns during a green flag session but with astronomical amount it would reduce the probability of something wrong not happening so the AI cars could loose control while braking hard just before pit lane. Or with a treacherous curve where it is more difficult to avoid trouble the amount could be increased a bit also.
Posts: 526
Threads: 4
Joined: Dec 2013
Reputation:
6
(09-04-2021, 07:18 AM)checkpoint10 Wrote: But I am most curious about @samsepi0l's question - what is the purpose of coriolis and what happens when you leave those zero or have incorrect values? I think, if you make the value zero or too low, that happens, what we can see in your video.
One thing, for that the Coriolis value could be used is, calculating the angle of the car to the centerline. If it is so, with zero Coriolis value but changing position value, the cars would move sideways, instead pointing to the driving direction. But I think, it's not the only thing, because calculating the car angle could be made probably easier.
(09-04-2021, 02:20 PM)samsepi0l Wrote: The perfect example would be the long beach hairpin. In ICR2 sometimes I'm sure you've all seen cars seem to take a wide line through here from time to time with no apparent reason. I think something is causing them to switch to MAXRACE when this happens. I don't know exactly why though. I had a similar example that I documented when I made new LPs for TJERKS glenboot. The reason, why cars are move away from the racing line is another car in the way. But, after they moved to the passing line, they stay there for longer as necessary, and I don't know, on what depends, when they are changing back to the racing line. Is it, when there is another car in the way, or is it, where the passing line is close enough to the racing line, or where the racing line is faster, or when they are far enough in front of the overtaken car?
|