I’m working on my first campaign–using Viggen supplied ELINT to find a couple of targets…and then blow them up (of course).
My question deals with how or if one can “carry forward” destroyed or damaged equipment from one mission to a subsequent mission.
I built a simple 2 mission Campaign. I played out a few targets: Stationary ground vehicles group (HAWK site), mobile ground vehicles group (APC and tank), a few static targets (aircraft a building and 2 x POL tanks) and a stationary ship group (dry cargo ship). Once I had the targets laid out I copied the mission for mission 2. I added two flight plans and set the second mission a few hours after the first.
I flew the first mission and destroyed a HAWK radar and support vehicle. I damaged a near by static CH-53.
Then I flew the second mission and lo-and-behold, the destroyed vehicles had resurrected.
Is there any way I can get the campaign to remember what got schwacked in the first mission and at least not display it in the second / subsequent missions?
The first way off the top of my head would be to have a simple flag check for whether or not an object is destroyed, then load an alternate mission where the object is destroyed at the start. I haven’t looked into campaigns enough to know if we can forward data from one mission to the next (I have a nagging suspicion that we cannot without using mods). If we can, then it’d be as simple as setting a flag for the object’s destruction and detecting that flag in the next mission to destroy/remove the object.
If we can, I can definitely make it work but it could be clunky.
Take a standard SA2 site. Minimum equipment, 1 x Fansong and 6 x Guideline launchers. If I remember my logic mathematics correctly that is 2 to the 7th power different variations of “post strike” configuration.
You could do something with LUA, like loop through everything at the end of the mission, save it’s ‘state’ and then when the second mission loads, read all of that and return it to that state. That would work for static objects (houses) but not for dynamic (tank columns) - which would be a bit more work. I was considering something like this a few years ago but never got around to my campaign ideas. I have a feeling I may mess with it in a couple of months. I would really like to know some details about the dynamic campaign features coming to DCS. Depending on how they are implemented, this may be done for us.
Yes it is possible,as this is what I am doing in my Dynamic Campaign Engine. It is not exactly trivial though and requires some LUA programming. Prerequisite is that you need to disable mission sanitizing to enable LUA access outside the game environment.
Basically on mission end you collect what happened (either by going through the events in the mission log, tracking events throughout the mission yourself or going through all remaining units and check status) and then export the info into an external file. I then use an external program to read that file and write the next campaign mission (as in writing the actual text files that constitute a mission). Alternatively you could also use an existing mission and on mission start, load your external status file per script and use it to add/remove units as necessary on the fly.
These ideas seem to be the ticket. I think it can be done with Flags.
Assign a specific flag per piece of equipment; i.e. Fansong is Flag 1, Launcher 1 is Flag 2, etc. Establish a standardized system for the Flags–1=Alive; 0=Dead. An initial trigger to set all Flags to 1; a series of triggers to switch specific Flags to 0 when its corresponding vehicle/object has been killed.
At the end of a mission a LUA script to read the Flag status and save it to a file. At the start of the new mission, another LUA script that reads the file and sets the status of the vehicles/objects accordingly.
Sounds simple in theory but I have a feeling it will be a bit more difficult in practice.
Likely too much to try to implement in my Viggen ELINT campaign…I’ll use some logical work arounds to “keep it real”
Thanks for all your answers! As always, the Mudspike team comes through.
You could probably use bit masks for that, lets say you have 32 objects you want to track, then use a 32 bit int to store all the flags of dead or alive, assign each object a flag somewhere in its properties if you can( fan song 1 = 000100000 etc) and then use the LUA bitwise operators to quickly check for state(dead or alive).
If you go with @MBot’s method, there’s not much of a reason to use flags – you can just parse the logs and destroy all the objects at mission start as necessary.
but AWACS does…! Had a little A2G mission going with a AWACS and F-15 CAP to keep the bad guys off my back. All of a sudden AWACS comes on the net to report a “Talley” on a ship and give a Bulleseye BRG/RNG. In the A-10C you can use that call in your TAD to place a Mark which you can then make your SOI. I haven’t been doing Hornet stuff recently, but think you can set your A2G radar cursor to show BE reference. (You can actually see ships in the current A2G; even though no SEA mode yet). Viggen doesn’t have the integrated BE on the radar screen but it will give you SA to point your radar at it.
…and now for something completely different…and I think I already know the answer but just checking…there is no way to tell an AI AFAC “find me something better” is there?
Reason… I was flying around in the A-10C the other day and called upon AI AFAC (actually is was a PRED so technically it was a SICBABCDLFAC - Sitting In Cummfy Chair Back At Base, Drinking a Latté, Forward Air Controller) I know that there a re some juicy C2 vehicles, armor and artillery hiding down there, but he gives me a ZSU-23 site…I was all, “Oh come on now! I didn’t fly all this way to plink a AA system that was designed in the 1950s!”
Not for the AI there isn’t. They follow the same pattern of “most threatening to aircraft” to “least threatening to anything.” Anything ADA is priority, followed by armor, followed by anything with a gun, followed by unarmed units.
The best you can do is tell them to focus on a specific unit rather than a group.
Why do I always feel like this after posting a question like this…
…I would be the boy and @Franze the Master…just say’n.
I guess understanding the threat priority as described above is key. My issue is that technically, flying at > 10,000’ AGL removes the smaller caliber AA and MANPAD threat, so the next on the priority list (Armor) should bump to the top. That said, I assume that adding in that bit of “IF THEM” logic into the AI JTAC/AFAC algorithms is a too much…are you really 10k’ above the AAA or did that hill put them 9,999’ below you?
So how to “fool” the AI into not “seeing” the AAA as a threat… I’ve worked some with the “Perform Command” set as “Invisible” and that seems to do the trick. The AFAC ignores the AAA and selects farther down the threat list described above. Selected Artillery and then Unarmed Convoy.
…I’m getting closer to snatching that pebble out of @Franze’s hand.
Easy way is to simply separate the groups: put your ADA into a different group from the main targets. Then when you assign the FAC to target a group, it’ll systemically prioritize within that group.
This is also the way to do it when you have larger theatre SAMs defended by SHORAD, as it allows SHORAD to independently operate from the bigger ones – in addition to allowing you to utilize scripting to simulate a smarter SAM system other than “always on, always shoot.”
Copy that. I have tried that however, if you have more than one “FAC Engage Group” it seems to ignore the the second one and go back to the “priority pattern” ou described. i.e. 1st is the first FAC Engage Group, next is a AAA, not the #2 FAC Engage Group.
I tried several ways of trying to “force” the AFAC to only use the several (usually 4) groups I wanted targeted, and it was getting really clunky. Today I take the opposite approach…give the AFAC an open-ended JFAC en route tasking order and keep everything don’t want targeted Invisible. We will see how that works.
In truth, I’m kind of bastardizing the DCS JTAC system to give it more of a JFACC CAOC directing the operation - not true CAS (in fact I don’t have any Blue Forces for many miles). Just a flight of jets with bombs and a Pred hanging out over the battle space vectoring them onto important, mobile targets like insurgents setting up a roadside IED, HVI traveling in a vehicle, maybe some WMD convoys. None of these ranks high in a the threat hierarchy (they are all just an unarmed vehicle and maybe a couple if insurgent infantry) but are the type of targets that UAVs are really good at tracking. So, for example, while there are some AAA or maybe armor down there, I’m really after “Carlos the Jackal” in that HUMVEE!
Now that @Franze helped me with the Lua Predicate for detection of an enemy, I can generate relatively smarter SAM systems–really IADS–with the Options Alarm State and ROE. I start with all SAMs “Cold and Dark”- Alarm State Green and ROE Weapons Hold. I set up the Lua Predicate condition for a RADAR detection using an EW system or SR system that sets a Flag to On. Then use Time From Flag to first raise the SAM Alarm State to RED (radars on) in a couple minutes; ROE to Weapons Free a couple low minutes after that. Without getting into anything I might or might not know from my years “in the community” (or as @Franze likes to call it “Club Fed” ), this does a pretty good job of replicating the decision process one might or might not see as an IADSs reacts to an air threat. All without (too much) scripting.
Now, as far as replicating realistic SAM engagement doctrine…i.e. shoot-look-shoot vs shoot-shoot-look, etc. Yeah, I’m thinking scripting is the only way to handle that.