The way detection work was very simple but fundamentally changed the set-up. Whenever you fired a gun, it had a radius test and alerted the non-player characters within that radius.
If you fired the same gun again within a certain amount of time, it did a larger radius test and I think there was a third even larger radius after that. It meant if you found one guy and shot him in the head and then didn’t fire again, the timer would reset.
It wasn’t realistic but it meant the less you shot, the quieter you were, the less enemies came after you. If an NPC that hadn’t been drawn and was just standing in a room waiting was alerted by gunfire, it would duplicate itself and one went to investigate. You can see it happening sometimes – if you go to the right place and make a noise, you see more enemies spawning.