"OVERLORD! OVERLORD! OVERLORD!" (+/-20 respect for correctly identifying the quote)
For such a thing, yeah, you gotta leave it up for grabs at first. Further, you gotta keep careful timeouts for when someone's offline for a week at a time. I'd personally recommend a 10% Overlord Ranking - at any given time, 10% of the population will have a title worth defending (of 30 people, 3). When they clash, it is confirmed which of them is truly worthy and which is only a pretender to the throne. While it would be a rare sight to see the Ultimate Overlord, defeating him proves to all your greatness - until then, who knows?
So what would the Overlord title truly be? Just spar rankings. Maybe you do something special for the best, maybe for the best people on at any given time. I personally prefer the thought that the best 10% on at a time are visible as "HEY I RULE!", little star over their head - and if there's no star over your head, you should start sparring your way to the top.
Perhaps you could have a complicated little algorythym for determining how far above your station you can challenge and how far below your station you can deny - maybe you can challenge 20 ranks above you and raise 10 ranks by so doing (not the full 20 - it may have been a fluke). But if he chooses not to be bothered with you, he doesn't lose a full rank for refusing an insignificant challenger, maybe he can pass on 3 before he loses a rank, to keep him active if he hopes to keep his spar ranking.
Further, it should be a score like they were hardcoded, a rating of your frequency and average score or something, so it's possible to overcome the old master who quit 3 years ago on points alone. If the old master comes back, he can challenge you to an epic duel.
So how would the numbers look? Under my plan the Overlord is the highest ranked person on at the moment, obviously - and if he wants to keep it, then as soon as someone better logs on he'd better challenge for the right to truly be called Overlord. Your spar rating is a scale from negative infinity to infinity, and you can only challenge people within a few degrees of your own rating - for now let's say 20, later let's say 10% or something. You gain or lose points equal to 1/4 the difference between yourself and your challenger, more gained if you were the underdog, more lost if you were the favorite. Maybe a factor of 2? So:
A is rated 21 (good)
B is rated 1 (bad)
Difference is 20.
If A wins, he only gains 5 points - it was hardly a challenge at all.
If A loses though, he loses 10.
No, wait, that's a bad plan - the greater the gap, the more A has to win. It should be 11-(difference/2) or something. That way
If A wins, he only gains 1 points (11-(10)) - he didn't break a sweat
If A loses though, he loses 10 (difference/2)
If B wins, he gains a whopping 10 points (difference/2)
If B loses, well, that was to be expected. He loses 1 points (11-(10)) and drops to 0.
Let's say B wins (11) and challenges C (29), a difference of 18.
B wins, he gains 9 and raises to 20
B loses, he loses 2 (11-9) and drops to 9
C wins, he gains 2 and raises to 31
C loses, he loses 9 and logs off in shame.
All this complicated explanation boils down to
NPC Code:
this.champion=player1.rating;
this.challenger=player2.rating;
this.diff=(this.champion-this.challenger)/2;
if(player1.wins){
player1.rating+=(11-this.diff);
player2.rating-=(11-this.diff);
}else{
player1.rating-=this.diff;
player2.rating+=this.diff;
}
which leaves the trick of figuring out player1, player2, giving them rating strings, a way of viewing them, and figuring out who won - but maybe the system already recognizes kills, and the relative honor.
All told, do you really still want to go around calling yourself Overlord that badly? Or did you just want a simple Black Graal/Green Gralat system?
I don't expect a lot of my early reasoning translated well, and I'll probably either be angrily misinterpreted or, perferably, asked to explain it at greater length. But not in this post, I think I've taken up quite enough page.