gecko
Charter Member
I've been thinking some about how dogfights with the AI play out and how they often don't reflect real dogfights. Most of the time, all the aircraft fight to the death until one side has been annihilated and the victors move on. In real life pilots often commented on how quickly they found themselves one minute in a fierce battle and the next in an empty sky. And quite obviously, most fights did not end in the complete destruction of either side, with the majority of the aircraft involved usually returning home.
In CFS3 I think this comes down to the distance at which the AI will turn to engage an enemy. Right now it appears to be just under two miles. This may or may not be realistic, but it does seem to contribute to the unrealistic scenario mentioned above. We can alter this using the pilotconstants.xml, located in the main directory. If you are interested in helping test some changes, here's what you need to do:
First, research - read first hand combat reports and note any mention of the distance at which enemy aircraft were spotted, also note how they disengaged whether finding a suddenly empty sky, escaping a pursuing enemy, or being outrun by a fleeing enemy. In the latter two cases, note the distance at which pursuit was abandoned. Post your findings here. The idea is to get an accurate picture of what realistic engagement distances were.
Second, fly with the labels turned on and note the distance shown on the label at which you can pick out the actual aircraft the label is indicating. Try it with several different types of aircraft and post an average. (Hint: turn your resolution up as high as it will go. It will allow you see more clearly and usually doesn't effect performance)
Third, make changes to the pilotconstants.xml in notepad. My theory is that the AI sees corresponds to what the player can see with labels turned on. Bogeys (white) are ignored and enemies (red) are engaged. The distances at which these labels appear and change are controlled in this section of the pilotconstants.xml:
<!-- Vision range, class, and rangemods per class -->
<!-- NOTES:
1. The ranges and rangemods are listed in REVERSE order from that
in the spec and the PB variables list. The order they should be
listed in this file is from near to far.
2. There should be a VisionRangeMods_ClassX entry for each VisionClass
except the first one. They should be numbered starting with 1.
For example, for 5 vision classes, you should have 4 rangemods named
as follows:
VisionRangeMods_Class1
VisionRangeMods_Class2
VisionRangeMods_Class3
VisionRangeMods_Class4
Each one should have exactly as many values as there are VisionRanges.
Class 0 is skipped because the "Blind" class is a special case.
The way this data is used is flexible enough to allow the designers
to define more finely grained ranges and classes so that the benefits
of adding skill points to vision are more gradual, if such is ever
desirable.
Close = Name Label
Normal = Type Label
Far = Bogie Label
Extreme = No label
-->
<entry name="VisionRanges" type="int=string"
value="0=None,400=Close,1500=Normal,3000=Far,6000=Extreme" />
<entry name="VisionClasses" type="int=string"
value="0=Blind,1=Below Average,26=Average,51=Above Average,76=Superior" />
<entry name="VisionRangeMods_Class1" type="int" value="0,-100,-400,-800,-1500" />
<entry name="VisionRangeMods_Class2" type="int" value="0,0,0,0,0" />
<entry name="VisionRangeMods_Class3" type="int" value="0,525,875,1125,1000" />
<entry name="VisionRangeMods_Class4" type="int" value="0,1050,1750,2250,2000" />
<!-- -->
I don't exactly know what does what, but the bolded items are the relevant values. Play around with them and see what results you get from the AI and note how your dogfights progress. As we figure it out, we can try to fine tune it to better reflect the research we collect. As this is a somewhat imprecise process, the more testers we have collecting information, the better. If all goes well, perhaps we can do another version that would better reflect combat at night.
Also, there may be other tweaks buried in this file. I'm currious about the G-Tolerances section, perhaps we can get the AI to manuever more violently by tweaking values in there.
All are welcome to join in, the more the better.
Daniel
In CFS3 I think this comes down to the distance at which the AI will turn to engage an enemy. Right now it appears to be just under two miles. This may or may not be realistic, but it does seem to contribute to the unrealistic scenario mentioned above. We can alter this using the pilotconstants.xml, located in the main directory. If you are interested in helping test some changes, here's what you need to do:
First, research - read first hand combat reports and note any mention of the distance at which enemy aircraft were spotted, also note how they disengaged whether finding a suddenly empty sky, escaping a pursuing enemy, or being outrun by a fleeing enemy. In the latter two cases, note the distance at which pursuit was abandoned. Post your findings here. The idea is to get an accurate picture of what realistic engagement distances were.
Second, fly with the labels turned on and note the distance shown on the label at which you can pick out the actual aircraft the label is indicating. Try it with several different types of aircraft and post an average. (Hint: turn your resolution up as high as it will go. It will allow you see more clearly and usually doesn't effect performance)
Third, make changes to the pilotconstants.xml in notepad. My theory is that the AI sees corresponds to what the player can see with labels turned on. Bogeys (white) are ignored and enemies (red) are engaged. The distances at which these labels appear and change are controlled in this section of the pilotconstants.xml:
<!-- Vision range, class, and rangemods per class -->
<!-- NOTES:
1. The ranges and rangemods are listed in REVERSE order from that
in the spec and the PB variables list. The order they should be
listed in this file is from near to far.
2. There should be a VisionRangeMods_ClassX entry for each VisionClass
except the first one. They should be numbered starting with 1.
For example, for 5 vision classes, you should have 4 rangemods named
as follows:
VisionRangeMods_Class1
VisionRangeMods_Class2
VisionRangeMods_Class3
VisionRangeMods_Class4
Each one should have exactly as many values as there are VisionRanges.
Class 0 is skipped because the "Blind" class is a special case.
The way this data is used is flexible enough to allow the designers
to define more finely grained ranges and classes so that the benefits
of adding skill points to vision are more gradual, if such is ever
desirable.
Close = Name Label
Normal = Type Label
Far = Bogie Label
Extreme = No label
-->
<entry name="VisionRanges" type="int=string"
value="0=None,400=Close,1500=Normal,3000=Far,6000=Extreme" />
<entry name="VisionClasses" type="int=string"
value="0=Blind,1=Below Average,26=Average,51=Above Average,76=Superior" />
<entry name="VisionRangeMods_Class1" type="int" value="0,-100,-400,-800,-1500" />
<entry name="VisionRangeMods_Class2" type="int" value="0,0,0,0,0" />
<entry name="VisionRangeMods_Class3" type="int" value="0,525,875,1125,1000" />
<entry name="VisionRangeMods_Class4" type="int" value="0,1050,1750,2250,2000" />
<!-- -->
I don't exactly know what does what, but the bolded items are the relevant values. Play around with them and see what results you get from the AI and note how your dogfights progress. As we figure it out, we can try to fine tune it to better reflect the research we collect. As this is a somewhat imprecise process, the more testers we have collecting information, the better. If all goes well, perhaps we can do another version that would better reflect combat at night.
Also, there may be other tweaks buried in this file. I'm currious about the G-Tolerances section, perhaps we can get the AI to manuever more violently by tweaking values in there.
All are welcome to join in, the more the better.
Daniel