#3348866 - 07/23/11 02:50 AM
Re: AI
[Re: Brealistic]
|
Joined: May 2004
Posts: 839
IV/JG7trumps
Member
|
Member
Joined: May 2004
Posts: 839
Perth australia
|
With an attitude like yours it is a wonder people would waste their time on you, let alone spoon feed you! The possibilities are great with this new FMB, when done properly missions should play out as intended instead of having flights wander off chasing the first thing hey see instead of following their objectives! Great work Bliss, bisher, and all.
Thanks Craig
The problem with the World is stupidity. I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
|
|
#3348941 - 07/23/11 05:17 AM
Re: AI
[Re: IV/JG7trumps]
|
Joined: Jun 2004
Posts: 811
commorange
Member
|
Member
Joined: Jun 2004
Posts: 811
Troy, OH
|
It seems to me when you think if the A.I. in the context of the type of experience those pilots had back then,
maybe it isnt too bad. It is well to remember most of the pilots were very young and many of them did not have
a lot of hours in fighter aircraft, and even less hours in combat. For right now I am keeping an open mind
as far as A.I. goes.
my system: Intel Core I7 920 @ 3570ghz Asus P6T MB 6 GB OCZ DDR3 RAM , dram freq 680 mhz, NB freq 2720 mhz Radeon HD 4870 w/ 1 Gb vram OS.. Windows 7 professional 64 bit WD 2 TB hard disk drive etc.
|
|
#3348972 - 07/23/11 06:52 AM
Re: AI
[Re: Brealistic]
|
Joined: May 2006
Posts: 3,743
HeinKill
Senior Member
|
Senior Member
Joined: May 2006
Posts: 3,743
Cloud based
|
That is what was saying Snapper in another thread.(not going there, playing nice). but all this DID change after the last patch. I just hope they can get it sorted, though maybe we are asking to much from AI in general, does anyone know a sim where the AI is very good? BoB 2 Wings of Victory is pretty darn good if you can accept that the graphics aren't word beating. HeinKill can tell you about it. Happy to help, tho I'm not objective as I am a member of the BOB2 Developers Group. Our AI guru is Buddye, who has written code for the AI which gives the single player the feeling they are playing against a human - which is quite a feat. Here is his explanation of how he has done it. Scroll through his post below and you will see why BOB2 AI is the best in the business...in our humble opinions. I have highlighted in bold my own observations on his work. The design of the AI Maneuver Selection
The design of the AI maneuver Selection Criteria was driven by the need to become more deterministic and less random in selecting AI maneuvers. I felt the need to move in this direction to improve the AI offence and defense so the AI selection software had more control...
Here is a summary of how the AI selects from the (more than 80) available manouvres:
1. Altitude (how much altitude and rate of change) 2. Speed (how much speed, and rate of change) 3. Position of A/C to each other (nose to tail, tail to tail, nose to beam, tail to beam or left, right, front, back) This is what makes the AI really 'smart' - it is constantly testing to see if it is 'offensive' or 'defensive' and chooses its response dynamically as the fight progresses.
To implement the new selection criteria I built a 3 X 6 matrix (a truth table) and many new programs. For each A/C (the unfriendly and the AI or the player), I designed programs to look at Altitude, Speed, and position and to first try and select the best maneuver option (aggressive or defense) based on AI skill level.
Altitude and speed can also be thought of as “energy” as altitude can be turned into speed.
I also gave the Terminator AI a bit of boost in performance and tune-up so you might want to try it out. With the boost in Terminator performance, he was getting “cocky” so I implemented a spinout feature. The Terminator flies so close to the edge now that he has a tendency to “spinout”. This is when you can get him. (BOB2 has a 'Terminator' skill setting, which guarantees the AI will fly offensively/aggressively against the player in all situations. It isn't superhuman, it still makes mistakes and follows the laws of physics, but it will, in every way, be out to kill you!)
I also implemented a new AI feature called “Flying Factor (FF)”. This is the knowledge of the AI pilot to fly a given maneuver (experience) and how well the AI pilot will actually fly the given maneuver (skill). The FF is based on the Skill Level (customer selected in Instant Action Missions and software assigned in the Campaign). The Terminator is assigned a Skill Level of Hero2 (the highest in the game) so that is where he gets his boost in performance (edge). BOB2 has since 2009 had up to 4 mixed skills within a flight Novice, Veteran, Ace or Hero. So you might get lucky and bag a novice with limited abilities, to then be up against an ace who has the full range of AI talents available to it.
AI Maneuver Selection is the KEY
First, the BOBII AI has a special case for selection called “Evasive maneuver selection”. The Evasive maneuver is required when an AI is shot at (either a hit or near miss). The AI will select a defensive maneuver randomly based on the criteria/data for both Player and enemy AI (speed, altitude, and the position of the targeting AI and the AI being targeted with respect to each other). Of course, the AI will evade the players quicker, if and only if, the AI can see the enemy (remember in BOBII, the AI vision is blocked just like the player's vision is blocked by the cockpit, wings, sun, and distance).
The first key decision to be made is to select either an aggressive or defensive maneuver. This is a complex decision based on the available information on both the Player and the Enemy AI or the friendly AI and the enemy AI. The data considered for both Player and enemy is speed, altitude, and the position of the targeting AI and the AI being targeted with respect to each other.
After selecting either an aggressive or defensive, then a random approach is used to select a category (choose good, choose bad, or choose “neither” good nor bad maneuver). This also makes the AI very human, the chance that it will choose a 'bad' maneouvre in the circumstances.
Maneuvers are then divided into three parts Vertical, Horizontal, and dive for each of our categories (choose good, choose bad, and choose neither good nor bad maneuver).
The individual maneuver selection is then based on speed, altitude, and position of both the player and the enemy AI.
In BOBII we have over 80 complex maneuvers for selection (both the aggressive and defensive maneuvers) for the fighters (Spit,Hurri,109.110) and over 50 maneuvers for selection for the JU87 and Defiant. The following are BOBII’s complex maneuvers: (My comments in bold on some of the less obvious labels)
MANOEUVRE_SELECT MANOEUVRE_LOOKROUND MANOEUVRE_WELDEDWINGMAN MANOEUVRE_BAILOUT MANOEUVRE_TOPCOVER MANOEUVRE_FORCETOPCOVER MANOEUVRE_LINEABREAST MANOEUVRE_PINCER MANOEUVRE_MULTIWAVE MANOEUVRE_DIVEANDZOOM MANOEUVRE_INSIDELOOP MANOEUVRE_LAGPURSUIT MANOEUVRE_SPLITMANOEUVRE MANOEUVRE_HEADON MANOEUVRE_LINEASTERN MANOEUVRE_VICATTACK MANOEUVRE_BARRELROLLATTACK MANOEUVRE_SCISSORS MANOEUVRE_MILDSCISSORS MANOEUVRE_TURNINGFIGHT MANOEUVRE_SPLITS MANOEUVRE_ZOOMANDDROP MANOEUVRE_STRAIGHTANDLEVEL MANOEUVRE_SPINOUT MANOEUVRE_DIVEFORHOME MANOEUVRE_GOHOME MANOEUVRE_MAKEFORFRIENDLY MANOEUVRE_MOVEAWAY MANOEUVRE_QUICKROLL MANOEUVRE_IMMELMANNTURN MANOEUVRE_IMMELMANN MANOEUVRE_STAYWITHPREY (forces AI to ignore eg fighters and concentrate on bombers) MANOEUVRE_CLIMBFORHOME MANOEUVRE_STRAIGHTDIVE (for LW, this is a bunt, for the RAF Merlin engine fighters, they will roll to invert, then dive) MANOEUVRE_OUTSIDELOOP MANOEUVRE_SHOOTTOFRIGHTEN (eg if AI detects a comrade under attack within range) MANOEUVRE_SHOOTTOOEARLY MANOEUVRE_GAINHEIGHT MANOEUVRE_LAGROLL MANOEUVRE_EXTENSION MANOEUVRE_DIVINGROLL MANOEUVRE_REVERSETURN MANOEUVRE_SELFASBAIT (or 'drag and bag' in other parlance - one AI will fly steady and slow, luring the player, while its wingman stalks) MANOEUVRE_JINK MANOEUVRE_BREAKTURN MANOEUVRE_LAZYTURN MANOEUVRE_BREAKLOW MANOEUVRE_BREAKHIGH MANOEUVRE_BREAK90 MANOEUVRE_BREAK180 MANOEUVRE_HIGBARRELROLL MANOEUVRE_PANICTURN MANOEUVRE_TURNANDRUN MANOEUVRE_LOWALT MANOEUVRE_ZOOM MANOEUVRE_INTERCEPTHIGH MANOEUVRE_INTERCEPTLOW MANOEUVRE_GAINSPEED MANOEUVRE_HEADONATTACK MANOEUVRE_LUFBERRY (a special manoeuver for the Bf110s) MANOEUVRE_STEEPDIVE MANOEUVRE_UPANDUNDER MANOEUVRE_STALLTURN MANOEUVRE_SLASHINGATTACK MANOEUVRE_CLIMBTURN MANOEUVRE_ROLL360 MANOEUVRE_STRAFFE MANOEUVRE_TRANSITION MANOEUVRE_PEELOFF MANOEUVRE_SNAPSHOT MANOEUVRE_STAYONTAIL MANOEUVRE_FLYTHROUGHCLOUD (a defensive manouver available if clouds are present - the AI dives for the nearest cloud) MANOEUVRE_REGROUP MANOEUVRE_DISENGAGED MANOEUVRE_SPINRECOVERY MANOEUVRE_COLLIDE MANOEUVRE_LAST MANOEUVRE_ALIGNMENT MANOEUVRE_DROPANDZOOM MANOEUVRE_COLLISIONAVOIDANCE MANOEUVRE_TURNTOHDGANDPITCH (turn to heading, a waypoint command) MANOEUVRE_SCREWYOUGUYSIMGOINGHOME (when damaged, out of fuel, or low on morale - unlike in CoD, the AI will still evade if attacked when running for home).
The AI Performance Criteria/Dependencies
Skill Level
The AI performance is dependent on AI Skill Level (which is customer selected in Instant Action and SW assigned in the campaign). BOBII AI do make mistakes (spin, crash, dumb maneuvers, bad judgment, shoot late , shoot bad, etc) which is after all very human.
The skill level of the AI is key in making decisions on about everything with respect to AI performance like (1) how well the AI fly, shoot, shoot fast, slow, accuracy, or not shoot, (2) how well the AI fly, what maneuvers are selected, and how well the AI will fly the chosen maneuver.
Random Numbers (Luck of the draw)
The BOBII AI A/C is also dependent on luck (specifically on random numbers). Random number decisions are coded through out the AI code. BOBII’s random approach keeps BOBII from doing the same thing each time. Even something as simple as the direction to start a maneuver (left or right), I will use a random number to decide (why hard code something when you can use a random number).
For example, most BOBII vertical maneuvers use a random number to assign a length of time to for a specific vertical maneuver (Like Zoom). The AI pilot will sometimes cut off early, or late, or somewhere in the middle. If early, the maneuver may carry too much speed, and if late, the AI may slow down so much that control is lost (very human).
The bottom line is that the customer will always see a somewhat different maneuver (very good, good, not so good, and loss of control) both because of the random implementation and the different physic’s parameters (speed, roll, heading, pitch, and overall energy) going into each maneuver.
The very real downside of random numbers is it is very hard to test (not repeatable) and the processing power used.
Conditions
The conditions for each maneuver are always different (energy, speed, altitude, skill, damage, and enemy position). This also changes how the maneuver is performed. A damaged AI will not fly as well as an undamaged AI (damage is always taken into account in the AI flying performance).
|
|
#3348999 - 07/23/11 09:52 AM
Re: AI
[Re: HeinKill]
|
Joined: Sep 2010
Posts: 1,169
WernerVoss
Member
|
Member
Joined: Sep 2010
Posts: 1,169
|
That is what was saying Snapper in another thread.(not going there, playing nice). but all this DID change after the last patch. I just hope they can get it sorted, though maybe we are asking to much from AI in general, does anyone know a sim where the AI is very good? BoB 2 Wings of Victory is pretty darn good if you can accept that the graphics aren't word beating. HeinKill can tell you about it. Happy to help, tho I'm not objective as I am a member of the BOB2 Developers Group. Our AI guru is Buddye, who has written code for the AI which gives the single player the feeling they are playing against a human - which is quite a feat. Here is his explanation of how he has done it. Scroll through his post below and you will see why BOB2 AI is the best in the business...in our humble opinions. I have highlighted in bold my own observations on his work. The design of the AI Maneuver Selection
The design of the AI maneuver Selection Criteria was driven by the need to become more deterministic and less random in selecting AI maneuvers. I felt the need to move in this direction to improve the AI offence and defense so the AI selection software had more control...
Here is a summary of how the AI selects from the (more than 80) available manouvres:
1. Altitude (how much altitude and rate of change) 2. Speed (how much speed, and rate of change) 3. Position of A/C to each other (nose to tail, tail to tail, nose to beam, tail to beam or left, right, front, back) This is what makes the AI really 'smart' - it is constantly testing to see if it is 'offensive' or 'defensive' and chooses its response dynamically as the fight progresses.
To implement the new selection criteria I built a 3 X 6 matrix (a truth table) and many new programs. For each A/C (the unfriendly and the AI or the player), I designed programs to look at Altitude, Speed, and position and to first try and select the best maneuver option (aggressive or defense) based on AI skill level.
Altitude and speed can also be thought of as “energy” as altitude can be turned into speed.
I also gave the Terminator AI a bit of boost in performance and tune-up so you might want to try it out. With the boost in Terminator performance, he was getting “cocky” so I implemented a spinout feature. The Terminator flies so close to the edge now that he has a tendency to “spinout”. This is when you can get him. (BOB2 has a 'Terminator' skill setting, which guarantees the AI will fly offensively/aggressively against the player in all situations. It isn't superhuman, it still makes mistakes and follows the laws of physics, but it will, in every way, be out to kill you!)
I also implemented a new AI feature called “Flying Factor (FF)”. This is the knowledge of the AI pilot to fly a given maneuver (experience) and how well the AI pilot will actually fly the given maneuver (skill). The FF is based on the Skill Level (customer selected in Instant Action Missions and software assigned in the Campaign). The Terminator is assigned a Skill Level of Hero2 (the highest in the game) so that is where he gets his boost in performance (edge). BOB2 has since 2009 had up to 4 mixed skills within a flight Novice, Veteran, Ace or Hero. So you might get lucky and bag a novice with limited abilities, to then be up against an ace who has the full range of AI talents available to it.
AI Maneuver Selection is the KEY
First, the BOBII AI has a special case for selection called “Evasive maneuver selection”. The Evasive maneuver is required when an AI is shot at (either a hit or near miss). The AI will select a defensive maneuver randomly based on the criteria/data for both Player and enemy AI (speed, altitude, and the position of the targeting AI and the AI being targeted with respect to each other). Of course, the AI will evade the players quicker, if and only if, the AI can see the enemy (remember in BOBII, the AI vision is blocked just like the player's vision is blocked by the cockpit, wings, sun, and distance).
The first key decision to be made is to select either an aggressive or defensive maneuver. This is a complex decision based on the available information on both the Player and the Enemy AI or the friendly AI and the enemy AI. The data considered for both Player and enemy is speed, altitude, and the position of the targeting AI and the AI being targeted with respect to each other.
After selecting either an aggressive or defensive, then a random approach is used to select a category (choose good, choose bad, or choose “neither” good nor bad maneuver). This also makes the AI very human, the chance that it will choose a 'bad' maneouvre in the circumstances.
Maneuvers are then divided into three parts Vertical, Horizontal, and dive for each of our categories (choose good, choose bad, and choose neither good nor bad maneuver).
The individual maneuver selection is then based on speed, altitude, and position of both the player and the enemy AI.
In BOBII we have over 80 complex maneuvers for selection (both the aggressive and defensive maneuvers) for the fighters (Spit,Hurri,109.110) and over 50 maneuvers for selection for the JU87 and Defiant. The following are BOBII’s complex maneuvers: (My comments in bold on some of the less obvious labels)
MANOEUVRE_SELECT MANOEUVRE_LOOKROUND MANOEUVRE_WELDEDWINGMAN MANOEUVRE_BAILOUT MANOEUVRE_TOPCOVER MANOEUVRE_FORCETOPCOVER MANOEUVRE_LINEABREAST MANOEUVRE_PINCER MANOEUVRE_MULTIWAVE MANOEUVRE_DIVEANDZOOM MANOEUVRE_INSIDELOOP MANOEUVRE_LAGPURSUIT MANOEUVRE_SPLITMANOEUVRE MANOEUVRE_HEADON MANOEUVRE_LINEASTERN MANOEUVRE_VICATTACK MANOEUVRE_BARRELROLLATTACK MANOEUVRE_SCISSORS MANOEUVRE_MILDSCISSORS MANOEUVRE_TURNINGFIGHT MANOEUVRE_SPLITS MANOEUVRE_ZOOMANDDROP MANOEUVRE_STRAIGHTANDLEVEL MANOEUVRE_SPINOUT MANOEUVRE_DIVEFORHOME MANOEUVRE_GOHOME MANOEUVRE_MAKEFORFRIENDLY MANOEUVRE_MOVEAWAY MANOEUVRE_QUICKROLL MANOEUVRE_IMMELMANNTURN MANOEUVRE_IMMELMANN MANOEUVRE_STAYWITHPREY (forces AI to ignore eg fighters and concentrate on bombers) MANOEUVRE_CLIMBFORHOME MANOEUVRE_STRAIGHTDIVE (for LW, this is a bunt, for the RAF Merlin engine fighters, they will roll to invert, then dive) MANOEUVRE_OUTSIDELOOP MANOEUVRE_SHOOTTOFRIGHTEN (eg if AI detects a comrade under attack within range) MANOEUVRE_SHOOTTOOEARLY MANOEUVRE_GAINHEIGHT MANOEUVRE_LAGROLL MANOEUVRE_EXTENSION MANOEUVRE_DIVINGROLL MANOEUVRE_REVERSETURN MANOEUVRE_SELFASBAIT (or 'drag and bag' in other parlance - one AI will fly steady and slow, luring the player, while its wingman stalks) MANOEUVRE_JINK MANOEUVRE_BREAKTURN MANOEUVRE_LAZYTURN MANOEUVRE_BREAKLOW MANOEUVRE_BREAKHIGH MANOEUVRE_BREAK90 MANOEUVRE_BREAK180 MANOEUVRE_HIGBARRELROLL MANOEUVRE_PANICTURN MANOEUVRE_TURNANDRUN MANOEUVRE_LOWALT MANOEUVRE_ZOOM MANOEUVRE_INTERCEPTHIGH MANOEUVRE_INTERCEPTLOW MANOEUVRE_GAINSPEED MANOEUVRE_HEADONATTACK MANOEUVRE_LUFBERRY (a special manoeuver for the Bf110s) MANOEUVRE_STEEPDIVE MANOEUVRE_UPANDUNDER MANOEUVRE_STALLTURN MANOEUVRE_SLASHINGATTACK MANOEUVRE_CLIMBTURN MANOEUVRE_ROLL360 MANOEUVRE_STRAFFE MANOEUVRE_TRANSITION MANOEUVRE_PEELOFF MANOEUVRE_SNAPSHOT MANOEUVRE_STAYONTAIL MANOEUVRE_FLYTHROUGHCLOUD (a defensive manouver available if clouds are present - the AI dives for the nearest cloud) MANOEUVRE_REGROUP MANOEUVRE_DISENGAGED MANOEUVRE_SPINRECOVERY MANOEUVRE_COLLIDE MANOEUVRE_LAST MANOEUVRE_ALIGNMENT MANOEUVRE_DROPANDZOOM MANOEUVRE_COLLISIONAVOIDANCE MANOEUVRE_TURNTOHDGANDPITCH (turn to heading, a waypoint command) MANOEUVRE_SCREWYOUGUYSIMGOINGHOME (when damaged, out of fuel, or low on morale - unlike in CoD, the AI will still evade if attacked when running for home).
The AI Performance Criteria/Dependencies
Skill Level
The AI performance is dependent on AI Skill Level (which is customer selected in Instant Action and SW assigned in the campaign). BOBII AI do make mistakes (spin, crash, dumb maneuvers, bad judgment, shoot late , shoot bad, etc) which is after all very human.
The skill level of the AI is key in making decisions on about everything with respect to AI performance like (1) how well the AI fly, shoot, shoot fast, slow, accuracy, or not shoot, (2) how well the AI fly, what maneuvers are selected, and how well the AI will fly the chosen maneuver.
Random Numbers (Luck of the draw)
The BOBII AI A/C is also dependent on luck (specifically on random numbers). Random number decisions are coded through out the AI code. BOBII’s random approach keeps BOBII from doing the same thing each time. Even something as simple as the direction to start a maneuver (left or right), I will use a random number to decide (why hard code something when you can use a random number).
For example, most BOBII vertical maneuvers use a random number to assign a length of time to for a specific vertical maneuver (Like Zoom). The AI pilot will sometimes cut off early, or late, or somewhere in the middle. If early, the maneuver may carry too much speed, and if late, the AI may slow down so much that control is lost (very human).
The bottom line is that the customer will always see a somewhat different maneuver (very good, good, not so good, and loss of control) both because of the random implementation and the different physic’s parameters (speed, roll, heading, pitch, and overall energy) going into each maneuver.
The very real downside of random numbers is it is very hard to test (not repeatable) and the processing power used.
Conditions
The conditions for each maneuver are always different (energy, speed, altitude, skill, damage, and enemy position). This also changes how the maneuver is performed. A damaged AI will not fly as well as an undamaged AI (damage is always taken into account in the AI flying performance). They need to hire this chap for CoD!
Asus P8P67 Pro Mobo 2500K CPU @ 4.5Ghz Antec H2O Kuhler 950 Water Cooler 16Gb DDR3 DC RAM @ 1600mhz EVGA GTX780 Classified GPU Dell U3014 30" Monitor xFi Titanium HD sound Corsair Force 250Gb SSD Corsair RM850w PSU W7-64 INTJ
|
|
#3349029 - 07/23/11 11:43 AM
Re: AI
[Re: Brealistic]
|
Joined: Mar 2001
Posts: 1,089
Tree
Member
|
Member
Joined: Mar 2001
Posts: 1,089
Derby, England
|
Hi Bliss, is it possible to turn the option off on servers where you can jump plane, for example i had a fight against a 109 the other night who was clearly a human pilot (most identifiable by his custom skin) having shot him up real bad I rolled over on him and finished him off, the server announced that I had killed an AI 109, obviously the guy just switched planes when he knew it was all over, can this be diabled server side?
Last edited by Tree; 07/23/11 11:44 AM.
|
|
#3349032 - 07/23/11 11:49 AM
Re: AI
[Re: Brealistic]
|
Joined: May 2004
Posts: 839
IV/JG7trumps
Member
|
Member
Joined: May 2004
Posts: 839
Perth australia
|
What servers are you playing on Tree? Haven't seen any of the FR type servers where players can jump between planes!
The problem with the World is stupidity. I'm not saying there should be a capital punishment for stupidity, but why don't we just take the safety labels off of everything and let the problem solve itself?
|
|
#3349260 - 07/23/11 06:42 PM
Re: AI
[Re: HeinKill]
|
Joined: Feb 2011
Posts: 414
Brealistic
Member
|
Member
Joined: Feb 2011
Posts: 414
|
That is what was saying Snapper in another thread.(not going there, playing nice). but all this DID change after the last patch. I just hope they can get it sorted, though maybe we are asking to much from AI in general, does anyone know a sim where the AI is very good? BoB 2 Wings of Victory is pretty darn good if you can accept that the graphics aren't word beating. HeinKill can tell you about it. Happy to help, tho I'm not objective as I am a member of the BOB2 Developers Group. Our AI guru is Buddye, who has written code for the AI which gives the single player the feeling they are playing against a human - which is quite a feat. Here is his explanation of how he has done it. Scroll through his post below and you will see why BOB2 AI is the best in the business...in our humble opinions. I have highlighted in bold my own observations on his work. The design of the AI Maneuver Selection
The design of the AI maneuver Selection Criteria was driven by the need to become more deterministic and less random in selecting AI maneuvers. I felt the need to move in this direction to improve the AI offence and defense so the AI selection software had more control...
Here is a summary of how the AI selects from the (more than 80) available manouvres:
1. Altitude (how much altitude and rate of change) 2. Speed (how much speed, and rate of change) 3. Position of A/C to each other (nose to tail, tail to tail, nose to beam, tail to beam or left, right, front, back) This is what makes the AI really 'smart' - it is constantly testing to see if it is 'offensive' or 'defensive' and chooses its response dynamically as the fight progresses.
To implement the new selection criteria I built a 3 X 6 matrix (a truth table) and many new programs. For each A/C (the unfriendly and the AI or the player), I designed programs to look at Altitude, Speed, and position and to first try and select the best maneuver option (aggressive or defense) based on AI skill level.
Altitude and speed can also be thought of as “energy” as altitude can be turned into speed.
I also gave the Terminator AI a bit of boost in performance and tune-up so you might want to try it out. With the boost in Terminator performance, he was getting “cocky” so I implemented a spinout feature. The Terminator flies so close to the edge now that he has a tendency to “spinout”. This is when you can get him. (BOB2 has a 'Terminator' skill setting, which guarantees the AI will fly offensively/aggressively against the player in all situations. It isn't superhuman, it still makes mistakes and follows the laws of physics, but it will, in every way, be out to kill you!)
I also implemented a new AI feature called “Flying Factor (FF)”. This is the knowledge of the AI pilot to fly a given maneuver (experience) and how well the AI pilot will actually fly the given maneuver (skill). The FF is based on the Skill Level (customer selected in Instant Action Missions and software assigned in the Campaign). The Terminator is assigned a Skill Level of Hero2 (the highest in the game) so that is where he gets his boost in performance (edge). BOB2 has since 2009 had up to 4 mixed skills within a flight Novice, Veteran, Ace or Hero. So you might get lucky and bag a novice with limited abilities, to then be up against an ace who has the full range of AI talents available to it.
AI Maneuver Selection is the KEY
First, the BOBII AI has a special case for selection called “Evasive maneuver selection”. The Evasive maneuver is required when an AI is shot at (either a hit or near miss). The AI will select a defensive maneuver randomly based on the criteria/data for both Player and enemy AI (speed, altitude, and the position of the targeting AI and the AI being targeted with respect to each other). Of course, the AI will evade the players quicker, if and only if, the AI can see the enemy (remember in BOBII, the AI vision is blocked just like the player's vision is blocked by the cockpit, wings, sun, and distance).
The first key decision to be made is to select either an aggressive or defensive maneuver. This is a complex decision based on the available information on both the Player and the Enemy AI or the friendly AI and the enemy AI. The data considered for both Player and enemy is speed, altitude, and the position of the targeting AI and the AI being targeted with respect to each other.
After selecting either an aggressive or defensive, then a random approach is used to select a category (choose good, choose bad, or choose “neither” good nor bad maneuver). This also makes the AI very human, the chance that it will choose a 'bad' maneouvre in the circumstances.
Maneuvers are then divided into three parts Vertical, Horizontal, and dive for each of our categories (choose good, choose bad, and choose neither good nor bad maneuver).
The individual maneuver selection is then based on speed, altitude, and position of both the player and the enemy AI.
In BOBII we have over 80 complex maneuvers for selection (both the aggressive and defensive maneuvers) for the fighters (Spit,Hurri,109.110) and over 50 maneuvers for selection for the JU87 and Defiant. The following are BOBII’s complex maneuvers: (My comments in bold on some of the less obvious labels)
MANOEUVRE_SELECT MANOEUVRE_LOOKROUND MANOEUVRE_WELDEDWINGMAN MANOEUVRE_BAILOUT MANOEUVRE_TOPCOVER MANOEUVRE_FORCETOPCOVER MANOEUVRE_LINEABREAST MANOEUVRE_PINCER MANOEUVRE_MULTIWAVE MANOEUVRE_DIVEANDZOOM MANOEUVRE_INSIDELOOP MANOEUVRE_LAGPURSUIT MANOEUVRE_SPLITMANOEUVRE MANOEUVRE_HEADON MANOEUVRE_LINEASTERN MANOEUVRE_VICATTACK MANOEUVRE_BARRELROLLATTACK MANOEUVRE_SCISSORS MANOEUVRE_MILDSCISSORS MANOEUVRE_TURNINGFIGHT MANOEUVRE_SPLITS MANOEUVRE_ZOOMANDDROP MANOEUVRE_STRAIGHTANDLEVEL MANOEUVRE_SPINOUT MANOEUVRE_DIVEFORHOME MANOEUVRE_GOHOME MANOEUVRE_MAKEFORFRIENDLY MANOEUVRE_MOVEAWAY MANOEUVRE_QUICKROLL MANOEUVRE_IMMELMANNTURN MANOEUVRE_IMMELMANN MANOEUVRE_STAYWITHPREY (forces AI to ignore eg fighters and concentrate on bombers) MANOEUVRE_CLIMBFORHOME MANOEUVRE_STRAIGHTDIVE (for LW, this is a bunt, for the RAF Merlin engine fighters, they will roll to invert, then dive) MANOEUVRE_OUTSIDELOOP MANOEUVRE_SHOOTTOFRIGHTEN (eg if AI detects a comrade under attack within range) MANOEUVRE_SHOOTTOOEARLY MANOEUVRE_GAINHEIGHT MANOEUVRE_LAGROLL MANOEUVRE_EXTENSION MANOEUVRE_DIVINGROLL MANOEUVRE_REVERSETURN MANOEUVRE_SELFASBAIT (or 'drag and bag' in other parlance - one AI will fly steady and slow, luring the player, while its wingman stalks) MANOEUVRE_JINK MANOEUVRE_BREAKTURN MANOEUVRE_LAZYTURN MANOEUVRE_BREAKLOW MANOEUVRE_BREAKHIGH MANOEUVRE_BREAK90 MANOEUVRE_BREAK180 MANOEUVRE_HIGBARRELROLL MANOEUVRE_PANICTURN MANOEUVRE_TURNANDRUN MANOEUVRE_LOWALT MANOEUVRE_ZOOM MANOEUVRE_INTERCEPTHIGH MANOEUVRE_INTERCEPTLOW MANOEUVRE_GAINSPEED MANOEUVRE_HEADONATTACK MANOEUVRE_LUFBERRY (a special manoeuver for the Bf110s) MANOEUVRE_STEEPDIVE MANOEUVRE_UPANDUNDER MANOEUVRE_STALLTURN MANOEUVRE_SLASHINGATTACK MANOEUVRE_CLIMBTURN MANOEUVRE_ROLL360 MANOEUVRE_STRAFFE MANOEUVRE_TRANSITION MANOEUVRE_PEELOFF MANOEUVRE_SNAPSHOT MANOEUVRE_STAYONTAIL MANOEUVRE_FLYTHROUGHCLOUD (a defensive manouver available if clouds are present - the AI dives for the nearest cloud) MANOEUVRE_REGROUP MANOEUVRE_DISENGAGED MANOEUVRE_SPINRECOVERY MANOEUVRE_COLLIDE MANOEUVRE_LAST MANOEUVRE_ALIGNMENT MANOEUVRE_DROPANDZOOM MANOEUVRE_COLLISIONAVOIDANCE MANOEUVRE_TURNTOHDGANDPITCH (turn to heading, a waypoint command) MANOEUVRE_SCREWYOUGUYSIMGOINGHOME (when damaged, out of fuel, or low on morale - unlike in CoD, the AI will still evade if attacked when running for home).
The AI Performance Criteria/Dependencies
Skill Level
The AI performance is dependent on AI Skill Level (which is customer selected in Instant Action and SW assigned in the campaign). BOBII AI do make mistakes (spin, crash, dumb maneuvers, bad judgment, shoot late , shoot bad, etc) which is after all very human.
The skill level of the AI is key in making decisions on about everything with respect to AI performance like (1) how well the AI fly, shoot, shoot fast, slow, accuracy, or not shoot, (2) how well the AI fly, what maneuvers are selected, and how well the AI will fly the chosen maneuver.
Random Numbers (Luck of the draw)
The BOBII AI A/C is also dependent on luck (specifically on random numbers). Random number decisions are coded through out the AI code. BOBII’s random approach keeps BOBII from doing the same thing each time. Even something as simple as the direction to start a maneuver (left or right), I will use a random number to decide (why hard code something when you can use a random number).
For example, most BOBII vertical maneuvers use a random number to assign a length of time to for a specific vertical maneuver (Like Zoom). The AI pilot will sometimes cut off early, or late, or somewhere in the middle. If early, the maneuver may carry too much speed, and if late, the AI may slow down so much that control is lost (very human).
The bottom line is that the customer will always see a somewhat different maneuver (very good, good, not so good, and loss of control) both because of the random implementation and the different physic’s parameters (speed, roll, heading, pitch, and overall energy) going into each maneuver.
The very real downside of random numbers is it is very hard to test (not repeatable) and the processing power used.
Conditions
The conditions for each maneuver are always different (energy, speed, altitude, skill, damage, and enemy position). This also changes how the maneuver is performed. A damaged AI will not fly as well as an undamaged AI (damage is always taken into account in the AI flying performance). Thanks a bunch Heinkill for posting this.
|
|
#3350087 - 07/24/11 08:56 PM
Re: AI
[Re: Tell]
|
Joined: May 2006
Posts: 3,743
HeinKill
Senior Member
|
Senior Member
Joined: May 2006
Posts: 3,743
Cloud based
|
I modified a QM in FMB as follows: I substituted G50 for Spitfire and 110. I deleted all except player and one enemy G50 at "ace". I had only one waypoint and set it at "engage fighters" for the enemy G50. At close range the enemy G50 still refused to engage. It flew away doing slow rolls for evasion. Since this should be the simplest setup for a dogfight the question is why an "ace" AI cannot react aggressively to a favorable combat situation. If what we've read about BoB/WOV AI programming is accurate shouldn't COD AI be able to demonstrate similar situational awareness? Someone well versed in FMB scripting should be easily able to create said scenario (over water) and post it to the "Missions" sticky so that others can see how getting the AI to fight is done and be able to substitute other match ups as desired. Here's something weird I noticed modifying the simple dogfight quick mission... One enemy AI Vs player only = no engage (tried this with player as Heinkel and enemy as Defiant, then as Beaufighter) Multiple enemy AI vs player plus wingmen AI = engage Enemy skill level didn't have anything to do with it because you can't set that in quick mission interface.
|
|
#3351194 - 07/25/11 11:43 PM
Re: AI
[Re: Brealistic]
|
Joined: Jan 2003
Posts: 1,979
Buddye1
Member
|
Member
Joined: Jan 2003
Posts: 1,979
South East,Texas,USA
|
I think that COD should implement a way to change parameters in the mission options. From what I read here you can change skill level and other options in the FMB so it must be already in the code.
In BOBII the player can change certain mission options like home airfield, time of day, weather, player side (RAF/LUF, and skill Level each time he flys or go with the defaults.
Has anyone ask for a mission changable options?
I have no interest in changing the options in the FMB each time I want different parameters.
Last edited by Buddye1; 07/25/11 11:52 PM.
Intel I7 920 processor (2.66GHz, 8MB cache), 6GB DDR3 Triple Channel @1333MHz, 1.8GB NVIDIA GeForce GTX 295, Sound Blaster X-Fi PCI Sound Card, Windows 7 Home Premium 64 Bit , CH Fighter Stick & Pedals ,TrackIR4 Pro thanks to BobII crew.
|
|
|
CD WOFF
by Britisheh. 03/28/24 08:05 PM
|
|
|
|
|
|
|
|
|
|
|