This is a reprint of my comment on a Write the Game article, to invite y'all into the discussion and to make it easy for me to find this discussion when I want to come back to it.
I think the best way the create co-op stories is for the game to provide feedback to the players as a group, rather than as individual players.
So, for example, NPCs will respond differently to you (trade prices, quest options, helpful or aggressive, etc) based on their approval or disapproval of who you’re grouped with.
Also, allow each player to have situations that do not fundamentally concern the other. For example, the two player-characters might be from different towns. One is begged to return home to save his village — a situation that concerns the other only because it is the home of the friend. If they save the town, the NPCs’ dialogue and actions are devoted mainly to just the one player (the local PC), but the experience of saving the town is a shared (group) story.The sense of charity that allows us to take joy from helping friends in real life does not disappear in games. It should be designed for.
Anyway, Fable 2 seems to be taking a large step in this direction. It can be played co-op, and one player can have very significant impacts on the other player’s world (such as killing/aiding the other’s family). When one player partially shapes the world of another, that’s a shared story.