@psyxypher That was my PR (I mentioned it above). Mutant NPCs already existed — in the sense that NPCs could get mutations, but they’d never spawn with them. That PR enabled the creation of NPC classes that have mutations, but won’t add anything to your world on its own. You can download the mod from this WIP PR to add NPC classes for each mutation tree, and I think they should show up wandering the world automatically, but I haven’t tested — not sure how custom NPC classes are handled by the NPC spawning system.
I think NPC “evolution” could just be handled by allowing NPCs to gain skills when out of the reality bubble. Maybe you could also simulate them killing enemies and getting new items, somewhat like how Dwarf Fortress does its abstracted history mode. But as Kevin said, that won’t make them much more interesting when you actually meet them… primarily they need better AI and more dynamic dialog options. Maybe even personalities? Right now all NPCs are the same, IIRC. If some were more prone to fear, bravery, etc. it would be more interesting, and maybe that could influence dialog options.
The biggest issue by far is still that NPCs are just stupid, though. A lot of the suggestions here are interesting, but many are rather micro-level — they might produce locally interesting behavior, but the overall trend of NPCs running to their deaths, grenading themselves etc. will probably continue.
One improvement I thought of recently is that the NPC decisionmaking code right now is just a huge bunch of if-else branches. Perhaps we could instead make them have a dynamic list of preferences — eat, sleep, flee, fight, etc — all of which have a “score” associated with them that is affected by their emotions and the environment, and the one with the highest score wins out and determines their behavior. In presence of a strong enemy or dangerous object (grenade?), or if lots of damage was taken in a short time, “flight” would go up rapidly and might become the main priority (“I’m under threat, I should flee”). “Fight” might increase if an NPC has dished out a lot of damage recently (“keep fighting, I’m doing well”). Just a thought for now, but probably this is how other games model AI priorities, I would think.