![]() |
|
|||||||
| IL-2 Sturmovik: Cliffs of Dover Latest instalment in the acclaimed IL-2 Sturmovik series from award-winning developer Maddox Games. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
#1
|
|||
|
|||
|
AI planes should use exactly the same flight modell as the player can use!
__________________
AMD Penom ll 6x 1055T Processor 2.8 GHz // 8GB Ram // XFX Radeon HD 7870 Black Edition DD (2048 MB Memory DDR5, GPU 1055MHz) // Windows 7 Professional 64 Bit Version Saitek x52 // Saitek Throttle Quadrant // Saitek Pro Flight Rudder Pedals // Track IR 5 |
|
#2
|
|||
|
|||
|
BlackSix, thanks for you work, but is there and estimated time for the beta patch? thanks
__________________
AMD Phenom II X4 965BE OC@3.8ghz DDR3 G.Skill eco 4gb ATI Asus EAH6950 2GB shaders unlocked Asus Xonar DX Asrock 870 extreme3 Windows7 x64 Ultimate Saitek X52pro (stick modded) - Saitek rudder pedals - SteelSeries Siberia V2 headset Freetrack ps3eye Samsung 23" SyncMaster XL2370 |
|
#3
|
|||
|
|||
|
- Plane X should respect roll rate, and not 360 in 3/4 of a second.
- AI should have a delay wehn moving the stick. Example: load any default track ( blakc death ) and enable view. choose F1. watch the stick moving. it goes from full right to full left instantaneusly, giving the AI a strange warping feeling who lokes incredably mechanic and unrealistic from outside. - AI should responde to situations more naturally. Example: 4 AIs are in formation, when a enemy is spotted they ALL twist at the same time, break foramtion using the same angle at the same time in a perfect linear mechanicly executed maneuver. - AI should turn ahrder. Example. im on a 109E, plane X is on the italian biplane. im on his six. the g50 will do a small turn not pushing the limit of his plane and as such i will easely outturn him. Regarding joy stick Lag, im not experienced with it, but if you could bring back the old 1946 calibration stile ( that thing with 10 axis that could go from 0 to 100 ) it would be nice, beceouse right now, my stick is higly unresponsive to small adjustments evne at highest sensivety settings. ( i used 100 at all the bars in 1946 |
|
#4
|
|||
|
|||
|
This thread is on our 1C forums
http://forum.1cpublishing.eu/showthread.php?t=25973 Our member buddye has led the efforts for AI improvements with the BOB II Wings of Victory. The BOB II has the best AI performance of any WW2 air combat simulator program. It would be very wise to have discussion with him. He will gladly share information as he has done in the thread. He has hundreds of hours of work in the AI performance programming. He discusses very insightful information in the thread about improving AI as well. Below are some postings from the thread. http://forum.1cpublishing.eu/showpos...9&postcount=24 http://forum.1cpublishing.eu/showpos...4&postcount=45 http://forum.1cpublishing.eu/showpos...6&postcount=50 Last edited by nearmiss; 12-29-2011 at 05:03 PM. |
|
#5
|
|||
|
|||
|
Quote:
Oleg would never admit it but BoB2 is the benchmark in AI and all you need to do is buy some time from Buddye. Just look at his list of manoevres which the BoB AI code can choose from, there are hundreds, depending on the tactical situation (not just a few as in CoD). But here is my big AI wish... If a flight of luftwaffe fighters flies directly past, within ten feet of a flight of Blenheim bombers, they should bloody well attack them!!!! How hard is that to program for goodness sake! I just set up a mission in fmb with blenheims bombing france, three groups of luftwaffe fighters set to free hunt all at same altitude, clear skies and even when the blenheims gunners fire at them they ignore the blenheims. Try it yourselves. It sux. This is from a Buddye post...Read it and LEARN! 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). Last edited by planespotter; 12-29-2011 at 10:00 PM. |
|
#6
|
||||
|
||||
|
Quote:
Please B6, take some time to study it and talking to Buddye. |
|
#7
|
|||
|
|||
|
Buddye has made several postings in the AI thread and expressed a willingness to help.
There is an old saying... "Never look in the mouth of a gift horse". In other words, you are getting a free horse, there is no reason to find something wrong with it. |
|
#8
|
|||
|
|||
|
Quote:
Only then we will start working again. Now it is impossible to predict. |
|
#9
|
|||
|
|||
|
Quote:
+1E100000000000000 When being a lonely bomber and attacked and driven by a veteran it should do some evasive manoeuvres suitable for a bomber such as quickly altering its altitude, weaving, eventually barrel rolling. If bomber is flying in formation it should stay in formation instead of trying to play fighter (what it sometimes does). Fighters should ALWAYS start evasive manoeuvers as soon as it realizes that it has someone on his tail (currently after a while they just fly stubbornly home despite shooting at them). Flights lead by veteran pilots that are tasked with close cover of a bomber (formation) should fight off fighters and return to the bombers. Less experiences flights may stick to the fighters instead of turning back to cover bombers. Roockie pilots may occasionally not stay with his wing leader but go chasing alone as soon as he sees an enemy plane nearby or after a while in a dogfight. He may randomly loose his flight at all during a dogfight and return home alone. AI formations should use bank and not rudder for turning even in shallow turns. Rudder should always be used only to annihilate side slip. Preferably all pilots will have more or less capability to annihilate side slip. Rookie pilots will have more chance to have side slip than ace pilots. AI should - depending on skill level and situation - occasionally overlook one when it is fixed on another target. A target that is going to be attacked by the AI plane will get some sort of priority level to this AI plane. If the AI plane is then itself targeted it will either shift its focus to the attacker (for instance the player) or stay with the original target until it gets damaged. If it shifts its focus should depend on the skill level and may include some randomisation. Near comrades of the AI may warn it. So if a friendly AI is nearby the AI plane shall most likely shift its focus. |
|
#10
|
||||
|
||||
|
Quote:
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|