Help with more realistic npcs?

Ok so I have npcs that can move to locations on my map, the problem is that I want them to act more like a real player. As of right now they take the shortest possible path to the location, and never take curves. I was wondering how could I make them more “realistic” and more like a actual player? Thanks in advance!