AI-based NPC interaction system
Proposals
Limit the number of possible interactions per day with important characters (quest givers / faction leaders). This would make these characters more valuable and important, and give the player a sense of progression when they are able to interact with them.
Give all NPCs a more or less truncated view of the apocalypse, depending on their memories, socioeconomic status, and the harshness of their experience. This would create more realistic and interesting characters with different perspectives on the post-apocalyptic world.
Define emotions and emotional stability for each NPC, based on their past and experiences. This would make NPCs more sensitive and human, and create more intense interactions with the player.
Define a way of approaching new protagonists based on the NPC's faction affiliation, mental health, immediate needs, and personal history. This would create more varied and dynamic interactions, with NPCs that can be hostile, beneficial, or friendly.
Limit the knowledge of the world around the NPCs. This would create a more mysterious and uncertain world, and give the player the opportunity to discover new information for themselves.
Examples
A surviving soldier could have a very pessimistic view of the apocalypse, due to the violence and destruction he has seen. He could be hostile to new protagonists, whom he would see as a threat.
A surviving mother could have a more optimistic view of the apocalypse, due to her desire to protect her children. She could be friendly to new protagonists, and provide them with information or help.
A former businessman could have a very truncated view of the apocalypse, due to his lack of knowledge about the post-apocalyptic world. He could provide inaccurate or truncated rumors, which could help or harm the player.
Conclusion
These proposals would create a more realistic, interesting, and immersive NPC interaction system. They would give the player the feeling of living in a post-apocalyptic world where the characters are more complex and nuanced.
I hope this helps!