DCS DEPLOYED! (finally settled on a title)
- 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 ) 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” ™.
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 ).
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:
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.
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:
- 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”.
- 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 )
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.
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.
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