Another problem regarding npcs in modern video games is their lack of unique awareness. I´m using a picture of Metal Gear Solid to show what I mean, but the same is true for all games, some to a lesser, some to a greater extent. When MGS-guard spots you, you´re instantly surrounded by more guards. What´s even worse, once you´ve gotten rid of all enemies on screen, alarm stops. A few moments afterwards, new guards enter the scene and act as if nothing ever happened. No awareness at all. The same goes for all Grand Theft Auto-games. Once you commit a crime, all the police officers in the world will be going after you. You cannot hide in the civilian masses, no, you have to get out of a certain radius to make the cops stop hunting you. And once you´ve succeeded in doing so, you will have no problem of walking next to a cop. Other examples would be western rpgs, where everyone in the world will know who you murdered or what you stole. Even The Legend of Zelda: Link´s Awakening did that, though it didn´t affect the gameplay, of course.
These games lack a permanent, broad awareness on the one side. Police shouldn´t stop going after you just because you get out of their 500 meter-radius. Guards of an enemy base shouldn´t stop the alarm until the invader has been captured. On the other side, these games also lack unique awareness. When one guard or police officer spots you, it should be that one npc only that´s going after you. Make him call for support, but no insta-spawning of helpers. Meanwhile, if I manage to get out of that one npc´s sight, I should be save and no other police officer should go after me since he wouldn´t know what I look like. At the same time, if I cross the line of sight with that particular officer from before, he´ll go after me without further warning. Expand that concept to civilians as well and the feeling of virtual worlds would change dramatically.