Conceptually, some kind of “aging” would certainly be good, but it needs to be more than just the building - vehicles, fires, etc. I’ve had it rolling around in my head for a long time, but I can’t come up with any concrete ideas that I like.
Basically, we need some kind of simulated results from known activities without having to do all the activities. Vehicles in “city” areas should be turned into piles of scrap by zombies (with the aisles and other “passable” squares lasting a lot longer than the others) over time, but with the occasional lucky one that isn’t. A building that’s on fire when it’s unloaded should be reduced to burned out rubble when you come back, unless some kind of weather event saves it, and it has a chance of spreading to nearby buildings, too (again, chance for weather). Roadblocks should be worn down by the passing of zombie hordes, bullets being used up by almost any zombie event (as the zombies will get up over and over until the bullets are gone), and cars having a decent chance to be destroyed. Tankbots and walkers might well still be present, though.
These kinds of things could be handled with a simple “chance to happen per day X number of days since last load”, along with some kind of “how many zombies are around” factor (areas you have cleared should stop having problems, at least for a period of time, until a new horde moves in).
A mechanic for NPC activity, fungal activity, and trfiffid activity should all be similar. A year in, everything within a certain range of a triffid grove should be forest (no buildings or concrete left), everything within a certain range of a fungal tower should be fungalized, etc, and areas of overlap between the two should be… “fun”.
The “template” idea could handle NPC activity decently well, and even change areas that have already been visited - just because you already saw it (or even left a stash of useful stuff there) doesn’t mean that an NPC (or group of them) couldn’t move in and take it over. Some kind of “minimum time since last loaded” mechanic would help avoid some of the silliest results, and also inherently “claim” the areas that the player visits the most.
The important thing to remember in all these “simulated” things is that the results be possible, not necessarily what would have happened if the player stayed and watched. Some kind of basic “bash this car X%” action, for instance, doesn’t have to exactly match any particular group of zombies bashing it, just be passably similar. Fires don’t have to act perfectly, just have believable results (this one shouldn’t be TOO hard - measure burn time on buildings, and torch the building if it’s been that long… what happens to the zombies inside is also not really that important, as they would get back up, anyway). Fungalizing doesn’t having to match exactly what would happen with that exact configuration of fungaloids, as activity by animals and NPCs could well have affected their placement along the way.
Even without the NPC activity template portion (which is a GREAT idea!), this kind of thing would both give a greater feeling of “realism” and give some reason to actually go out and find stuff before the late game inherent activity makes stuff harder to get/destroys the stuff before you get there. Larger cities should become zombie-covered piles of rubble, but most smaller groupings should survive with minimal damage for quite a long time. Isolated buildings should be nigh-immortal, and have a very good chance of becoming an NPC location.
OOoo, some kind of changes over time around “shimmering portals” would so be nifty, too.