Just one thing to the AI planing. (i have no idea how coding works so this will be probably rubbish) Wouldn't it be possible to do the whole planing not every turn but only once per day? Like try to move to this house or baricade this room and then leave the rest to your directive AI that would gravitate to this objective (more move directives or more baricade directives) but no more AI calculation would be needed?
You dont have to reply its most likely nonsense.
It ain't nonsense at all.
Some sort of high level planning (do this today) then leave the details to low level AI (orders etc...).
The kind of planning you describe works well in a static environement (eg: if the map wouldn't change much during a day) but doesn't work well in a dynamic environement (eg: the map changes a lot during the day, because of broken doors, new enemies, people dying etc...).
The risk is the AI persisting in what would appear dumb behaviors during a whole day (eg: keep trying to barricade this zombie infested house).
I could add AI triggers to re-check the plan during the day, but then that would defeat the whole purpose of the pre-planning optimization.
I see. I understand that control of so much AIs is a big CPU killer so the objective is probably not "make them smart" but "make them look like they are smart".
Well, there could be a trigger that would negate the objective and switch AI to theirs basic "improvise" mood. Like if direction "run away from zombie" is triggered too often it could asses the environment as too dangerous and go back to normal mode or too little "break furniture" directions could cancel barricading and go to normal (no additional calculations needed). Maybe after plan is negated a new one could be created instead if CPU can handle it. Actually it could be build upon like too many negated plans of "move to" could lead to barricade plan and backwards.
For CPU sakes, not every civilian could have plan for every day, but it would help to raise immersion if you meet a survivor from time to time and he would tell you, that he has a plan to move in this building and barricade it and he would actually do something similar to what he described.
Not so long ago i read a dev. diary about AI of Subversion (game from Introversion creators of Defcon and Darwinia). And the guy has solved some AI issues (too many unimportant AI plans that shuttered the cpu) by letting the unused CPU output work on the background on those not so important AIs. And since RS works in turns and sometimes you have to stop and think what to do now, couldnt the time be used to calculate some advanced AI actions? ...again, i have no idea what im talking about.