Jump to content
specialsmith

Machine learning / AI projects using ArmA?

Recommended Posts

On 19.01.2019 at 3:59 PM, Defunkt said:

I think the key to smarter AI in A3 would be to offload higher-level functions (i.e. Finding Cover) and particularly prioritization (determining which units require the most frequent updates - because they're under fire or engaged in CQB) to a separate thread or even separate machine. This is more or less what the Headless Client seeks to achieve but the degree to which missions need to be specially written/deployed to utilize it makes it next to useless to the vast majority of players who just want to throw something together in the editor.

 

I've dallied with the idea of trying to create an extension which an AI mod like VCOM could feed with periodic updates to unit state and location which are then constantly prioritized in a separate thread such that the mod could then also query the extension for; who do I most need to deal with next and what should they broadly be doing? Without access to map data this evaluation would be fairly rudimentary based principally on the threat/efficacy/morale/awareness and especially proximity of enemy or friendly units but it's not beyond the bounds of possibility that it could pass some finer-grained evaluation off to another game instance (think Headless Server) to perform LOS/cover checks (in SQF with actual map data). Just 'Blue Sky' thinking at this stage but it's going to be a long while until Arma 4 (and even longer until content compares to what's available in A3) - so, maybe one day.

 

About improvement of inside group tactic and individual unit behviour. 
We have FSM and this is good step forward, but we want more (we always want more). FSM consist of number of statements with different priorities. We can be in only in one statement in the same time. Each statement have conditions. If several statements conditions match current situation we use statement with highest priority. Priority is just a floating point number from range 0..100. A high value indicates higher priority. This is the basic logic of FSM.

For example, "combait brain" in latest version of VCOM AI have about 10 statements. Let's think what statement is like some action: move to cover, supress fire, arm static weapon, etc. The more statements we have the more "tactical" ways we can achive. But here is one problem: priorities in statements are constants and placed by author of FSM mod during creation.

 

Question is: can we use neural network for changing priorities of statements inside FSM? Is it possible?

 

Usually, neural network answer is array of probabilities. So if answer of network is


suprress            : 0.15596
move to cover  : 0.9256
...
call for mortar : 0.87352

 

we can use this numbers as priorities for FSM statements. On this case unit will try move to cover then call friendly mortar if it placed around (if condition match). In other words output layer of neural network have 100 neurons, each neuron related to one of statements.

Imagine: FSM-mod with 100 statements. It have some initial priorities for each statements and ~90 statements have zero priority (disabled) and neural network start changing it reacting to changing situation. 
May be it will be more realistic than waiting for Headless Server|GPU computing for A3 or introducing it in A4.

Make sense?

  • Like 1

Share this post


Link to post
Share on other sites
On 1/16/2019 at 2:54 AM, Valken said:

@ZackTactical34I am using SmartAI in ARMA2CO thanks to ChrisB but AFAIK there is nothing like this on ARMA 3 and VCOM is pretty close. And in heavy fights with lots of AI, it does bog down the CPU.

 

If there was a mod that used compute (OpenCL) to calculate/model/determine AI behavior - making decisions on the fly based on terrain, enemy type, ammo count, teammate count, then I am all for it. That is one area where I would gladly invest money into such as a low or mid end GPU just dedicated to AI decision making. 

 

If you really watch team tactics on MP servers, it is a bunch of "AI" or players feeding information to work together. It is not a bunch of long term decision making but a LOT of short term decision making based weight - chance of success - in a conflict and the end goal to survive while taking out the enemy based on your team's force.

 

I think an OpenCL type accelerator can do that easily or help - AI runs through a bunch of what ifs in real time and decides what do. The great thing about OpenCL is that it is hardware agnostic. It can run on CPU or GPU or any OpenCL compliant device and scale. Imagine a server using the onboard GPU as an OpenCL accelorator just to increase and / or improve AI behavior.

Thanks for the info. I'm getting into development for my own AI mod soon so I'll definitely keep that in consideration. Many of the points you made are the kind of features I want to implement. But, I want to take AI development a step further. Whereas most mods aim to create AI that complete core tasks (take cover, flank, deploy smokes, etc.), I want to make the AI "behave" in a more human like fashion. For example, instead of having an AI simply use a mortar, I would create a system where the AI would deploy poles (or whatever they're called for aiming/direction), send out a Forward Observer, and then finally conduct their fire mission.

 

P.S. If you're interested in another really advanced AI mod that is practically unheard of by the Arma community, you need to check out XMod. It is an entire overhaul modification for Arma 2 CO that changes the colors, UI, damage system, and massive changes to the AI. http://www.iiixjokerxiii.com/arma-xmod/qa/

 

  • Like 1

Share this post


Link to post
Share on other sites
On 1/15/2019 at 8:59 PM, B_Fox said:

I heard about this from ChrisB and It works really well but it's a match up of different mods that did not really make it to Arma 3 or died out early most notably SLX and GL4. I also heard there are groups who play Arma 2 with private AI mods which is said to be on of the best if not the best. But I think that the AI is missing a more human quality like, "Hey 0 ammo vs 1 squad with ammo maybe we should surrender since I don't want to get slaughtered"

 

Also maybe a morale system

  Reveal hidden contents

 

AI morale system:

AI morale should affect how hard they fight, do they flee easily or die hard, if their weapons run dry do they run or surrender or save that one grenade for a fake surrender. Does the sight of a death of the squad leader cause them to panic and flee or take a morale hit but stand firm or the surrender of one cause a domino effect of the squad. I think all this will be a positive addition to gameplay especially SP people like myself.

 

 

There are a couple groups that have their own custom overhaul mod for Arma 2:

1. Wargaming league uses KAI, some of the top AI in the Arma series. The AI possess both in-depth strategy and tactics. Makes for dynamic gameplay. Unfortunately, the group is private as with the mod.

2. XMOD is an entire overhaul to Arma 2 CO. It changes practically everything about the game, including an entire AI system. You can find many videos on YouTube of the mod (they regularly stream).

  • Thanks 1

Share this post


Link to post
Share on other sites
12 hours ago, ZackTactical34 said:

There are a couple groups that have their own custom overhaul mod for Arma 2:

1. Wargaming league uses KAI, some of the top AI in the Arma series. The AI possess both in-depth strategy and tactics. Makes for dynamic gameplay. Unfortunately, the group is private as with the mod.

2. XMOD is an entire overhaul to Arma 2 CO. It changes practically everything about the game, including an entire AI system. You can find many videos on YouTube of the mod (they regularly stream).

Fascinating but why are these AI mods exclusive to private communities?

Share this post


Link to post
Share on other sites
2 hours ago, domokun said:

Fascinating but why are these AI mods exclusive to private communities?

Most likely because they're tailored towards the preferred gameplay of those communities.

Folks who tend to play in squads of 10-15 units would require a different type of AI than public servers with 50+ players.

Doubt anything else going on, since you really can't mess with AI brain on an engine level.

 

Cheers

Share this post


Link to post
Share on other sites
On 3/11/2019 at 10:38 AM, Grumpy Old Man said:

Most likely because they're tailored towards the preferred gameplay of those communities.

 

 

This is exactly right.

I would think..

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×