Q/A Session Regarding Aegis-like Air Defense and Future
Read more about it here: Download.wicmwmod.com
Q: Roughly a year ago, we wrote few very simple Python scripts to provide basic target leading for WiC anti-aircraft guns and we called them PredictorFCS for sake of code organization. A lot has changed since then isn't it?
blahdy wrote:It has indeed. They were simple python scripts but we decided to give them a fancy name with the hope that we would be doing more work with them later on. Today, PredictorFCS module is doing stuff we had never thought of in the past.
Q: Let's talk about gameplay for a moment and the python scripting's role in them. In the past, Surface-to-Air Missiles (SAMs) used the default tail-chase homing rockets provided by the game, and they were sufficient to give us an acceptable gameplay balance.
But now today, it is everyone's perception that these homing rockets are inefficient and pretty much next to useless. What exactly has changed?
blahdy wrote:Yep, that is correct. What has really changed is the introduction of cruise missiles during MW Mod 2 open beta.
We found that cruise missiles were in practice, impossible to counter. Every AA missile missed the cruise missile and the only way to knock the thing out was to use high fire-rate Gatling cannons provided by point-defense AA guns. AA guns could only stop 1 or 2 missiles at max and became very easily overwhelmed. And of course, long range SAMs did absolutely nothing to stop them.
So our initial knee-jerk reaction was make cruise missiles so expensive that nobody used them anymore, and it became a question of "why do we even have them in game?"
And this issue of cruise missiles during open beta was really what made us look into python scripts again for help. The principle problem was that AA homing missiles never lead their target - they always chase after them. So by the time the AA missile could catch up to the cruise missile to kill it, cruise missile has already made its mark on the target, it's just too late.
Using python scripts and our PredictorFCS scripts as basis, we can now use SAMs to reliably intercept cruise missiles. The way we do this is, we direct the python shooter to fire the missile ahead of the cruise missile's flight path, creating a mid-air collision without having the need to catch up to it. We are basically skeet shooting in game with pixels.
Q: And now we will have auto-piloting "search and destroy" cruise missiles, which do not require the player to touch them. They simply cruise on their own, home into their target and blow up; it's very smart artillery.
blahdy wrote:Yes, we now have a situation where support player is going to have to deal with not just helicopters; he will also have to deal with precision guided munitions, cruise missiles, ballistic missiles, UAVs and now some fixed wing aviation like AC-130. This is absolutely nuts, there is way too much hostile air traffic in the sky.
Many players complained during open beta that playing support in MW Mod is too nerve-wrecking. Air players always held the advantage of mobility, and support player simply could not provide effective air defense for his team, because he was always scared to defend himself, not his teammate and could not react fast enough to handle even just helicopters.
Q: It is like watching an arms race. So, to help support and armor players cope with increasingly hostile airspace, our answer is to once again, more PredictorFCS python scripts! Could you explain on how it will fit into this scenario?
blahdy wrote:Especially with the auto-piloting cheaper cruise missiles, we recognized that reaction time, firepower, and operational availability of our existing anti-air units did not match the advancing cruise-missile threat.
Lot of what support player had to do in the past to fight off incoming air attack was all manual - the player had to make decision on his own and micro his AA units accordingly to fight it off. This was fine when you're dealing with helicopters with short-range missiles. But when you have helicopters with long range missiles, ballistic missiles, UAVs and cruise missiles coming at you at high speed, every 0.1 second counts and humans simply cannot react fast enough to match the threat. Reaction time is the biggest issue here.
So we decided to expand from our PredictorFCS python module and began developing a new program to vastly expand your team's anti-aircraft warfare (AAW) capabilities in game, mainly against cruise missiles. The objective of this project was to develop a highly sophisticated Integrated Air Defense System (IADS) simulation for real-time strategy game environment, borrowing conceptual ideas from the Navy's Aegis Combat System. Reduction in reaction time through automation and computer-aided command and decision process for the support player has become the main primary goal of the project.
Q: Okay, cruise missiles are getting quite cheap in the upcoming version; let say I spam 8 cruise missiles against you. What do you do?
blahdy wrote:Nothing. Well, you may want to move your point-defense AA guns closer to better position them for incoming attack. But in all things considered, you have less than 15 seconds to individually target and kill 8 cruise missiles. Let's be realistic, it's not happening. It takes 5 seconds for your own AA missiles to just respond, I mean come on.
Q: Okay so, what happens now with the new Aegis-style PredictorFCS IADS? We've got 8 cruise missiles incoming and have 15 seconds left before we're wiped off the map.
blahdy wrote:What really happens now with the new PredictorFCS IADS code is suddenly you see a bunch of wall of text scrolling on upper-left corner of your screen. Then suddenly, you notice several of your SAMs sliding off of your launchers in hurry and series of explosions happening way out ahead of you like fireworks, as incoming cruise missiles are being intercepted one by one. It is like watching The Matrix. And it is all over in matter of 10 seconds while you're still trying to recollect on what the hell just happened before realizing you just survived an incoming missile spam.
The IADS script runs a few python program modules in the background. The first module is what is known as Sector Scanning Code (SSC). The sector scanner is initiated by your ground radar units. What this does is, it continuously runs a loop and scans airspace within 120 degrees bore sight of the radar's facing, looking for any hostile air threats. Every time air threat is detected by SSC, a data entry is made and air target's speed, heading and altitude are observed. Up to 100 individual air targets can be tracked simultaneously by SSC.
For each target, the SSC determines whether this target is moving towards you and needs to be intercepted. It also makes determination on whether the target is a cruise missile, ballistic missile or aircraft, depending on its flight profile. As soon as SSC determines that incoming air threats are about to attack you, it generates a "9-LINE" containing list of all incoming bandits and sends a message to the Guidance Control Unit (GCU) python module. The GCU goes thru the list and assigns 2 anti-air missiles for each target on the list and commands your SAM launchers to immediately open fire, automatically on its own. The GCU can guide anti-air missiles to 9 different targets simultaneously at once, allowing the entire SAM system to shoot down several incoming bandits in one go.
As your SAM missiles are en route to their targets, the missiles need to be guided to their targets individually. The GCU then passes the baton to Terminal Approach Control (TAC) python module. The TAC python takes list of your SAMs that are moving to intercept and list of incoming bandits. And it assigns 2 incoming bandits at a time through a process known as "radar illumination." The TAC code "illuminates" 2 hostile targets, telling your SAMs to attack them and collide in mid-air. As 2 of your SAMs make their kill, the TAC code now switches and illuminates the next 2 hostile targets. It continues to illuminate hostile targets on 2-by-2 rotation every second until all incoming threats have been eliminated.
If the incoming threats have not been fully eliminated, a secondary medium ranged system, such as the PAC-3 missile is engaged to dispatch the incoming cruise missiles before they impact over you. If this doesn't fully stop them, then your short-range Vulcan point-defense AA gun is your last remaining "goal keeper" to stop what is left of them. Hopefully only 1 cruise missile slips past your missile layer.
Watch the new IADS Program taking out 8 incoming cruise missiles in one go:
Q: It's quite one piece of over-engineering for what used to be a simple script, heh.
blahdy wrote:Yes, and it uses multi-threading and object oriented programming to facilitate maximum inter-unit efficiency to combat incoming cruise missiles in lowest possible time.
Q: What is really awesome is the level of automation and speed. The support player could now actually push his short-range AA's forward to frontline and provide REAL air defense for his armor and infantry teammates instead of sitting in the back cowering.
bladhy wrote:Yea and all of this happens in roughly 10-15 seconds or so, it's extremely fast-paced environment when cruise missiles are flying. The only way to combat these cruise missiles in such a fast-moving environment is a highly automated command and decision system and data networking which can deal with multitudes of incoming threats at once with minimal human input.
You could literally place your Heavy SAM unit in your spawn, switch the unit into ‘OPERATE' mode to bring the "Aegis-like" IADS software into life. Then you could get away from keyboard, watch TV or sip a cup of coffee. Your SAM systems will autonomously operate by the computer without any input from you.
This also means that support player can finally participate in active team work, instead of cowering in the back trying to defend his own very existence, which was a big game play issue during open beta. You can finally play artillery again and you can finally push short-range AA's and repair vehicles to protect front line teammates, just like in vanilla un-modded WIC game.
Q: Another benefit is the easier game play, correct?
blahdy wrote:Absolutely. I received constructive criticisms from players that there are way too many AA's in MW Mod and frankly they don't know what radar is what it does, where it should be placed, it is just too complex and a turn-off for a casual gamer.
We listened to them and decided they were right. Under the new "Aegis-like" IADS environment, all you have to do is purchase a Heavy SAM unit, turn on its offensive and defensive special abilities to bring the system online into ‘OPERATE' mode, and then walk away. Everything air-defense related is taken over by the computer, even micro commands you would issue to attack targets are decided by the IADS software's command and decision module.
Q: But all of this doesn't mean this new IADS system is invulnerable, right?
blahdy wrote:Indeed, the system is definitely not invincible and can be taken down by air players with teamwork. It just requires more effort than before to take it out, but it is by no means anywhere close to being immortal.
First of all, the IADS software is limited in number of engagements it can perform simultaneously, so you can simply overwhelm the system in a brute-force attack by the numbers. And, Heavy SAM missile launchers only have 4 long range missiles per firing unit and once they run out, there is going to be a long reload. A Heavy SAM squad comes with 5 long range missile launchers, so it has inventory of 20 missiles to spend. Compounding to that fact is that IADS software always engages 1 target with 2 missiles for extra insurance to make sure it kills the target. Keep that in mind and use that against them to drain down its ammo quickly.
It is still very much recommended that support players provide a short-range "goal keeper" type last resort protection to his Heavy SAM squad using short-range Stinger or Vulcan point-defense AA unit. Cruise missile(s) could still slip past your powerful IADS missile layer, and you will thank your Vulcan AA gun for saving your squad in the last few seconds.
Remember, all it takes is just 1 or 2 cruise missiles getting past your defenses to take you out completely off the map.
Q: Okay, last question, where do we go from here for the future, looking beyond IADS?
Someone wrote:The Aegis-like IADS program project had given us some limited experience into object oriented programming and multi-threading environment. This will in the near future, allow us to improve and master the "data networking" aspect between the units - where units of different kind are sharing information between each other to provide more combat efficiency.
Based on the Aegis-like IADS program developed for powerful air defense, in the future, we can create a network-centric warfare model for real-time strategy game, where a command & control unit such as JSTARS/AWACS aircraft and mobile command units could distribute targeting data and relay requests between units.
For example, an infantry player could use laser designator option to generate a networked fire mission request. When created, other player's units that are in the area and able to provide fire mission, such as Apache with Hellfire missile or an artillery firing unit could respond to provide automated fire mission for the infantry player, on demand.
Think of it as infantry player putting down a Tactical Aid on the map, except, the combat unit that is delivering the tactical aid fire mission is not some animation drawn by the game, but actually a real unit owned by your teammate!