Jihnsius
Smash Lord
Brawl has been confirmed to not have any ranking or statistics system for Wi-Fi play. That's where BLR comes in.
Challenge System
Seed System (under construction)
Here's a modification of the ELO system that I've worked out.
S{player1} = S{player1} + K{player2} * -(G - E)
S = seed
G = outcome of the game (0 for win, 1 for loss)
E = expected outcome ratio
K = provisional uncertainty
Mathematically,
E = 1 / 1 + 10 ^ [(S{player1} - S{player2})/X]
X = any number decided to increase or decrease ratios. 400 by default.
K = 16 * N / Z
N = number of matches player has played
Z = T/P
W = total amount of wins player has
L = total amount of losses player has
T = total amount of games on record
P = total amount of players on record
And so the formula breaks down like this:
Every player has a seed. When player 1 beats player 2, he gains seed, which is determined by player 2's rank minus his own. This raw amount of seed to gain is multiplied into the estimated outcome of the game.
The estimated outcome of the game is figured from converting the difference between the two player's seeds into a percent.
Provisional uncertainty is a number that determines how "for sure" each player deserves that seed, derived from his total matches against average matches per player plus total wins against total losses. This gives a nice average of whether or not the player has enough matches to determine actual skill and how often the player wins or loses. If a player has only played a few games, then beating that player would only net a small amount of points, whereas if this beats player beats someone with a large amount of games, the player would net a large amount of points. Multiply this number by 16 to get a base point amount.
A few examples:
player1 seed = 2400 (challenger)
player2 seed = 1800
player2 has played 30 matches total
2000 matches total reported
300 players total registered
player1 wins, + 2 seed
player2 loses, - 2 seed
player2 loses, - 72 seed
player2 wins, + 72 seed
player1 seed = 900 (challenger)
player2 seed = 1200
player2 has played 15 matches total
500 matches total reported
90 players total registered
1 wins, + 39 seed
2 loses, - 39 seed
1 loses, - 7 seed
2 wins, + 7 seed
player1 seed = 1500 (challenger)
player2 seed = 1500
player2 has played 80 matches total
3000 matches total reported
200 players total registered
both players win/lose 43 respectively
player1 = 1500
player2 = 1500
player2 has 80 total
3000 matches total
500 players total
both players win/lose 108 respectively
As you can see from the last two examples, the smaller the matches to players ratio (or the larger the players to matches ratio), the larger the deviation in points. This is because as the player base increases, we will want a larger deviation in seed to help distinguish between ranks. If five people continuously play eachother, it'll be harder to determine if they've increased in skill until they play more players. This also works for when there are very few players signed up so that nobody can get to an unfair start (there'd have to be a preset amount of matches that have "already happened," though. After so many people have signed up, everything will start to balance out in the matches to players ratios, and thus the scoring system will also balance out.
Honor Point System
An example of why this would be less exploitable than an online Brawl ladder: If someone has two Wiis, they could keep setting up matches against an idle character and gaining rank. We could also set it up so that not only is each account unique to the SWF user, but also to their Wii ID# and/or IP address.
The more two players play each other the less they'll win from each match reported, but losses will stay the same. This will help restrain players from constantly playing one another to gain points.
The PHP coding of this won't be too terribly hard, the only difficulty I can foresee is adding it onto the forums so it's more fluid with the board, and being given access to the SWF MySQL database in order to get it functioning nicely. In fact, I'm pretty sure it's entirely possible to do this all as nothing more than a mod of the forum, and the only modification that'll have to be personally made to the database is adding a new root database for the ladder.
Need to do: Icons for tagging onto SWF accounts.
EDIT: Reorganization and Honor Point System addition.
EDIT 2: Changed the Seeding system to more understandable Ranks. Attempted to institute reasonable Win:Lose ratios for bonuses in Tiers.
EDIT 3: Changed the Seeding system again to a more acceptable type.
Challenge System
- Upon challenging an opponent, the challenger can decide upon a single match or two out of three. Any players in Tier 03 or above will also be able to choose three out of five, four out of seven, or five out of nine.
- Time and date of the challenge is at the players' discretion, as is how many matches to be played and whether they will do double blind picks, what have you. They must communicate (preferably on the forum so that officia's can reference it) and agree upon these factors.
- Upon a player's defeat, he or she has 24 hours to post that defeat. The winner is then required to confirm the loss.
- You can only challenge any specific player once a week, and cannot challenge any specific player consecutively. This will hopefully eliminate "localization" of matches, and encourage playing players from outside of your area.
Seed System (under construction)
Here's a modification of the ELO system that I've worked out.
S{player1} = S{player1} + K{player2} * -(G - E)
S = seed
G = outcome of the game (0 for win, 1 for loss)
E = expected outcome ratio
K = provisional uncertainty
Mathematically,
E = 1 / 1 + 10 ^ [(S{player1} - S{player2})/X]
X = any number decided to increase or decrease ratios. 400 by default.
K = 16 * N / Z
N = number of matches player has played
Z = T/P
W = total amount of wins player has
L = total amount of losses player has
T = total amount of games on record
P = total amount of players on record
And so the formula breaks down like this:
Every player has a seed. When player 1 beats player 2, he gains seed, which is determined by player 2's rank minus his own. This raw amount of seed to gain is multiplied into the estimated outcome of the game.
The estimated outcome of the game is figured from converting the difference between the two player's seeds into a percent.
Provisional uncertainty is a number that determines how "for sure" each player deserves that seed, derived from his total matches against average matches per player plus total wins against total losses. This gives a nice average of whether or not the player has enough matches to determine actual skill and how often the player wins or loses. If a player has only played a few games, then beating that player would only net a small amount of points, whereas if this beats player beats someone with a large amount of games, the player would net a large amount of points. Multiply this number by 16 to get a base point amount.
A few examples:
player1 seed = 2400 (challenger)
player2 seed = 1800
player2 has played 30 matches total
2000 matches total reported
300 players total registered
player1 wins, + 2 seed
player2 loses, - 2 seed
player2 loses, - 72 seed
player2 wins, + 72 seed
player1 seed = 900 (challenger)
player2 seed = 1200
player2 has played 15 matches total
500 matches total reported
90 players total registered
1 wins, + 39 seed
2 loses, - 39 seed
1 loses, - 7 seed
2 wins, + 7 seed
player1 seed = 1500 (challenger)
player2 seed = 1500
player2 has played 80 matches total
3000 matches total reported
200 players total registered
both players win/lose 43 respectively
player1 = 1500
player2 = 1500
player2 has 80 total
3000 matches total
500 players total
both players win/lose 108 respectively
As you can see from the last two examples, the smaller the matches to players ratio (or the larger the players to matches ratio), the larger the deviation in points. This is because as the player base increases, we will want a larger deviation in seed to help distinguish between ranks. If five people continuously play eachother, it'll be harder to determine if they've increased in skill until they play more players. This also works for when there are very few players signed up so that nobody can get to an unfair start (there'd have to be a preset amount of matches that have "already happened," though. After so many people have signed up, everything will start to balance out in the matches to players ratios, and thus the scoring system will also balance out.
Honor Point System
- Everyone starts with a base Honor of 0.
- Every 5 loss reports by player gives 1 Honor point.
- Every 10 win reports by player gives 1 Honor point.
- The winner can issue a citation against the loser if he or she hasn't reported the loss within 24 hours of it occurring. Citations can also be accompanied by a screenshot of the final score/outcome of the match(es).
- After review and approval of the citation, Seed will be awarded accordingly, and 1 Honor point will be removed from the loser's total.
- In the case that it is decided that the citation was fraudulent, the player will receive a warning. All fraudulent citations thereafter will result in a loss of 1 Honor point to the player. If infractions insist, that player may be suspended and/or banned from the ladder without notice.
- Honor points will appear in the player's profile, following Seed.
- Judgment on whether or not to issue a challenge to that player is thereafter up to the player's discretion.
An example of why this would be less exploitable than an online Brawl ladder: If someone has two Wiis, they could keep setting up matches against an idle character and gaining rank. We could also set it up so that not only is each account unique to the SWF user, but also to their Wii ID# and/or IP address.
The more two players play each other the less they'll win from each match reported, but losses will stay the same. This will help restrain players from constantly playing one another to gain points.
The PHP coding of this won't be too terribly hard, the only difficulty I can foresee is adding it onto the forums so it's more fluid with the board, and being given access to the SWF MySQL database in order to get it functioning nicely. In fact, I'm pretty sure it's entirely possible to do this all as nothing more than a mod of the forum, and the only modification that'll have to be personally made to the database is adding a new root database for the ladder.
Need to do: Icons for tagging onto SWF accounts.
EDIT: Reorganization and Honor Point System addition.
EDIT 2: Changed the Seeding system to more understandable Ranks. Attempted to institute reasonable Win:Lose ratios for bonuses in Tiers.
EDIT 3: Changed the Seeding system again to a more acceptable type.