How can we rank contacts in league tables based on 'points' for completing Activities, attending Events, having a Membership, etc - "gameify" CiviCRM?
I'm the author of CiviPoints that John and Erik mentioned. We have a points system internally at Future First for tracking engagement, and then colour codes based on that for reporting. Currently it's being done with spreadsheets.

Some development was done before the sprint on the database structure and API for this extension, and a basic UI including contact tabs. Hearing more about CiviRules at CiviCon and the sprint I thought it would be a great idea for automating our weekly figures. I'm interested in integrating it with CiviRules as both a trigger (when some level of points is hit, do X) and an action (when Y happens, grant some points). There's a preliminary version of the action part in a branch.

I haven't done anything on it since the sprint, and it's not in production or automatic distribution, because our main priority has been working on a new portal for our members. I do hope to give it more attention soon though!

League tables aren't something I've considered before, but sounds like a good idea. Some features it does have, in the underlying structure at least, are point-in-time history, and support for multiple points types (different programmes, or maybe engagement tracking as well as some sort of credits).

Some issues/enhancements are listed on GitHub. Please feel free to use it and test it, any feedback would be welcome. Thanks!