Yes, both selfishness and cooperation are traits of human behavior but it seems natural that humans only cooperative if it benefits them i.e. Bob helps his village now because Bob is fairly confident the village will help him in the future if he needs help. In situations where there are not enough resources for all, don't people usually fall back to every-person-for-themselves?
I've been watching past seasons of the US reality show "Survivor" and it's a common strategy to stay in alliances throughout the competition but it's not uncommon for these alliances to breakdown towards the end in the form of backstabbing, because there can only be a single winner. I've only seen a handful of seasons so far and it seems split at best that the winner of a season won with little/or no use of deceit and backstabbing.
My point is, when there's lots to go around, sure, people will help each other. But when resources are scarce, it's every person for themselves. And scarcity is a feature of life itself, therefore, human selfishness is natural and I'd guess is prioritized over cooperation when things get really tough.