Jump to content
Sign in to follow this  
sovietpolarbear

Help with performance: making a 100 player mission with over 800 objects

Recommended Posts

I am currently working on a large scale company sized mission (Player Versus Player) set in a ruined city with over 800 buildings. I am looking for ways to help with performance. I have disabled simulation on all the objects except for 21 enterable buildings. I have also set almost all objects to be simple objects as well.

Share this post


Link to post
Share on other sites

800 buildings

 

there's your problem

 

the arma engine and renderer has limitations, and spawning 800 buildings ignores those limitations (and will suffer low FPS as a result).

 

one *trick* you can use is to put high buildings to block lines of sight and then drop view distance to ~500m or something low (so less of your 800 buildings are being rendered at any one time).

 

another trick is to design the mission so players move from one area to the next, and only spawn those parts of the city on-demand. That would require some scripting skills though, to store all your structures to a data file, break the city up into 4 quadrants and spawn only some of it at one time.

 

 

Personally, if I were you I would re-think the parameters of your mission.

 

What is the goal of the session itself? To have fun? If so, you don't need 800 buildings to have fun.

 

What is the goal of the mission? Can it be done with 400 buildings instead of 800? How about 3 different smaller locations of 300 buildings each?

 

Fundamentally arma is a game and the goal is to have fun/get dopamine. there are lots of different ways to do that, which don't involve 800 buildings and banging your head into engine/renderer limitations.

 

 

I liked to design big combined arms gameplay (check sig), and a big component of design is respecting arma engine limitations. Using terrain features instead of spawning objects, spawning 125 AI instead of 300 AI, making barebones bases and minimal decorative compositions, etc ... 

  • Like 1

Share this post


Link to post
Share on other sites

One thing you can do is take a portion of the buildings,lets say half,the ones that are not viewable by players and set them to hidden via show hide module then unhide them when players are in view distance of them.

 

At the same time deleting the "first half" of the buildings

Share this post


Link to post
Share on other sites

You can use simulation manager or freeze everything far from players manually by scripts so it gets ignored. The problem that prevented me from using this solution is, that it makes artillery wonky as it either won't work or you'll need to check for firing EH, unfreeze stuff in impact area and refreeze after which is... not ideal and makes the mission less organic unless you simulate enemy movement by moving some coordinates around and if you could do that then I guess you wouldn't be asking this.

 

If you have no arty then use sim man or a simple script that checks the distance to the nearest player periodically and hides + disables sim.

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  

×