... This suggests that the AI think interval of unalerted critters is dynamic and based on the proximity of players, whether the critter can perceive them or not. That makes sense as a performance optimization.
Actually, that's pretty much exactly how I coded the NPC AI in my game.
Although every spawned critter was known to the server, only those within visible range of a PC would receive any clock cycles.
(Actually it was visible range + the maximum amount of distance a PC character could move in 1 clock cycle.)
Worked really well and kept performance acceptable. It did have some strange effects if you were in a very deserted area though (or the only PC logged in during testing).
Since the NPCs would interact with each other as well as players, it was possible to come across a group of Undead attacking a group of NPC soldiers. If you were
the only PC in range, it then became possible to leave the area, wait awhile, and come back to see the battle pick up from where it left off...
At least until the automatic refresh/de-spawn timer wiped out the critters. I also had the NPCs to where they would loot any defeated enemies, so their own loot could
radically vary from one spawn to the next depending on what other NPCs they had previously encountered.