You also have to remind yourself that, in survival situations, a group will have much higher chances of survival and it will make most things easier.
So, if a zombie apocalypse struck, and you found a deathmobile of a base which seems to be inhabited, your first instinct wouldn’t be ‘loot it and run!’ - you’d try and wait until you meet the person whos living there. Yes, it might be a risk, but there is also a chance you will be invited into a group of survivors, which will raise your own chances of survival as well as theirs.
There are, of course, always exceptions to the rule, but…well, yeah.
Anyways, we all know there is plenty of room for npc improvement. How is this for an idea:
Every animal/zombie/monster has 2 values, Aggresiveness and Morale. Couldn’t we also use the same values for npcs, but give every npc their own values? That way, we could have different types of archetypes, based upon those 2 values.
High Aggro/High Morale: The ‘Hero’ type - he will actively try and seek out monsters in order to fight them and wants to protect what’s left of humanity. He would be more inclined to accept a ‘im weak, you could protect me’ approach if you tried to get him to follow you too.
High Aggro/Low Morale: Your usual bandit/psychopath. They don’t care about other people, just about themself. They might create groups, but those aren’t usually stable. If you have one of those as a companion, keep a gun close to you, and hope they consider you ‘useful’.
Low Aggro/High Morale: Tend to avoid fighting, they would be more of a scavenger type. If they happen to find the players base and/or vehicle, they might stick around for a while if it’s safe, hoping they would find other survivors to team up with.
Low Aggro/Low Morale: The thieving type of people. They are relatively cowardly, will only fight if they are sure they will win said fight. If they stumble upon a base of the player, they’d most likely try and loot it, but they would run away as soon as they see someone approaching.
Of course, those are just examples, but I feel this could improve the quality of the npcs by quite a bit, while it shouldn’t be too hard to program? I think? I mean, animals already do similar things at certain values of Aggresiveness and Morale, so one could use that as a fundament.
Also, you wouldn’t just by looking at someone know what type of person they are - you might get clues through conversation and actions, but you’d need to be with them for a longer while to be sure. Or you might die with a knife in your back, because of a bad companion…which, lets be honest, is a thing that happens anyways - not with companions, but I met an untimely end by npcs which went INSIDE MY VEHICLES AND SHOT ME! …
yeah, we still need the ability to lock stuff.