Jump to content
Sign in to follow this  
mattldempsey

Is AI really that resource intensive?

Recommended Posts

So I am interested in making a MP mission.

Never made any sort of mission before and have no experience whatsoever.

The closest I have come to anything like this is making maps for Counter-Strike: Source & Global Offensive, where I had 'decent' success.

That said, I am willing to put a lot of time into Arma 3 as the ARMA series has become my main games.

My question here is are the AI really that resource intensive on a populated server?

I like the idea of groups of AI doing there own thing throughout the map, ready for you to get yourself involved but will that hog up all the resources?

Secondly, when you are not near/interacting with the AI whatsoever, does the game have any optimization techniques or is the server still calculating everything as if a player was in the vicinity?

Third, if the above is true and they are indeed hogging resources, do static NPC's, like the ones seen in shops in the Altis Life mod also use up loads of resources or are they less of a burden.

Thanks.

Share this post


Link to post
Share on other sites
So I am interested in making a MP mission.

Never made any sort of mission before and have no experience whatsoever.

The closest I have come to anything like this is making maps for Counter-Strike: Source & Global Offensive, where I had 'decent' success.

That said, I am willing to put a lot of time into Arma 3 as the ARMA series has become my main games.

My question here is are the AI really that resource intensive on a populated server?

I like the idea of groups of AI doing there own thing throughout the map, ready for you to get yourself involved but will that hog up all the resources?

Secondly, when you are not near/interacting with the AI whatsoever, does the game have any optimization techniques or is the server still calculating everything as if a player was in the vicinity?

Third, if the above is true and they are indeed hogging resources, do static NPC's, like the ones seen in shops in the Altis Life mod also use up loads of resources or are they less of a burden.

Thanks.

Checkout the ALiVE mod

Share this post


Link to post
Share on other sites

Arma 3 runs everything in real time so the more AI = almost exponential dropoff in performance but from what I know AI at a distance are slightly simplified in that they are given less priority for their calculaltions. Arma 3 suffers from poor multithreading in some core components such as AI.

There are ways to cope with this. The Alive mod supports thousands of units through total caching, they still "move around" but it happens virtually (simplified) to simulate the progress of a larger battlefield. A configurable number of units are then spawned in when the player is in a specified range. Alive works in singleplayer but does not yet support proper save/loading, it's best for multiplayer.

Another option is one of the group caching scripts whereby all but one unit in AI groups get deleted and spawned back in when the player is in a certain range, the remaining unit will still move around in real time but it saves a lot of resources on missions with many AI groups spread out over a few KM's. This can work in singleplayer as well.

Another option specifically for multiplayer is the use of headless clients and AI distribution whereby AI units can be spread out over a few machines on the network to reduce the load on a single server, supporting more AI at a decent FPS.

NPC's standing still and doing nothing won't hog resources as much since they have fewer calculations to do, I know a trick with civilians is to set their skill to 0 to save CPU. I think running scripts on "static" units like disableAI "FSM" would also help.

Share this post


Link to post
Share on other sites

For the record, AI far away do not take up nearly the resources of AI up close.

My question here is are the AI really that resource intensive on a populated server?

Well that's a question so qualitatively posed as to be unanswerable... but really, besides the AI, the only important thing the server has to do is remember where the players are. So of course most resources are taken up with the hundreds of little AI brains.

Share this post


Link to post
Share on other sites

Live AI is one of the most resource intensive things you can do, especially when the AI gets complex. Most very advanced AI is run on supercomputers, and AI in games is actually nonexistent or cheating a lot of the time, if not most times. Consider the amount of decisions and action feedback loops encountered when simply crossing a street, and once you've that visualized, try to imagine that for dozens of individual AI in a nonpermissive environment.

AI tech for games in general is piss poor. What would be necessary for a game like Arma to really shine in the AI departement would be dedicated AI hardware, like a graphics card but specifically designed to run AI routines, with some sort of standardized engine behind it. However, there are no games providing incentive for the development of such, and in general, competetive AI is not desireable because if your average enemy in a shooter is as competent as a human player, the difficulty would ramp up massively. In some genres, prohibitively.

Share this post


Link to post
Share on other sites
Live AI is one of the most resource intensive things you can do, especially when the AI gets complex. Most very advanced AI is run on supercomputers, and AI in games is actually nonexistent or cheating a lot of the time, if not most times. Consider the amount of decisions and action feedback loops encountered when simply crossing a street, and once you've that visualized, try to imagine that for dozens of individual AI in a nonpermissive environment.

AI tech for games in general is piss poor. What would be necessary for a game like Arma to really shine in the AI departement would be dedicated AI hardware, like a graphics card but specifically designed to run AI routines, with some sort of standardized engine behind it. However, there are no games providing incentive for the development of such, and in general, competetive AI is not desireable because if your average enemy in a shooter is as competent as a human player, the difficulty would ramp up massively. In some genres, prohibitively.

Checkout bcombat mod

Share this post


Link to post
Share on other sites

Yes!

It is a shame that it is too intensive. Having battles with 500+ AI are what SHOULD make Arma3 really stand out. As it is, the system starts chugging over 100. It is possible for mission authors to get high Frames Per Second but the more AI the lower the Conditions Per Second with large numbers of AI.

Share this post


Link to post
Share on other sites
Yes, AI are resource intensive. So don't add in 100 AI.

100 AI is not a large amount to be honest. In fact, I'd argue that 100 AI is a pretty standard amount to any mission involving ~15 players. In regards to being resource intensive, I'd say around 180 to 200+ AI is where both the client's and server's frames start to really suffer.

Third, if the above is true and they are indeed hogging resources, do static NPC's, like the ones seen in shops in the Altis Life mod also use up loads of resources or are they less of a burden.

AI in combat are far more resource intensive than those that are idle/not in combat.

Also, as others have pointed out, you should really check out ALiVE. Using ALiVE you can have hundreds of AI spread across an entire map. Opposing factions can be selected, creating huge dynamic battles between AI controlled factions. It does this by 'profiling' AI units that are not near human players - simulating what the AI would be doing without actually rendering them or processing them fully (saving resources greatly).

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
Sign in to follow this  

×