I think that selfish play comes from players mistaking the game for a competition. It's not entirely those players who are at fault either. Many GMs take on an antagonistic approach, treating the game as a matter of players vs GM. Even if the players see themselves as teammates, the competitive tone is still there if the GM is opposing them. I think the GM needs to set a tone of collaboration.
On an entirely different note, I think creativity should be encouraged as a way to enhance everyone else's fun. If a player is able to push something into the game, that has the potential to provide the other players with an additional entity to interact with.
That was vague, so here's an example. I just started playing in a Dresden Files RPG campaign. The system is based on FATE and gives players way more narrative control than I'm used to seeing. One of the ways players can narrate is by making checks to add details or aspects to a scene. So lets say your party is fighting a vampire in a skyscraper that's being built. You could use your craftsmanship skill to notice that floors are still being built and there's an unstable patch over there. On a successful check, you'd add that aspect to the scene and another player could later take advantage of it.
We haven't played enough for me to see how that works out yet, but I like it a lot in theory. It encourages people to build things in the game that other people can use. Even if you were playing a complete non combat character, you could spend the whole fight imposing new aspects onto the scene that other players could use to their advantage.