SAS_Storebror Posted June 16, 2020 Posted June 16, 2020 Hi guys, I've got a couple of questions regarding formations, and before I start to build a dozen test missions just to guess what is what, I thought I'd simply ask because some of you might have stumbled across this before and know the answer(s) from memory. All questions are concerning a formation of planes. I have a formation of <n> bombers of same type, all positioned roughly like they'd end up in the final desired formation. "Enabled" is unticked on all planes. Does the "Activate" trigger that starts the formation only have to be object-linked to the leader, or to all planes? After activation, does it make sense to issue a "force complete" command with priority set to "low" in order to make gunners more happy to pick up enemy planes, or is this useless? The AI skill level should remain "low" or "normal" to counter sniper gunners a bit... After activation, how long should I wait (100 milliseconds? 1 second? 2 seconds?) before issuing further commands to the formation? The "formation" command comes before or after triggering the 1st waypoint? The waypoints are object linked to the leader only, correct? When I want to detect some "OnPlane" condition(s) of my bomber formation, e.g. "OnPlaneBingoBombs", do I have to check that event on the leader only or on all planes separately? If "leader only", what happens when the leader dropped all his bombs and I issue e.g. a "force complete" command to cancel the attack, but the last plane in formation didn't drop them yet? Will the remaining planes still drop their load or will they cancel the attack immediately? Or do I have to figure out an arbitrary delay between the "OnPlaneBingoBombs" event and the "Force Complete" command in order to give time for other members of the formation to drop their bombs? But what happens to the formation then? My understanding is that the leader would start circling above the attack point... What happens when the leader gets killed? Will the other members of the formation proceed with their tasks, i.e. will another plane in the formation take over the leader position automatically or is the whole logic screwed at that point? The "Attack" command is linked to the leader only, correct? The "Force Complete" command which cancels the attack would be linked to leader only as well, correct? Mike
Zooropa_Fly Posted June 16, 2020 Posted June 16, 2020 I can't answer all above, but a couple of things.. I think all objects need to be activated, and the only things that you can connect to the leader only, are waypoints. All other commands need to be given to each plane, including 'events'. When the leader gets killed, I'm sure another plane takes over - i.e. it'll asume the double chevrons in-game. The other planes should still carry out instructions as directed. I've never got around to using force complete's for anything yet. Hope that helps a tiny bit S!
Habu Posted June 16, 2020 Posted June 16, 2020 (edited) 35 minutes ago, SAS_Storebror said: Does the "Activate" trigger that starts the formation only have to be object-linked to the leader, or to all planes? Only to the leader. 35 minutes ago, SAS_Storebror said: After activation, does it make sense to issue a "force complete" command with priority set to "low" in order to make gunners more happy to pick up enemy planes, or is this useless? The AI skill level should remain "low" or "normal" to counter sniper gunners a bit... Don't know. 35 minutes ago, SAS_Storebror said: After activation, how long should I wait (100 milliseconds? 1 second? 2 seconds?) before issuing further commands to the formation? I always use between 2 or 5s. In genarl, for the command formation, i used 5s, because i want that the ai are stabilised before ordering them to fly in formation. 35 minutes ago, SAS_Storebror said: The "formation" command comes before or after triggering the 1st waypoint? I always triger the waypoint first, then 5s later, i triger the command formation. Sometimes, i link the timer which triger teh command formation to the first waypoint. In that case, when te leader fly through the waypoint, it trigger the command formation. As usual the first waypoint is close to the activation point. 35 minutes ago, SAS_Storebror said: The waypoints are object linked to the leader only, correct? Correct. 35 minutes ago, SAS_Storebror said: When I want to detect some "OnPlane" condition(s) of my bomber formation, e.g. "OnPlaneBingoBombs", do I have to check that event on the leader only or on all planes separately? It depends, if the group is activate, only for teh leader, if the group is psawn, you have to do it for all the plane. Carefull, as, the evnet is on the leader (in group which is activate), the leader can give the RTB (if you link it to the waypoint for RTB) order to it's wingmen who don't have drop their bomb. So link the event to a timer which will manage that time. Not too much to avoid that the leader fly in circle. Another solution is to put the next waypoint in the line of the command attack area. 35 minutes ago, SAS_Storebror said: If "leader only", what happens when the leader dropped all his bombs and I issue e.g. a "force complete" command to cancel the attack, but the last plane in formation didn't drop them yet? Or do I have to figure out an arbitrary delay between the "OnPlaneBingoBombs" event and the "Force Complete" command in order to give time for other members of the formation to drop their bombs? But what happens to the formation then? My understanding is that the leader would start circling above the attack point... I don't use force complete, but i think that the answer on the previous answer will be the result. 35 minutes ago, SAS_Storebror said: What happens when the leader gets killed? Will the other members of the formation proceed with their tasks, i.e. will another plane in the formation take over the leader position automatically or is the whole logic screwed at that point? They should proceed to their task. 35 minutes ago, SAS_Storebror said: The "Attack" command is linked to the leader only, correct? Correct. 35 minutes ago, SAS_Storebror said: The "Force Complete" command which cancels the attack would be linked to leader only as well, correct? It should be correct. Edited June 16, 2020 by Habu 1
SAS_Storebror Posted June 17, 2020 Author Posted June 17, 2020 Thanks @Habu for answering almost all questions immediately, great show! One more that I forgot to ask: When I have a flight of 4 bombers and want to check whether they all got killed, will the leader issue an "OnPlaneDestroyed" event four times or will each of the planes issue one of these Events individually? Because you said that the "OnPlane(...)" event logic would apply to the leader only, so following this logic, I'd expect the leader to issue four "OnPlaneDestroyed" events, which is somewhat counter intuitive. 9 hours ago, Habu said: f the group is activate, only for teh leader, if the group is psawn, you have to do it for all the plane That's a bit confusing to me, because from what I understand, you cannot spawn a formation. Mike
=RS=Stix_09 Posted June 17, 2020 Posted June 17, 2020 (edited) 55 minutes ago, SAS_Storebror said: Thanks @Habu for answering almost all questions immediately, great show! One more that I forgot to ask: When I have a flight of 4 bombers and want to check whether they all got killed, will the leader issue an "OnPlaneDestroyed" event four times or will each of the planes issue one of these Events individually? Because you said that the "OnPlane(...)" event logic would apply to the leader only, so following this logic, I'd expect the leader to issue four "OnPlaneDestroyed" events, which is somewhat counter intuitive. That's a bit confusing to me, because from what I understand, you cannot spawn a formation. Mike yes, AI formations you can use events from formation leader, each formation always has a leader until all units are gone (so the last one left, if the others are destroyed is the leader of the formation) You only need to do actions with the leader, not the units in the formation. I believe ,(some?) actions on non leader objects in the formation only apply to that individual unit. (for example u can use a proximity trigger linked to unit in the formation and it applies to that unit only, I have not tested , but i suspect a proximity trigger may be a special case that if object linked only applies to the object its linked to) For example I only need to object link the leader of the formation to a waypoints , all units follow the leader (object links to members of formation are not required). All actions (for all members of a formation) can be triggered by linking to the leader of formation, (including events, like OnKilled), triggers like activate/deactivate (which will turn on/off the advanced properties enabled flag for all members of the formation) ie Formation objects are not spawned objects, they are fixed objects in a mission that can be enabled with activate or disabled with deactivate triggers. If enabled flag (advanced properties) in the mission for the object is off at mission start , you have to activate the unit to make it appear in mission, and you can activate all units in a formation by activating the leader. So formations currently are only fixed objects , declared one time in the mission, so once these objects are destroyed they are removed from the mission.(It may be possible to repair and reuse them, I have not tested that though) Spawned objects however are always new individual creations, but current game logic is not able to create linked objects like a formation of planes/vehicles with a leader. They are independent objects. Edited June 17, 2020 by =RS=Stix_09 1
SAS_Storebror Posted June 17, 2020 Author Posted June 17, 2020 Thanks @=RS=Stix_09, that's understood. So... with my formation of 4 bombers, I would have to do this: Setup the group as an airborne formation, "enabled" unticked. Activate the leader when I want to have the formation start flying. Wait a second, then activate 1st waypoint which is linked to formation leader only. Wait another 5 seconds, then issue the "Command Formation" to the leader only. Let the formation follow through their waypoints which are object linked to the leader only. Link an "attack area" command to the leader only, which gets triggered from the last waypoint before reaching the attack area. Wait for "OnPlaneBingoBombs" on the leader only. Since the other planes in formation might not have dropped their bombs yet, wait another 5 seconds before triggering the next waypoint. Make sure the next waypoint is in line with the attack direction. In order to check when all planes are dead, link the "OnPlaneDestroyed" event from the leader only, to a counter which triggers at 4. Correct? I'm still wondering about the "OnPlaneBingoBombs thing. In my book, as soon as the leader dropped his bombs, since he's got no other commands, he should immediately attempt to enter a circle above the attack area. Therefore, any arbitrary time granted to the other planes in formation to drop their bombs, should result in some weird dancing of those planes that dropped their bombs already. Essentially, I'd expect the whole formation to fall apart within these 5 seconds... Mike
=RS=Stix_09 Posted June 17, 2020 Posted June 17, 2020 (edited) 33 minutes ago, SAS_Storebror said: Thanks @=RS=Stix_09, that's understood. So... with my formation of 4 bombers, I would have to do this: Setup the group as an airborne formation, "enabled" unticked. Activate the leader when I want to have the formation start flying. Wait a second, then activate 1st waypoint which is linked to formation leader only. Wait another 5 seconds, then issue the "Command Formation" to the leader only. Let the formation follow through their waypoints which are object linked to the leader only. Link an "attack area" command to the leader only, which gets triggered from the last waypoint before reaching the attack area. Wait for "OnPlaneBingoBombs" on the leader only. Since the other planes in formation might not have dropped their bombs yet, wait another 5 seconds before triggering the next waypoint. Make sure the next waypoint is in line with the attack direction. In order to check when all planes are dead, link the "OnPlaneDestroyed" event from the leader only, to a counter which triggers at 4. Correct? I'm still wondering about the "OnPlaneBingoBombs thing. In my book, as soon as the leader dropped his bombs, since he's got no other commands, he should immediately attempt to enter a circle above the attack area. Therefore, any arbitrary time granted to the other planes in formation to drop their bombs, should result in some weird dancing of those planes that dropped their bombs already. Essentially, I'd expect the whole formation to fall apart within these 5 seconds... Mike yes, but the onBingo bombs while done on the leader applies to all units , so any unit in squad that is bingo bombs will trigger that event. (so if u have 4 planes it could trigger that event 4 times. u could use a counter to check when all 4 have no bombs left too) The thing to be careful of is if a plane dies before it drops its bombs, so link that to same trigger as the bingo trigger end point as well. What i do rather than the bingo is attack for a set time , 1-2 minutes, is usually enough for a formation to drop the bombs, and less chance of some weird event messing it up, like a plane dying after dropping its bombs. EDIT: @SAS_Storebror Or use a timer as a backup to trigger the waypoint also (and use a deactivate to the other path logic at this point so this waypoint can't RE-trigger later on) Edited June 17, 2020 by =RS=Stix_09 1
=RS=Stix_09 Posted June 17, 2020 Posted June 17, 2020 (edited) 1 hour ago, SAS_Storebror said: . Therefore, any arbitrary time granted to the other planes in formation to drop their bombs, should result in some weird dancing of those planes that dropped their bombs already. Essentially, I'd expect the whole formation to fall apart within these 5 seconds... Mike After a plane drops its bombs it will just circle around until the attack order ends, if it has guns it will also use those next (it will setup for a strafe run) 1 minute should be plenty of time for all planes to drop bombs if they are in formation. At worst they will circle around for 1 staff run at the height set for the AttackArea command (the Y position field in properties). I don't think after 1 minute it would even have enough time to do this 2nd attack. 45seconds may even be enough for a formation of planes to drop all their bombs(attack area, not attack ground, depends on how u set the attackArea command up) (unless one is lagging due to damage), . Game logic in current state is limited, in regards to formations, in my experience its best to keep logic as simple as possible. BTW if any plane as critical damage , do not try and make it land, its likely to get stuck on runway and block all other planes landing. (or add logic to despawn it once on ground after a set time has passed) Edited June 17, 2020 by =RS=Stix_09 1
SAS_Storebror Posted June 17, 2020 Author Posted June 17, 2020 2 hours ago, =RS=Stix_09 said: if any plane as critical damage , do not try and make it land, its likely to get stuck on runway and block all other planes landing. (or add logic to despawn it once on ground after a set time has passed) Yes, witnessed that as well and added a timer after "OnPlaneCrashed" and "OnPlaneLanded" to get rid of these duds, as this happens when you let AI decide to RTB as well. Concerning bomb drop, in order to get this right for a flight of 4, the only viable solution seems to be: Link the "OnPlaneBingoBombs" event from the leader to a counter of 4, and back it up with a timer of one minute. The latter is to counter issues when a plane died before reaching the drop point. Linking the death of the plane to the bingo bombs counter isn't feasible as it might drop it's load before - actually likely it will; a plane dying without dropping bombs is rather an edge case, and that edge case is what gets covered by the timer. Thanks for all your feedback gents! Mike
SAS_Storebror Posted June 17, 2020 Author Posted June 17, 2020 Surprise, surprise! I thought I'd give it a try and created a short test mission myself. Result: The events are being issued by each element of the formation separately, not cumulated by the leader! Please find a test mission attached where a formation of four Heinkels drops bombs and gets humilated on egress. If the leader would cumulate the events, you'd expect to see two subtitles displayed left and right of the center of the screen: "Leader Bingo Bombs 4" and "Leader Destroyed 4" (in fact they all start with "... 1" and count up to "... 4" in place, but you'll only see the "... 1", test yourself) But that's not the case. What you'll see is what happens when each element issues Events individually, resuling in the top line to read: "2 Bingo Bombs 3 Bingo Bombs 4 Bingo Bombs" The centerline: "Leader Bingo Bombs 1 Leader Destroyed 1" And the bottom line: "2 Destroyed 3 Destroyed 4 Destroyed" ...at the end, after all bombers have been destroyed. Actually it's a good thing, because it is easier to deal with the events if they get sent individually. Mike Bomber Test.zip 1
Gambit21 Posted June 17, 2020 Posted June 17, 2020 9 hours ago, =RS=Stix_09 said: What i do rather than the bingo is attack for a set time , 1-2 minutes, is usually enough for a formation to drop the bombs, and less chance of some weird event messing it up, like a plane dying after dropping its bombs. I have not had this problem. "on bingo bombs" from the leader fires when that aircraft is bingo bombs...the end. The other aircraft or their ordinance states to not factor in. Repeat, event triggers from the lead aircraft are for that aircraft only. Bingo bombs from lead is in my opinion the cleanest way to govern attack/rtb behavior. Timers are not ideal, and sloppy, because AI attack behavior is unpredictable and changes often from build to build, or between missions.
Habu Posted June 17, 2020 Posted June 17, 2020 11 hours ago, SAS_Storebror said: Thanks @=RS=Stix_09, that's understood. So... with my formation of 4 bombers, I would have to do this: Setup the group as an airborne formation, "enabled" unticked. Activate the leader when I want to have the formation start flying. Wait a second, then activate 1st waypoint which is linked to formation leader only. Wait another 5 seconds, then issue the "Command Formation" to the leader only. Let the formation follow through their waypoints which are object linked to the leader only. Link an "attack area" command to the leader only, which gets triggered from the last waypoint before reaching the attack area. Wait for "OnPlaneBingoBombs" on the leader only. Since the other planes in formation might not have dropped their bombs yet, wait another 5 seconds before triggering the next waypoint. Make sure the next waypoint is in line with the attack direction. In order to check when all planes are dead, link the "OnPlaneDestroyed" event from the leader only, to a counter which triggers at 4. Correct? I'm still wondering about the "OnPlaneBingoBombs thing. In my book, as soon as the leader dropped his bombs, since he's got no other commands, he should immediately attempt to enter a circle above the attack area. Therefore, any arbitrary time granted to the other planes in formation to drop their bombs, should result in some weird dancing of those planes that dropped their bombs already. Essentially, I'd expect the whole formation to fall apart within these 5 seconds... Mike Almost except for that one : 11 hours ago, SAS_Storebror said: In order to check when all planes are dead, link the "OnPlaneDestroyed" event from the leader only, to a counter which triggers at 4. For that event, you have to use it on each plane and link each plane to the counter. 12 hours ago, SAS_Storebror said: 21 hours ago, Habu said: f the group is activate, only for teh leader, if the group is psawn, you have to do it for all the plane That's a bit confusing to me, because from what I understand, you cannot spawn a formation. You can't use the command formation if you use the command spawn. Don't link planes to the leader, it doesn't work. When you have a group of plane wich is activate, they follow the leader and keep a formation on him (even if you don't use a command formation). As thay follow the leader, if the leader go on right, they go on right, if he goes on left, they go on left. That's why everything which manage the group is to be link only on the leader. Now, for a Onkilled event to counter teh kill, the life is individually, so you have to use an event for each plane. If you use planes which spawn, you have to use one waypoint by plane, one command attack area by plane, etc... With spawn planes, you can simulate a group of plane, but you have to place the waypoints of each plane to build your formation. Keep in mind, that it could be other solutions.
SAS_Storebror Posted June 17, 2020 Author Posted June 17, 2020 Thanks @Habu. To summarize my results: Orders are to be given to the leader only, events happen on each plane individually. I know that I can spawn separate planes and run them individually in a "fake formation" - that's what I did so far, but it's just a cheap excuse to a real formation, especially if you want the planes to fly close to each other and not run into each other once a single plane of that dangerous "fake formation" gets it's controls cut/damaged. Therefore I've been going back to the formation thing, which I've abandoned in the past (version 3.something) as back then, even disabled (and therefore temporarily non-existent) formations consumed excessive CPU power, but now that this is out of the way, activating formations seems feasible for DServer operations again. Mike
Jaegermeister Posted June 19, 2020 Posted June 19, 2020 The only thing I would add to all this great information is that before you trigger a Command Formation MCU, your formation will use the default Trail formation. If you have gone to the trouble to set them up in the formation you want them in, you should activate the Formation command 1 or 2 seconds after the Activate Command to keep them from jostling around in formation. You can then activate the 1st Waypoint and they will not run into each other.
SAS_Storebror Posted June 19, 2020 Author Posted June 19, 2020 Thanks @Jaegermeister. I've seen the same thing happening. My understanding is that formation commands only work when the planes are moving. They're not bound to be set to a specific waypoint. For that reason, I resorted to hammering my formation with the same formation command after spawn, for about 5 seconds, every 100ms. That way, whatever the server is busy with, latest 100ms after the formation starts moving, they get the correct formation command applied. All subsequent formation commands are just the same and therefore shouldn't have any effect. Mike
Jaegermeister Posted June 19, 2020 Posted June 19, 2020 2 hours ago, SAS_Storebror said: My understanding is that formation commands only work when the planes are moving. Yes, hence the 1 second delay from being activated. They start out moving at their default speed whatever that may be. I have found that waiting 2 seconds to activate the waypoint after the formation command gives the planes time to settle in before they think about the next 3 points below. 2 hours ago, SAS_Storebror said: They're not bound to be set to a specific waypoint. Correct, the waypoint controls altitude, speed and direction. 2 hours ago, SAS_Storebror said: For that reason, I resorted to hammering my formation with the same formation command after spawn, for about 5 seconds, every 100ms. Seems excessive. I would suggest you limit the number of MCUs you use to the minimum for everything you do. Excess commands just slow things down. Of course that's up to you.
Habu Posted June 19, 2020 Posted June 19, 2020 2 hours ago, SAS_Storebror said: For that reason, I resorted to hammering my formation with the same formation command after spawn, for about 5 seconds, every 100ms. No need for that. A timer of at least 5s after the spawn command will do the same. With 5 seconds, you can be sure that all planes spawn and are ready to receive order. 1
Gambit21 Posted June 19, 2020 Posted June 19, 2020 6 hours ago, Habu said: No need for that. A timer of at least 5s after the spawn command will do the same. Yep
SAS_Storebror Posted June 20, 2020 Author Posted June 20, 2020 (edited) I think there's a misunderstanding here. The 5s timer will do the trick to have all planes ready to receive the formation command order, no doubt about that. However, as @Jaegermeister rightfully pointed out: 17 hours ago, Jaegermeister said: before you trigger a Command Formation MCU, your formation will use the default Trail formation. If you have gone to the trouble to set them up in the formation you want them in, you should activate the Formation command 1 or 2 seconds after the Activate Command to keep them from jostling around in formation If you ever watched your formation coming to life, you will have noticed that they do some pretty weird moves in the beginning, and that's exactly because initially they'll try to align in default trail formation before the "real" formation command gets issued. Therefore, the longer it takes until the formation command is being received, the more the formation becomes disturbed. Not a big deal if your planes are well below ceiling altitude and well below top speed, but if your reach either of these, it takes a whole lot of time to realign the formation correctly after this "dance". 13 hours ago, Jaegermeister said: I would suggest you limit the number of MCUs you use to the minimum for everything you do. Excess commands just slow things down. I would have subscribed to that statement up to version 3.x, but the reason I'm reworking a large mission from "single respawn" to "formation activate" right now is because with version 4.x, the sheer number of MCUs doesn't seem to matter anymore. Or to put it bluntly, if it would matter, PWCG missions won't work. I've tested this with a sample mission where one version consisted of one single flight of 4 bombers being activated at mission time, and the other version had 500 more of these flights (with all their internal activation/bomb run/destruction logic etc.) - all of them deactivated of course. The 2nd version of that mission topped out at a tremendous 20MB mission file size, but the performance (CPU load, ticks, SPS) was just the same. Mike Edited June 20, 2020 by SAS_Storebror
SAS_Storebror Posted June 20, 2020 Author Posted June 20, 2020 Disregard my last statement about number of MCUs. The synthetical test with 500 flights of 4 bombers in "deactivated" waiting state showed no issues. 20 such flights on a real mission though causes the Tick delay to raise from 1.0 to 7.0 and the CPU load from 3% to 30% accordingly. Dammit. The work of a whole week just going to waste. Mike
Habu Posted June 20, 2020 Posted June 20, 2020 Tick delay of 7 is ok. Don't worry with a tick delay of 7.
SAS_Storebror Posted June 21, 2020 Author Posted June 21, 2020 I'm not worrying about a tick delay of 7. I'm worrying about that idle tick delay of 7 - when nothing, really nothing happens on the mission. No actor being active. No checkzone being active. Nothing at all. The "normal" mission had a tick delay of appr. 15 while actively running, which means that an additional 6 ticks delay just from having the formation objects waiting on the map would push the DServer over the edge. It's sad that the game is wasting CPU cycles on inactive mission objects. It's even more sad that we cannot simply spawn formations. And the fact that you cannot pre-check such issues (see differences in results from test mission vs. "real" one) just makes matters worse. This unpredictable behaviour mixed with illogical limitations on our otherwise so versatile and complex mission editor is something that can drive you nuts as a mission maker at times. Mike 1
Habu Posted June 21, 2020 Posted June 21, 2020 Ok, i missunderstood. If you use spawn unit, there will be less ressource used, but you have the limitation for the formation. May you post the mission, i'll try on my server. I can tell you what i have. Tick delay is dependent of the CPU. How many players do you want in the mission ?
SAS_Storebror Posted June 21, 2020 Author Posted June 21, 2020 I think an i7-4770 CPU should be sufficient to run missions of reasonable complexity. Nevertheless, mission files in both versions (spawn and formation) have been sent by PM. Mike
coconut Posted June 21, 2020 Posted June 21, 2020 2 hours ago, SAS_Storebror said: And the fact that you cannot pre-check such issues (see differences in results from test mission vs. "real" one) I would expect that the CPU cost of a mission isn't O(n) where n is the number of MCUs, but more like O(n * m), where n is the number of computationally-heavy MCUs (such as check-zone) and m is the number of vehicles and players. When you make a synthetic test, try to use a generous number of check zones. My auto-generated missions can contain hundreds of them, and to be able to run them I had to keep most of my check zones inactive most of the time, waking them up for a few milliseconds once a minute or so. Thus keeping n small. I would expect that some entities, e.g. anti-air, have a built-in check zone in them. And as AIs tend to look for enemies, meaning each unit has to traverse the list of all units, complexity is probably more like O(n * m + m^2).
SAS_Storebror Posted June 21, 2020 Author Posted June 21, 2020 As mentioned earlier, the Tick Delay of 7 only happens on the real mission, not on the synthetic test mission. The real mission does have check zones, complex triggers etc., however none of them is active at mission start. All mission items are in deactivated state until the 1st player spawns, nevertheless the CPU toll of having disabled formations added strikes pretty hard on the real mission. And of course the check zones are dynamically activated/deactivated on demand, as well as AAA - most of them have check zones with duty cycle logic attached so even if they're active, they will only check like 5% of times. But anyway, at the time when the CPU load kicks in, each and every element of the mission is just sitting there deactivated, waiting for a player to spawn. Mike
Habu Posted June 21, 2020 Posted June 21, 2020 I tested your mission. I will answer here and by MP because there are some private information on our server. First, we run a server with almost the same CPU, but ours is a little bit better. More your CPU is powerfull, more you can manage AI. It's a fact i can experimemnt since Rise of flight. We change at least 3 time of server. And each time we have a more powerfull CPU, the tick delay decrease and i can add more Ai. Our server is : I7 4790K 32 GO de RAM (you don't need that amount, but it's a package in the server we rent). 2 SSD Win 2012 R2 When i have no one on the server, the tick delay doesn't go over 3.1. I played on the server almost 20 minutes. See MP for server information. What i can say about the mission : - Cow and horses are useless. - You have a tank and ww1 area, do you have AI which fly or wheel for WW1 and tank when WW2 plane fly ? If yes, you have to separate the mission, or do as if a player spawn in that part, it activated only the AI on that part and delete all other. I join one of my training mission, you can have a look. On that one, i have only WW2, but units spawn only when i need it. Go in the upper side named Administrator, then choose what you want. You can also see that player can load the next mission using the airfield in the right bottom corner (use zoom and move teh map to see them). PX_Rheinland_Sum_v3.7_HC.zip
SAS_Storebror Posted June 23, 2020 Author Posted June 23, 2020 Thanks for your reply and the Test Mission @Habu. That's one massive training mission... Well, yours and our approach are similar in some aspects and completely different in others. Similarity for instance is that you are using the "Spawn/Fake Formation" style for AI planes too. That's what we stick to for the time being as well. The activation of "real" formations proved unfeasible in our tests due to server load inflicted from "not yet used" AI formations. The main difference probably is that you are relying on an Admin to actually operate the mission, whereas our training mission is supposed to run unobserved, "free for all". That's why we offer all flavours of IL-2 GB at the same time, so players can individually spawn WW1 planes, WW2 planes and Tanks, just as they like/wish. The individual parts of the mission (WW1/WW2 planes, Tanks) are activated "on demand" - i.e. when a player spawns in that part, or when a player plane reaches the tank battle zone - the latter is for combined air/ground operations, and it's by design that these parts can run in parallel. Actually all 3 parts can be active at the same time, depending on player spawn behaviour. With "fake formation" pattern this is no issue, the server's tick delay at maximum load stays well below 18 and usually is at around 15 when players are on the map. With "real formation" pattern (activated on demand), the server gets overloaded when the 1st player spawns and it keeps being overloaded all the time. To summarize what we've found out in this thread: You can activate AI formations using the "activate" trigger. All commands go to the formation leader only - including the "activate" link, "formation" commands and waypoints. All events will be issued from each plane of the formation individually, e.g. "OnPlaneBingoBombs", "OnPlaneDestroyed" etc. Formations eat CPU cycles even if they're inactive, the amount of CPU cycles consumed depends on the amount of inactive formations and the amount of check zones, proximity triggers and the like. It's really sad that our oh-so complex Mission Editor lacks basic features like: * Spawn Formations * Player Joined Server * Player Disconnected * Player Despawned (e.g. finished mission or got destroyed) * Real randomization (current implementation partly yields repeatable results) * Simple if/then/else logic gateways * Variables of simple types (boolean, int, float) * Dynamic object references, e.g. a plane triggers a check zone and the check zone can object link back to that plane, whichever it is Mike
Habu Posted June 23, 2020 Posted June 23, 2020 (edited) 7 hours ago, SAS_Storebror said: The main difference probably is that you are relying on an Admin to actually operate the mission, whereas our training mission is supposed to run unobserved, "free for all". No, the airfield is called administrator, but any players can use it, as the reload of the mission. I have the same goal as you, that player don't need any admin to manage the AI they want. I have mission where player activate AI from airfield. 7 hours ago, SAS_Storebror said: * Player Joined Server I don't understand what you mean. 7 hours ago, SAS_Storebror said: * Player Disconnected I don't understand what you mean. 7 hours ago, SAS_Storebror said: * Player Despawned (e.g. finished mission or got destroyed) I don't understand what you mean. 7 hours ago, SAS_Storebror said: * Real randomization (current implementation partly yields repeatable results) No, most of my mission (maybe in that one i provide) use randomise for the opponent. 7 hours ago, SAS_Storebror said: * Dynamic object references, e.g. a plane triggers a check zone and the check zone can object link back to that plane, whichever it is Use the complex trigger with a name unit. Have a look on my mission on the Administrator logic. The trigger is activated by a specific plane. I want to clarify something : If you have 10 units on your mission which are activated or spawned at the same time, it take the same ressource. The difference is : if you use AI at different time. A unit which is activated take ressource even when she's not activated. That's not the case with spawned units. But when all the units are in game and active, there is no difference on the ressource. 7 hours ago, SAS_Storebror said: With "real formation" pattern (activated on demand), the server gets overloaded when the 1st player spawns and it keeps being overloaded all the time. As you can saw with the graphic of my dserver, that's not the case with my server. Edited June 23, 2020 by Habu
SAS_Storebror Posted June 23, 2020 Author Posted June 23, 2020 (edited) Sorry to say Habu, but that reply of yours is a bit weird... 1 hour ago, Habu said: No, the airfield is called administrator, but any players can use it, as the reload of the mission. I have the same goal as you, that player don't need any admin to manage the AI they want. I have mission where player activate AI from airfield. If all players on your server behave properly: Fine for you. My experience is that whatever element you hand out to "random guests" on your server which opens a way to abuse anything on the mission: They'll abuse it. For instance, I can definitely expect to find the first "funny" guy who'll have nothing better to do than continuously restart the mission (and thereby drive away all other users) within half a day max. if I'd implement such "administrator" airfield. And that's what I meant when saying... 8 hours ago, SAS_Storebror said: You are relying on an Admin to actually operate the mission ...because leaving such mission running without an admin around, on a public server without password protection, is a no-go from my experience. 1 hour ago, Habu said: 8 hours ago, SAS_Storebror said: * Player Joined Server I don't understand what you mean. As simple as this: An MCU that triggers when a player joins the server. Is that really too hard to understand? Currently you've got no way to know when a player connects - the earliest trigger you can get is when the 1st player spawns. 1 hour ago, Habu said: 8 hours ago, SAS_Storebror said: * Player Disconnected I don't understand what you mean. Same as before, the other way around: An MCU that triggers when a player disconnected from the server. That way for instance you could count the number of players currently on the server, e.g. in order to keep a mission running as long as players are around, postpone nightly service tasks on the server, restart a mission 10 minutes after last player disconnects, ... there's endless use cases. 1 hour ago, Habu said: 8 hours ago, SAS_Storebror said: * Player Despawned (e.g. finished mission or got destroyed) I don't understand what you mean. Seriously? An MCU that triggers when a player finishes his flight, be it at will or forcibly. Can't see what's not to understand here. 1 hour ago, Habu said: 8 hours ago, SAS_Storebror said: * Real randomization (current implementation partly yields repeatable results) No, most of my mission (maybe in that one i provide) use randomise for the opponent. Congratulations. Our whole training mission is random! And since it is, and has been for more than a year already, we have sufficient experience with timer triggers of 50% probability to say loud and clear: The results repeat if you keep triggering a limited number of such triggers in the same order, same time. In the beginning of a mission, where there's no system-dependent random tick time delay (yet), this can be very annoying. That's another use case for a "Player Joined Server" trigger as it would automatically randomize the timing part and thereby even turn the "predictable randomization" of our current game into an almost real one. Let me say this straight and clear: If you have never experienced predictability in your randomization, then either it has a random time element beforehand, or you simply didn't watch it for long enough. 1 hour ago, Habu said: 8 hours ago, SAS_Storebror said: * Dynamic object references, e.g. a plane triggers a check zone and the check zone can object link back to that plane, whichever it is Use the complex trigger with a name unit. Have a look on my mission on the Administrator logic. The trigger is activated by a specific plane. You missed the point - I know how to use complex triggers with named units. Our training mission utilizes that feature quite a bit. What I'm talking about are real dynamic object references. Say I have one AI plane with a spawner and trigger that spawner 10 times in a row. Currently, the result is 10 AI planes of which I can't distinguish one of the others at mission editor level. What I'm talking about now is an object reference which, if let's say one of the 10 planes enters a check zone, would dynamically link back to that plane - just that, and none of the other nine planes that belong to the same spawner. Currently impossible to do. 1 hour ago, Habu said: 8 hours ago, SAS_Storebror said: With "real formation" pattern (activated on demand), the server gets overloaded when the 1st player spawns and it keeps being overloaded all the time. As you can saw with the graphic of my dserver, that's not the case with my server. Your test was performed with limited AI (missing bug issue) and no action on Tank and WW1 zone. It's fine that in your case an i7-4790k can barely deal with the load, in my case the i7-4770 can't. The fact that your server is on the "green" side of the edge can hardly count as a "solution" to the issue, can it? If it could, then we'd have no issues with DServer performance at all anymore. You "just" need an i9-10900k, liquid nitrogene cooling and 6GHz clock rate and everything's fine and dandy for some time to come. Mike Edited June 23, 2020 by SAS_Storebror
Habu Posted June 23, 2020 Posted June 23, 2020 10 minutes ago, SAS_Storebror said: Sorry to say Habu, but that reply of yours is a bit weird... 1 hour ago, Habu said: No, the airfield is called administrator, but any players can use it, as the reload of the mission. I have the same goal as you, that player don't need any admin to manage the AI they want. I have mission where player activate AI from airfield. If all players on your server behave properly: Fine for you. My experience is that whatever element you hand out to "random guests" on your server which opens a way to abuse anything on the mission: They'll abuse it. For instance, I can definitely expect to find the first "funny" guy who'll have nothing better to do than continuously restart the mission (and thereby drive away all other users) within half a day max. if I'd implement such "administrator" airfield. And that's what I meant when saying... 8 hours ago, SAS_Storebror said: You are relying on an Admin to actually operate the mission ...because leaving such mission running without an admin around, on a public server without password protection, is a no-go from my experience. I didn't say that it will be with no password. As you said, that kind of thing can only be in a control area. When i say control area, is that every player know how works that features and you know them. 14 minutes ago, SAS_Storebror said: 1 hour ago, Habu said: 9 hours ago, SAS_Storebror said: * Player Joined Server I don't understand what you mean. As simple as this: An MCU that triggers when a player joins the server. Is that really too hard to understand? Currently you've got no way to know when a player connects - the earliest trigger you can get is when the 1st player spawns. 1 hour ago, Habu said: 9 hours ago, SAS_Storebror said: * Player Disconnected I don't understand what you mean. Same as before, the other way around: An MCU that triggers when a player disconnected from the server. That way for instance you could count the number of players currently on the server, e.g. in order to keep a mission running as long as players are around, postpone nightly service tasks on the server, restart a mission 10 minutes after last player disconnects, ... there's endless use cases. 1 hour ago, Habu said: 9 hours ago, SAS_Storebror said: * Player Despawned (e.g. finished mission or got destroyed) I don't understand what you mean. Seriously? An MCU that triggers when a player finishes his flight, be it at will or forcibly. Can't see what's not to understand here. I didn't understand that you would like a trigger. Sorry, but it's not clear in what you wrotte. Only a listing without any explanations. 15 minutes ago, SAS_Storebror said: 1 hour ago, Habu said: 9 hours ago, SAS_Storebror said: * Dynamic object references, e.g. a plane triggers a check zone and the check zone can object link back to that plane, whichever it is Use the complex trigger with a name unit. Have a look on my mission on the Administrator logic. The trigger is activated by a specific plane. You missed the point. I'm talking about real dynamic object references. Say I have one AI plane with a spawner and trigger that spawner 10 times in a row. Currently, the result is 10 AI planes of which I can't distinguish one of the others at mission editor level. What I'm talking about now is an object reference which, if let's say one of the 10 planes enters a check zone, would dynamically link back to that plane - just that, and none of the other nine planes that belong to the same spawner. Currently impossible to do. Randomise plane which is named in the plane of the pool, like you can do with different kind of plane, or activate Complex trigger which interact with the name of the random plane. 19 minutes ago, SAS_Storebror said: 1 hour ago, Habu said: 9 hours ago, SAS_Storebror said: With "real formation" pattern (activated on demand), the server gets overloaded when the 1st player spawns and it keeps being overloaded all the time. As you can saw with the graphic of my dserver, that's not the case with my server. Your test was performed with limited AI (missing bug issue) and no action on Tank and WW1 zone. It's fine that in your case an i7-4790k can barely deal with the load, in my case the i7-4770 can't. The fact that your server is on the "green" side of the edge can hardly count as a "solution" to the issue, can it? If it could, then we'd have no issues with DServer performance at all anymore. You "just" need an i9-10900k, liquid nitrogene cooling and 6GHz clock rate and everything's fine and dandy for some time to come. Please re read what you wrotte, you wrotte that with just one player, your server suffer of overload which is a tickdelay over 18 (if i remember). So, as i tell you and as you can saw, i played alone on your mission, and my server never overload. What i want to say is that you have to build your mission for your hardware and your player. You can't perform all the action and AI you want, like me and other mission builder. All has a ressource price. We have to manage it. I have a training map like you with tank, WW1 and WW2. But when we work on WW2, we don't use the other parts to provide the best experience for the player. Now you have to know the limitation of your hardware and manage with it. Even if if you don't like it. It's the same for all the game. Some server can handle X players and other Y. I have some heavy mission, and my mission are suit for my server with the amount of player of my squad. And if someone play my mission on his server, he can have problem because the hardware is less powerfull, or there are too much player. Sometimes, some change in the game can change the ressource and a mission which work before take more ressources after a patch. What is sure, is that if i want more AI in my mission, i have to change my server which is something i think about it since one year.
IRRE_Genius Posted June 24, 2020 Posted June 24, 2020 Habu, I think he want a simple trigger like mcu server command with an event trigger (player connect, disconnect, etc..). It will be useful to adjust load and it will be more useful than a big complex trigger.
coconut Posted June 24, 2020 Posted June 24, 2020 For managing load, you can use the server input mcu together with an external script that monitors dserver’s cpu usage and triggers the mcu via the remote console API. It would require the use of DServer though, so no use for single player mission. A simpler solution would be to get a mission overload mcu that triggers when the tick delay goes over a configurable value. 1
SAS_Storebror Posted June 24, 2020 Author Posted June 24, 2020 There's workarounds for many things, no doubt about that. The problem is the excessive complexity of such workarounds when a simple additional MCU could do the job. 15 hours ago, Habu said: Randomise plane which is named in the plane of the pool, like you can do with different kind of plane, or activate Complex trigger which interact with the name of the random plane. Totally unrelated. What I'm talking about is an object link that gets generated at runtime, dynamically pointing back at the object that triggered the event/mcu. What you're proposing still requires individually spawned objects - that's a no-brainer. If I have 10 individual spawners, I can deal with each of them individually. Named or not. However if I have one single spawner spawning the same thing 10 times, then I have no way to isolate one of the spawned objects at runtime. That's the situation I'm talking about. 15 hours ago, Habu said: Please re read what you wrotte This doesn't get us anywhere. If it makes you feel better: You are right and I'm wrong, your server is better than mine, bla bla bla... omfg... 15 hours ago, Habu said: You can't perform all the action and AI you want Fact is with fake spawn I can have anything I want right now, and still have room for additional complexity. With formation spawn, current mission is too much (before you start to jump off the chair: For my server) already. This thread's title is "formation questions", it's been dealing with dynamically activated formations, and my result from lengthy attempts and research is that while it's possible to do it, it's not feasible for complex missions due to excessive CPU cycle impact. Mike
=RS=Stix_09 Posted July 11, 2020 Posted July 11, 2020 (edited) On 6/23/2020 at 9:04 PM, SAS_Storebror said: It's really sad that our oh-so complex Mission Editor lacks basic features like: * Spawn Formations * Player Joined Server * Player Disconnected * Player Despawned (e.g. finished mission or got destroyed) * Real randomization (current implementation partly yields repeatable results) * Simple if/then/else logic gateways * Variables of simple types (boolean, int, float) * Dynamic object references, e.g. a plane triggers a check zone and the check zone can object link back to that plane, whichever it is Mike Yes, I would love to have an if then else logic with variables. That would make missions considerably easier to make. Trying to do this with current trigger logic is far too complex and prone to errors. This I think would not be hard to implement however *dynamic object references would be difficult to do with the trigger logic the editor uses... With out big changes to editor logic I think... Edited July 11, 2020 by =RS=Stix_09
=RS=Stix_09 Posted July 11, 2020 Posted July 11, 2020 (edited) On 6/18/2020 at 3:25 AM, Gambit21 said: I have not had this problem. "on bingo bombs" from the leader fires when that aircraft is bingo bombs...the end. The other aircraft or their ordinance states to not factor in. Repeat, event triggers from the lead aircraft are for that aircraft only. Bingo bombs from lead is in my opinion the cleanest way to govern attack/rtb behavior. Timers are not ideal, and sloppy, because AI attack behavior is unpredictable and changes often from build to build, or between missions. My point is this: If you use bingo bombs this works for spawned planes, but not formations. As soon as you trigger bingo bombs on formation lead plane to trigger say RTB/waypoint or land MCU etc all the formation will do that so any planes that have not dropped bombs yet stop the attack and follow the leader. You would have to user a counter to trigger all the planes in the formation on Bingo bombs (which can fail in odd cases like a plane being destroyed before it can go bingo bombs, especially if it takes more than 1 pass to unload all the bombs) which means you have to put logic in the work around odd cases than can happen. Hence the only reliable method is timed bombing run if you use a formation. Edited July 11, 2020 by =RS=Stix_09
Gambit21 Posted July 11, 2020 Posted July 11, 2020 5 minutes ago, =RS=Stix_09 said: My point is this: If you use bingo bombs this works for spawned planes, but not formations. As soon as you trigger bingo bombs on formation lead plane to trigger say RTB/waypoint or land MCU etc all the formation will do that so any planes that have not dropped bombs yet stop the attack and follow the leader. You would have to user a counter to trigger all the planes in the formation on Bingo bombs (which can fail in odd cases like a plane being destroyed before it can go bingo bombs, especially if it takes more than 1 pass to unload all the bombs) which means you have to put logic in the work around odd cases than can happen. Hence the only reliable method is timed bombing run if you use a formation. I Yes, which is why you use Bingo bombs plus a timer, and this time can be adjusted. Point is, timer alone is inefficient because the logic doesn't relate to the bomb state of any aircraft at all. With Lead "bingo bombs" plus timer, you at least start with the state of the lead aircraft bingo report.
=RS=Stix_09 Posted July 11, 2020 Posted July 11, 2020 2 minutes ago, Gambit21 said: Yes, which is why you use Bingo bombs plus a timer, and this time can be adjusted. Point is, timer alone is inefficient because the logic doesn't relate to the bomb state of any aircraft at all. With Lead "bingo bombs" plus timer, you at least start with the state of the lead aircraft bingo report. Yes, that was my point also, bingo bombs alone doesn't work 1
IckyATLAS Posted July 20, 2020 Posted July 20, 2020 On 6/16/2020 at 8:09 PM, SAS_Storebror said: After activation, does it make sense to issue a "force complete" command with priority set to "low" in order to make gunners more happy to pick up enemy planes, or is this useless? The AI skill level should remain "low" or "normal" to counter sniper gunners a bit... For AAA gunners my experience is that if you use the Force Complete High it will silence the gunners completely. Force Complete to Low will make them shoot full rate. At Medium they will shoot too, but I feel with less enthusiasm. Then you have to play with the AI parameter of the gunners. At max level they are pretty lethal. The Force Complete parameter will have no effect on normal ground artillery. For Gunners in the bombers it is the Waypoint Priority parameter that will affect them. If set to high the bomber will fly straight to the waypoint impervious to any danger around and the gunners will also sleep on board. Priority set to Medium will have the gunners shoot, but the bomber may also maneuver to avoid fighter fire or ground fire (this is less clear). If Priority is set to Low the bomber may attack other enemy planes and the gunners will shoot all around. And for trains with AAA artillery it is the same behavior as for ground AAA, except that it will be the trains Waypoint Priority parameter that will affect the firing rate. High nothing happens. Medium is moderate, Low is max fire. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now