Dude, when I saw it, I thought to myself, “Couldn’t you just use a NavMesh for that?” I had the same idea as for why it was ‘recalculating’. Still, I think making it stick to the roads added to realism as any other real-life map would do the same.
Great job on this one—I love a good programming challenge!