zorrobyte 30 Posted February 10, 2015 (edited) Overview and Goals To create a addon and script to automatically load balance AI groups between localities that is compatible with every major addon/script. Locality can be defined as any available computing source such as the server, clients and headless clients. Automatically is defined as with no user intervention or code changes to other mission addons/scripts Why? I've been interested in AI performance in Arma for quite some time (see here for a document I authored a year or two ago) and would love to see the rebirth of CooP in Arma 3 as a popular gamemode. ZBE_Cache is my attempt at the most addon/script/mission compatible caching module and has been successful in terms of popularity. How? Well, here is my scratch space while I work on a proof of concept. Ideas/suggestions/improvements welcome! WIP FSM: Misc Notes: AI are transferred back to server on client disconnect How is AI peformance on clients with poor ping/bandwidth? How is server netcode/desync with high amounts of AI? What is the "maximum" number of AI at a specific playercount even if offloaded to multiple HC? Should ZBE_AILoadBalance focus on only HC offloading or include connected clients/both? Would publicMessageServer be better for efficency to report FPS? If so, how to implement? Are there any compatibility issues with setGroupOwner regarding other scripts/addons? - edit, seems eventhandlers break Impulse 9 reported that AI's FSMs will reset upon locality change which can have jarring effects if players are near, as AI will act strangely. Edited February 11, 2015 by zorrobyte Share this post Link to post Share on other sites
kremator 1064 Posted February 10, 2015 Will be watching this one with great interest ! Well done for keeping the hope of good FPS alive ! Troubling about the AI FSM reset ... perhaps a way to smooth things out ? Share this post Link to post Share on other sites
zorrobyte 30 Posted February 10, 2015 (edited) Will be watching this one with great interest ! Well done for keeping the hope of good FPS alive !Troubling about the AI FSM reset ... perhaps a way to smooth things out ? I'm planning to hook this into ZBE_Cache so AI do not change localities unless cached so players do not notice the effect. Even with HC, caching is still mandatory as: 144 groups on server = 4 server FPS 144 groups on server and HC joins = 4 HC FPS (even with all AI still on server) 144 groups are transferred to HC from server = same old 4 HC FPS Strange thing is, one can enablesimulation false on HC for remote units (units on other machines but HC) and the FPS improves dramatically so there are potential fixes in script - I just wish Physx was handled better on HCs as it isn't needed for remote AI. It's coming along: Edited February 11, 2015 by zorrobyte Share this post Link to post Share on other sites
astrell 3 Posted February 11, 2015 Please think about an option to disable changing of locality for some groups. Some features and scripts do not work correctly if the locality changed. Beside that, good approach! Share this post Link to post Share on other sites
zorrobyte 30 Posted February 11, 2015 Please think about an option to disable changing of locality for some groups. Some features and scripts do not work correctly if the locality changed. Beside that, good approach! Should be as easy as *unit* setvariable ["ZBE_HC", false, true]; once I get this out there HC performance issues I need to account for: http://feedback.arma3.com/view.php?id=22676 Share this post Link to post Share on other sites
Azza FHI 50 Posted March 9, 2015 Hey mate, just came across this thread and wondering if this will do what we are trying to achieve in our missions. We have the missions created in 2d editor, and when the missions starts we would like all AI transferred evenly across the 3 HCs. We know how to load the HCs manually by scripting the groups to spawn on them but an automated system would be awsome... Share this post Link to post Share on other sites