DCS DEPLOYED! - My Lil Project

DCS DEPLOYED! (finally settled on a title)
Single-Player Only

  • I’ve mentioned this project here before but didn’t really start a thread (if not correct feel free to axe this post).

Pour yourself an adult beverage; I’ve been quiet for a while so my mouth shall runneth-over …

This is for my testers (both of you - thanks so much again!!!) but I thought I’d throw it out here too since, well, why not. Expected to get to version 1.0 released in about 2 - 2.5 years. It’s been 3. Real world stuff means it’s actually been about 2 man-years. It’s starting to look like ‘something’.

Had to take the summer off (grandparent duties, spouse recovering from surgery - I found a smock she thought I looked sexy in :slight_smile: ) and am back at it.

Still haven’t released this to more than 2 people for feedback testing as there’s just not enough time to answer questions (same reason the YT channel is colleting dust).

While the latest build is being tested in another window (couple of VERY boring hours letting each path run) I thought I’d send an update.

First, to refresh: DCS Deployed! gives the user a ‘purpose’ to the game without too much repetition (more in testing cus it’s easier to test when things are deterministic), using maybe 4 mouse clicks:

  • Run DCSGrok, (it chews on things for bit) click “Lets Go”, Run DCS, Load Mission, click Fly (it loads all the audio and starts Other Stuff (C)). Okay maybe 5 clicks.

All within a consistent structure that if you squint your eyes kinda resembles something authentic. With a lot of Other Stuff happening. No mission editing, no making your install unsafe, etc… And not killing your performance. Lets just say it’s a good “Stuff to Performance Ratio” ™.

Aircraft supported

ED F/A-18
ED F-16
Razbam F-15E
Razbam AV8BN/A
Apache is almost in there (not an option yet) but I need a SME to help with the tasking bits. Done a lot of reading but the dots aren’t lining up…or I don’t know how to force them to march in line with “The Army way” quite yet.

Assuming the the module builder hasn’t done something odd with the radio/comm’s definitions I can drop in support for any module in about an hour, maybe three (not counting actually hitting the ‘fly’ button).

In no particular order:

Using different voices (male, female, different accents etc) does make it more interesting however I will continue to use ‘Mark’ for everything. It takes a couple of hours to update/fine-tune/insert new voices. I have it automated as much as I can but still a process. I’m refining the phraseology all the time so it’s easier to just edit one voice. Loads a lot faster (on my spinning disk HDD) too, which helps when testing.

BTW: after playing with the timing values (and audio clips) it actually can sound pretty good - on par with, say, what DCS already has, for example: the DCS JTAC (“WAGS” voice it sounds like) has a slight robotic flow to it but DEPLOYED is pretty close to that quality - no way around this when many things are generated on the fly/dynamically (not putting voice actors out of work, just reducing their workload :slight_smile: ).

I have the code rearranged such that I have the fewest menus (or voice commands) I can get away with:

“With You”: Establish the ‘connection’ between you and the AI agent.
“Request | Request tasking” (also establishes the connection)
"Respond | [context dependent]

While the original code would allow a full-blown conversation (within limits) it was just too much mouse-clicking. And you have to re-train VAICOM Pro every time I change a command too. So there’s that. There is room for expansion. DCS just doesn’t have a clean way to do this; voice-activation would be the best IMO so VoiceAttack + VAICOM Pro is amazing (especially when it works; there is some tinkering there).

It is assumed that, for Tasking (Request tasking), you ARE accepting the task; no positive/negative response loop. If you don’t want it you say/click: “Flight Status | Cancel Task” after it’s given/read.

Depending on the ‘posture’ (Combat or ‘hot’ timeframe, vs non-combat/training/familiarization) another may come up. “Cancel Flight” halts that process completely - you are now on your own (akin to canceling IFR and going VFR flight rules, if you will).

Since this version will focus on Air-To-Ground you have 2 broad categories of targets:

  1. Fixed targets (bridges, runways, POL storage, etc). These objects are all pulled from the map so are thus location dependent; Syria has something like 2 dozen, with hundreds of unique ones across all types.

  2. Group targets (tanks, arty, trucks, etc). The system is set up such that it should be period centric with some randomness within categories (early to late model tanks for instance). Assuming DCS provides objects for that period. Out of my control.

Convoys have been added to attack.

All of the above are targeted in two ways:

  1. Pre-planned = ‘Strike’ mission or ‘Interdiction’ depending on the target type and such: the target is known from the start; go here, kill that. Normally against fixed targets (natch), but not always. If it is say, an ARTY unit then you may be performing an Interdiction-like task.

Nailing down exactly the differences between a pre-planned strike vs interdiction vs armed recon left my eyes watering. Then you add in the differences between services (VM vs VV vs AF vs Army) and different time periods! Ugh.

For example: the newly added Convoy thing: it is an Interdiction task (you are ‘interdicting’ supplies and such that might harm the good guys) but Intel knows where it started; so you get a start point (programmed in automatically as steer point T1) and a rough movement direction (north, south, east, west, etc). Undecided if I give you an updated position, however…

JTAC/FAC-A: Sometime you will have Terminal Control agent, ala a JTAC/FAC-A (the type of FACA depends ont he period and whether it’s daylight or night - drone at night after ~1990 cus of the pointer) or ‘Kmart’ the CAOC/ABCCC person. With this you will only get an IP that is near-ish the expected location of the target and in the briefing (or when close to the JTAC) the frequency to call them on. I’m still using the DCS JTAC interface for reasons of consistency (except when the CAOC (or Range controller) is the Terminal Control person then they give you a “Type 3 in effect, no mark…yadda yadda”.

  1. Armed Recon (a “Kill Box” thing starting with PG War 1): You get a grid (shown on the F10 map) and a VUL TIME (you get a VT on most missions) and you have to find the target — THEN ask for permission to engage (Respond | Report Engaging). They validate their paycheck; send it up the chain; then back down; etc.Then they clear you to engage (a Type 3). Delay time varies but is never more than about 5 minutes (or was it 10? dont recall what I have in there).

Yeah I know; some people will chaff at this nod to realism but that’s kinda how things have been for decades. May make this an option.

CAS | TIC (Troops in contact): I’m fleshing this out. DCS AI for ground pounders is SO crude that I have to micro-manage this. A Lot.

Training Tasks, pre-Combat
Added (I think this is new to you guys): “Firebase/FOB Patrol” mission. This can happen either during the Combat (“Hot”) phase or during training. You overfly each FOB - think “Show Of Force” thing. Radio comms to each FOB is set up but I’ve not yet decided on what they have to say to your (beyond “hello”). And of course you may get ‘alternate tasking’ while doing this.

Bombing Range: These may or may not have a JTAC. If you pick the Viper then a SAM will be there for SEAD training. All others will have the option for “Smokey SAMS” (don’t fly too close or they become non-simulated :slight_smile: )

Odds & Ends
Spent a lot of time writing code to yank out more things from the DCS mission file for display within DCSGrok (reported SAM locations for one - note this info may not be perfect by design).

There is no way to allow route editing outside the DCS Mission Editor.

Note: you can do some of this during the mission briefing window if you click on it after loading the mission. Namely moving your waypoints (I’ve not played with the other buttons on this window).

The DCS Grok map is going to be simple; DCS just doesn’t give me complete geographical data on the objects within the mission and they don’t publish the map projection formulas for each map. I had to ‘hack’ things to display, accurately, what is there now.

Other Maps
So far so good. One (of several) other goals was to allow this system to be ported to another map easily while still providing the same environment. If I don’t get interrupted it’s about a week to move an entire system from one map to another. This assumes you want the same “kind” of war. NTTR will be next.

AI Wingman
Same as before. Using that survey ED recently put out I made a request for an API that will make this (and every other Air-to-ground scenario, with an AI wingman) a little bit better. So, you still have to fly your bot into a rough position (the IP works) then when ready give them the command. Now, how they actually do it is known only to the ED AI programmer; it varies and I’m still jotting down notes based on observed behaviour.

Not new but for information: The desktop app (DSCGrok.exe) creates kneeboards programmatically. Don’t expect anything pretty, just functional (route, communications info, etc).

Thanks for playing


Ok, I need to get back on the DCS track…
This sounds interesting!


As I mention above, not much to see publicly yet. My YT channel has a mashup of stuff. None of it new, or public, (and what’s there will be removed before I release version 1.0); names have changed for instance This timestamp is from a year ago while playing with the Text-To-Speech engine I had code in lua:

*fixed the timestamp


Interesting, I’ve been ground pounding lately, I’ll have to get back in the cockpit and try this out.

So this is currently for Syria only?

Yes, that’s where I’m testing it (the Tester Guys had this map). NTTR will be my, er, test case, to determine if I actually did it correctly. Everything is generic you might say; aliases for many things, et;

The Syria Area Of Responsibility (AOR) has an alias for the AI Agent named “K-mart” (default) but by defining a trigger on any map it will automatically get picked up and with a one-line text change and an audio clip swap it can become, oh, “Red Crown”. Or “Giant killer” (for the ATC agency) etc.

Syria Map definition
AOR.Agent.id = “kmart”, audiofile = “kmart-Sally.wav”
NTTR Map Definition
AOR.Agent.id = “Giant Killer”, audiofile = “giantkiller-bob.wav”

It does take time to place either actual objects or, primarily, “Hints” to what objects should be there, using the Mission Editor. No way around that workload - the user does NOT have to do this of course - it’s all built in and selectable (by map and aircraft) from the DCSGrok UI,

Lot of swapping entries out but again still have to place markers/groups on the map(s).


Haven’t determined where the next map will be beyond that. Was thinking the Black Sea map as this system should handle the Kosovo Air War “out of the box” as that map is closest to my perception of where it actually happened. Just have to add the Tomcat to the menu.


I forgot…

The desktop app (DSCGrok.exe) creates kneeboards programmatically. Don’t expect anything pretty, just functional (route, communications info, etc).


When I’m comfy with it the plan is to release it here, on the ‘Spike’, first.


While my Viper SEAD task test is running…here’s a few more examples of some things.

Checking in using VAICOM PRO; AI wingman automatic frequency tracking; different voice for K-Mart; a lot of this has changed or been removed to speed up testing but can be placed back in there (I don’t play an audio of your transmissions anymore for instance):

Attacking a Range Target + Commanding your AI Wingman to attack. Note the audio processing was a bit off here - a bit choppy (compared to the one above) - just takes a bit of tweaking once I settle on the final set of audio clips.


DCS DEPLOYED! - Managing Time and Fuel

NOTE: A “DEBUG” display: Most of what is displayed here is NOT visible during an actual mission - no ‘magic map’.

Timeframe: Interdiction | CAS phase (the latter parts of the campaign)
Mission: Interdiction | FACA is going after some ARMOR units. My job is the shooter.
Mission Start Time: 1000Z
Engine start time: 1022Z

  • Starts you out with engines off but there’s an audio clip of you “Marking your tape” recorder where the TOT is given (and displayable via text message).
    TOT 1053Z

So, since this was a test run, I blasted off at 1002

  • Flew straight to the IP.
  • “K-Mart” (the CAOC) is giving me periodic updates on the ETA of the FACA: FACA ETA = 1050Z
  • At Time: 00+40 | Wingman calls “Joker”

When I got the first update (upon checking in with the CAOC at about 1012Z) I should have gone to the AR track (any will work) and hung out, topping us both off.

So on the “JOKER” call I sent my wingman to the tanker, alone (DCS F10 Menu: Flight | Goto | Tanker) while I remained; they, usually, go to the nearest one; then give them a “Rejoin” command - this all depends on a few things like how much gas I have for one; then tell them to “Hold Position” (F10 | F6). This all simulates situations I’ve found in my research.

And there’s reason I have to wait here: the DCS JTAC needs to be within n-miles (some variables here) to do a Type - 1/2 attack. Call him too soon and you get Type-3.


Some shots from the desktop app, DCSGrok.exe

Had no choice but to write this. Ugh. Was required initially cus I needed some tools to ‘grok’ the DCS data files. And since who knows when it’ll be before a ‘proper’ briefing room arrives, well, this is something. Likely even with a built-in briefing room there will be limitations so over time plan to pretty it up, somewhat.

Click to enlarge:

An older image, sent to the Testing guys a few months ago.

The list of supported aircraft has increased. Oddly I’ve left off the Tomcat?! Looking into the F-14 config files indicates it should, more-or-less, just drop in there.

Not showing all tabs. The “News” tab may be of interest (for advanced users :slight_smile: )
DCS Deployed! can be ‘story-driven’ to some degree, via a spreadsheet. You can input certain events to occur at a specific time. WIP (it does work but is highly…ahem…frangible right now)


This looks great!