Not if you rely on randomization: give every XP point a 0.1% chance per day of expiring. Older XP will then get a higher probability of dying off than younger (an XP is dead with probability 1-0.999age
). You don't need to recompute everyone's totals every day, either, although to be completely accurate you would have to recompute on any day that a user's XP total changed.
I'm not too crazy about the XP rot idea, though.
I think the XP ramp should be closer to quadratic. Tune it so that the top two or three levels are empty (give everyone something to reach for). Or better yet, make the upper levels require more than just XP -- make people earn a certain number of "quest" points. Quests could be proposed by anyone (including monks eligible for advancement); when a monk claims to have accomplished a quest, other monks vote on how much credit should be given. Your vote would be weighted by the logarithm of your own XP or something (or just by your level, if XP requirements are exponential!). If some minimum number of monks have voted and the average value has stabilized for a few days, award the points.
The sorts of quests I'm thinking of are things like writing a review, releasing a CPAN module, writing a test suite for someone else's module, implementing a feature for the perlmonks site, etc. Hmmm... or in some cases, deleting a CPAN module (by merging its functionality with another).
Just a thought.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||