After searching for hours to find a document where all possible Parameters in an rF2 GDB file are contained and briefly explained I did start this thread. Thanks to Tosch there was a good starting point. Further Information was allready JKA. I will further update this thread based on the information which will be available. At some point of time there will be hopefully some documentation from ISI available and this thread is no longer needed If a parameter is not fully understood I'll add a remark and put the text in between question marks. Please be aware that this document is WiP - if you see any failures or wrong statements please feel free to comment as needed. Basefile was the GDB file from Nordschleife as provided by Tosch. I did not change all the names to standard names - just consider "Nordschleife" as a placeholder for your track name ;-) -------------------------------------------------------------------------------- Nordschleife_Tourist_Summer //Base File { Filter Properties = GTWEC rFRS F2_2012 RCC ISIFM IndyCar TMOD Attrition = 30 TrackName = Nordschleife Tourist // Name of Track EventName = Tourist drives summer GrandPrixName = Tourist drives summer //this must be the same as event name in order to sort circuit info correctly. VenueName = Nordschleife_Tourist VenueIcon = Nordschleife_Tourist\Nordschleife_TouristIcon.dds Location = Nuerburg, Germany Length = 20.832 KM / 12.944 Miles TrackType = Permanent Road Course Track Record = Stefan Bellof, 371.130 FormationAndStart=2 // formation lap with rolling start (safety car leads the field and peels off into the pits) //RollingStartLoc=1 // Start from alternate grid TerrainDataFile=..\Nordschleife_Tourist.tdf // terrain file override HeadlightsRequired = true // whether headlights are required at night Max Vehicles = 39 NumStartingLights=5 ///////////////////////////Pit Groups/////////////////////////////////////////////// // format is: PitGroup = <# of vehicles sharing pit>, <groupname> PitGroupOrder { PitGroup = 2, Group14 PitGroup = 2, Group13 PitGroup = 2, Group12 PitGroup = 2, Group11 PitGroup = 2, Group10 PitGroup = 2, Group1 PitGroup = 2, Group2 PitGroup = 2, Group3 PitGroup = 2, Group4 PitGroup = 2, Group5 PitGroup = 2, Group6 PitGroup = 2, Group7 PitGroup = 2, Group8 PitGroup = 2, Group9 } PitOrderByQualifying = TRUE //?Does this change the Pit-Order depending on Qualifying result? SafetyCarAvailable = 0 // 0=no Safety Car ; 1=Safety Car depending on threshold multiplier (see SafetyCarRoadMult) MinimumYellowLaps = 1 LeadYellowLaps = 2 RacePitKPH = 60 NormalPitKPH = 60 PitlaneBoundary = 1 // 0 = no clear boundary between track and pits, so this requires a request in order to take a pitstop GarageDepth = 2.0 // distance, which AI car must drive straight before turning into pitlane (how deep car is placed in garage). If AI has problems to exiting garage safely, adjusting this might help TestDaystart = 7:00 Practice1Start = 8:00 Practice2Start = 9:00 Practice3Start = 10:00 QualifyStart = 10:00 RaceStart = 14:00 RaceLaps = 6 // Safety car threshold multipliers, in other words an adjustment for the sensitivity of the game to calling // full-course cautions. These can be different for road vs. oval courses. Lower numbers result in more // full-course cautions; default=1.0, possible values are 0.01 (very sensitive) and up. Values more than // 5.0 will probably result in no full-course cautions being called by the game (note that there are now // multiplayer admin commands to call cautions). SafetyCarRoadMult=5.00 // Whether full-course cautions may be called for a spin more than 90 degrees where the driver keeps going. // These can be different for road vs. oval courses. Higher values will result in more full-course cautions // due to these temporary spins; default=0.0, possible values are 0.0-2.0. SpinRoadSeverity=0.1 ///////////////////////////Time-of-day lighting////////////////////////////////////// ShadowMinSunAngle=15.0 ShadowMinDiffusion=-0.6 // min diffusion when sun is 100% occluded by clouds (range -1.0 to 1.0) ShadowMaxDiffusion=0.2 // max diffusion when sun is 0% occluded by clouds (range -1.0 to 1.0) ShadowSplitRatio=1.0 NightLightThreshold=0.5 SunApeture=0.06 // fov in radians of sun camera for computing cloud cover LocalCloudIntensity = 0.25 // intensity adjustment for cloud lighting 0.0: amb = diff; 1.0: amb/diff same as scene Latitude = 50.3 // degs from Equator (range: -90 to 90, positive is Northern Hemisphere) Longitude = 6.95 // degs from GMT (-180 to 180, positive is East) Altitude = 600.0 // meters above sea level RaceDate = July 14, 2014 // default date for the race TimezoneRelativeGMT = 1.0 // hours compared to Greenwich Mean Time (should be negative to the West) DSTRange=(88.0, 298.0, 2013, 2014) // (start day 1.0-367.0, end day 1.0-367.0, start year, end year); multiple lines allowed // U.S. example, where DST changed in 2007 (previous and future changes not simulated here): // DSTRange=(94.8, 301.3, 1987, 2006) // approximation of 1st Sunday in April to last Sunday in October // DSTRange=(70.8, 308.3, 2007, 9999) // approximation of 2nd Sunday in March to first Sunday in November //////////////////////////////////////////////////////////////////////////////////// // Variables to control behavior when Cutting the track and/or going wrong direction //////////////////////////////////////////////////////////////////////////////////// CutLeavingThresh = 2.5 // Threshold for leaving track CutJoiningThresh = 1.0 // Threshold for re-joining track CutPassPenalty = 0.40 // Penalty for each driver we pass (this is an inaccurate indicator) CutTimeRatioMax = 0.95 // Start penalizing even if we lose 5% of time CutTimeRatioPenalty = 0.35 // Penalty for fraction of time savings CutSecondsSaved = 0.75 // Penalty for each second saved CutWorstYawPenalty = 1.5 // Penalty for staying under control CutDirectionalPenalty = 1.0 // Penalty (actually reward) for being in wrong direction CutWarningThresh = 1.6 // Threshold for warning (or disallowance of lap) CutStopGoThresh = 3.0 // Threshold for immediate stop/go penalty ///////////////////////////Setup Information////////////////////////////////////////// SettingsFolder = Name_of_Track // Sub-folder to store Setups; typical value "TrackName" SettingsCopy = Name_of_Track.svm // ?Standard Setup? SettingsAI = Name_Of_Track.svm // Setup to be used by AI //////////////////////////////////////////////////////////////////////////////////// RearFlapZone // DRS for race sessions, actual data is wrapped inside brackets { and } { MinimumCrossings=3 // how many times you must cross the detection before it is allowed TimeThreshold=1.0 // how many seconds behind another car for it to be allowed DetectionLapDist=111.1 // distance around track from s/f line where time threshold is detected ActivationLapDist=222.2 // beginning of DRS zone DeactivationLapDist=333.3 // end of DRS zone (DRS zones can be wrapped around s/f line and you can have multiple DRS zones) } // Remark: Clarification how multiple DRS Zones (RearFlapZones) can be configured needed ///////////////////////////SCORETOWER DATA//////////////////////////////////////////// ScoreboardFont=Malaysia_SCOREFONT.tga // default is scoreboardfont.bmp ScoreboardBackground=SCORETOWERBKG.tga // default is scoreboardbkg.bmp ScoreboardMaxEntries=10 // how many car numbers can be displayed on tower (default is 32) ScoreboardStartX=0.0 // x-position in texture to write first car number (default is 0) ScoreboardStartY=0.0 // y-position in texture to write first car number (default is 10) ScoreboardIncX=0.0 // increment in x-position for each new car number (default is 0) ScoreboardIncY=51.2 // increment in y-position for each new car number (default is 16) ScoreboardScaleX=4.140 // scale multiplier for x (default is 1.0) ScoreboardScaleY=1.040 // scale multiplier for y (default is 1.0) ///////////////////////////LOOSE OBJECT DATA/////////////////////////// //<mass>, <inertia x>, <inertia y>, <inertia z>, <spring>, <damper>, <friction> sign_HayBayle=(70, 25.0, 25.0, 20.0, 7000.0, 420.0, 0.8 ) sign_KmMarkerA=(20, 7.0, 7.0, 6.5, 2000.0, 120.0, 0.4 ) sign_TurnMarkerA=(24, 8.5, 8.5, 8.0, 2400.0, 144.0, 0.4 ) post_reflectorA=(12, 4.0, 4.0, 3.5, 1200.0, 72.0, 0.5 ) post_FPostB=(10, 3.3, 3.3, 3.0, 1000.0, 60.0, 0.7 ) sign_FenceB=(20, 7.0, 7.0, 6.5, 2000.0, 120.0, 0.8 ) }
@Tosch: Thanks for the very good starting point. I'll start a list of all Parameters at the beginning of this thread, include new information and keep it updated. @All: If you have further information just post the new information at the end of this thread.
Few items, what comes to my mind... RearFlapZone => DRS for race sessions, actual data is wrapped inside brackets { and } { MinimumCrossings=3 => how many times you must cross the detection before it is allowed TimeThreshold=1.0 =>how many seconds behind another car for it to be allowed DetectionLapDist=111.1 => distance around track from s/f line where time threshold is detected ActivationLapDist=222.2 => beginning of DRS zone DeactivationLapDist=333.3 =>end of DRS zone (DRS zones can be wrapped around s/f line and you can have multiple DRS zones) } GarageDepth = 1.0 => distance, which AI car must drive straight before turning into pitlane (how deep car is placed in garage). If AI has problems to exiting garage safely, adjusting this might help. You can specify loose object data in gdb file like this: sign_HayBayle=(65, 20.0, 20.0, 15.0, 6900.0, 420.0, 0.8 ) => <mass>, <inertia x>, <inertia y>, <inertia z>, <spring>, <damper>, <friction> Also scoreboard data is specified in gdb, but I cannot remember correct format right now... Most likely they can be found on ISI tracks Silverstone and/or Malaysia. Pitgroup order is specified also in gdb. I think at least Silverstone uses them. Cannot remember correct format, need to check that out. Cheers!
Meaning that two DRS Zones could look like this? Looked for the entry in available Silverstone and Malaysia tracks - both tracks had just one RearFlapZone (DRS Zone defined) but Formula1 GP had 2 DRS Zones on both tracks?! RearFlapZone // DRS Zone 1 { MinimumCrossings=3 TimeThreshold=1.0 DetectionLapDist=111.1 ActivationLapDist=222.2 DeactivationLapDist=333.3 } RearFlapZone // DRS Zone 2 { MinimumCrossings=3 TimeThreshold=1.0 DetectionLapDist=444.4 ActivationLapDist=555.5 DeactivationLapDist=666.6 }
Have you been able to get the 'pit stop strategies' line to work in any tracks GDB? I haven't managed to get it working, but it worked fine on rf1.
Any idea of what unit is this? 2.5 meters? Inches? CutLeavingThresh = 2.5 // Threshold for leaving track
First important thing is to clean up the Cut corridors with dev mode: the cut corridor should only cover the legal surface. Protrusions from the auto generated corridors need to cleaned up. According FIA regulations Curbs are not part of the legal surface. - Trigger point is the cars center pivot point (not the wheels) - Orange line: CutLeavingThresh defines the legal borders. CutLeavingThresh = 1/2 car width (1,2 - 1,3 meters) - Yellow Line: CutJoiningTresh-line (in meters) is less then the CutLeavingThresh - Blue Line: Cut detection start when the cars center pivot point crosses the CutLeavingThresh-line and stops when it crosses the CutJoiningTresh-line - Time Calculations are compared with an AIW laptime: (Fast Path). CutTimeRatioMax = 0.95 // Start penalizing even if we lose 5% of time CutTimeRatioPenalty = 0.375 // Penalty for fraction of time savings CutSecondsSaved = 0.675 // Penalty for each second saved If the cut path is slower as the CutTimeRatioPenalty (slower as 95% AI Speed): then there is no penalty calculation. if the result of the CutTimeRatioPenalty + CutSecondsSaved is bigger then the CutWarningThresh, then there you get a warning. After 2 warnings you'l get a Stop and Go. - These seem to be the same for all tracks CutWorstYawPenalty = 1.5 // Penalty for staying under control, CutDirectionalPenalty = 1.0 // Penalty (actually reward) for being in wrong direction - Fine tuning: CutWarningThresh = 1.6 // Threshold for warning (or disallowance of lap) (lower value = more sensitive, higher = less sensitive) - Immediate S/G CutStopGoThresh = 3.0 ==> 3.0 seems to be the max value.
S397's AIW creation tutorial doesn't clearly specify the difference between corridor and cut areas, so I assume they are the same? I define the cut areas by changing the white and red lines of the corridor? so I'd write: CutLeavingThresh = 1.3 // for 1.3 meters? For example I saw a track (Monza) where that number is 100 and effectively you can cut any corner and would never get a warning. This is amazing info, thanks!
No, they are not the same: - AI corridors are the Blue/White lines. - Collision corridors are the Red lines. - Cut corridors are the Cyan (light blue) lines You can toggle these in the Show/hide menu. You can select 1 or more waypoints to adjust the corridors. (shift+arrowkeys or shift+alt arrowkeys) When working on the Cut corridors or any other corridor: hide all other stuff. Yes, the value is in meters and it should be +/- 1/2 the cars width. For a karting track this will be a bit less then 1.3 meters.
Thanks, will try again tonight. I did select a waypoint but shift + arrows wasn't doing anything, maybe because I was using the right shift.