From Ralph Koster's reliably good blog (http://www.raphkoster.com/
Amy Jo Kim has a great presentation from ETech called Putting the Fun in Functional that not only articulates how to use some of the fundamental building blocks of games for other purposes, but calls out in stark form what some of those principles are.
This is valuable because often, we take them for granted — when really, we should be focused very strongly on making sure these fundamentals are nailed correctly. (Which echoes a blog post that I read this morning on a blog by Kathy Sierra that Amy Jo pointed to as well — but really, you should read that whole blog too)…
Many of them boil down to forms of feedback, but critically, there’s two important forms of user expression as well: customization, and the ability to give fedback to one another, creating a social context.