I think the key is to stop playing fetch, and put the ball away while they still want it.
That being said, Walnut will play fetch indoors, outdoors, in mud, snow, whatever. HOWEVER, he enjoys the searching part more than the fetching.
For example. I'll throw a Glow in the dark chuck-it ball, and it lands deep in the snow somewhere. He visually cannot see the ball. He will spend as long as it takes looking for it, and all the while, his tail is wagging so hard it looks like it might break off.
And when he finally finds it....he runs back so fast we usually need to step out of the way so we don't get hit...because he can't stop in time.
While he's still enjoying the game, we make it a point to show him that we're putting the ball away. We've been doing this for some time now, and it just makes him more and more likely to play again next time (and for much longer). It's gotten to the point where he sees the ball and gets so excited, that he almost makes a 1/2 dash to get the ball...even though he sees it's still in my hand
We still reward him too. Specially if he's able to sniff out the ball after 5 minutes of searching. Sometimes he looks for it for 3-4 minutes, takes a poop, and continues to look for it for another 3-4 minutes until he finds it. haha.
Anyway...try putting the ball away before he gets bored of it.