Поскольку Про писал что ждет предложений по сайту Новый колдунчик.ру, я хотел бы предложить свое видение организации рейтинга игроков на возможном новом сайте.
Зачем?Ну самый простой ответ: просто так, а более реальный:
К примеру для удобства разделения по корзинам, а в идеале, если математика рейтинга это позволит, то и для использования числового значения силы игрока из рейтинга для формирования команд по максимальному значению суммарной силы игроков команды. Очень похоже на корзины, но более гибко из-за отсутствия проблемы пограничных территорий на границах корзин.
Итак приступим.Базовая задача рейтинга построить игроков по их силе (эффективности, полезности для команды для игры или соревнований, т.е. и по убеганию и по догонянию и т.д.). В случае с предложенной чуть дальше математикой (а вернее почти ее полным отсутствием) рейтинг по большей части будет отвечать на вопрос: игрок А лучше игрока Б.
Задача пользователя смоделировать ситуацию: последовательность набора игроков в команду исходя из предложенных кандидатур. Разумеется разумный капитан команды начнет с набора наиболее сильных игроков.
Кроме того нужно осуществить возможность поставить нескольких игроков на один уровень в рейтинге и возможность не сравнивать игроков, которых пользователь не знает или не может сравнить с другими игроками – так называемая «нераспределенка».
Теперь о математике.Значение силы игрока обратно пропорционально его месту в рейтинге. Пример 1 место = 1/1. 5 место =1/5. 30 место = 1/30.
Дальше нюансы с равными местами: если пользователь поставил после 4 места к примеру 3-х человек на 5 место, то соответственно они занимают 5, 6 и 7 места и будут иметь силу равную 1/5+1/6+ 1/7 = 1/6.
А вот следующий после этих трех человек, будет уже на 8 месте и т.д. Т.е. на 100 человек 100 мест.Соответственно для 2-х игроков – это будет 1/5+1/6=1/5,5 и т.д.
"Нераспределенка"По умолчанию игрок ни разу не поставленный не на одно место ни одним пользователем имеет 0 место и не участвует в рейтинге, но может быть в любой момент определен, хотя бы одним из пользователей.
УсреденениеАктуальное значение силы игрока равно среднему значению силы от всех проголосовавших пользователей.
Теперь о том как это все должно выглядеть на сайте.Наверное это должно быть организовано через флеш или что-то такое (я несилен в технологиях).
Визуально в левой части окна броузера мы видим формирующийся рейтинг. В правой находится «нерасперделенка». Ники игроков выглядят как плашки, плитки, кубики или что то подобное. Пользователь берет мышкой плашку с ником в нераспределенке и и перетаскивает его в левую часть и вставляет в нужное место «небоскреба» с плашками рейтинга.
Пользователь может вставлять плашку в любое место рейтинга, вверх, вниз, между, и на уровень плашки другого Ника (равная сила). Пользователь может перетаскивать плашки и в самом рейтинге. Кроме того переносить плашки из рейтинга в «нераспределенку».
Теперь о нюансах. При входе в высказывание своего мнения пользователь может выбрать из двух вариантов:
Если он еще не голосовал:
1. Пустой рейтинг (так сказать незамутненное сознание

) – заполняет все с нуля, все Ники в нераспределенке.
2. Актуальный на дату входа рейтинг. Дальше правит его в соответствии со своим мнением, в том числе выбрасывая в нераспределенку тех , о ком ему сказать нечего.
Если он проголосовал, то вариант 2 меняется на его предыдущее мнение, но есть возможность выбрать и вариант 1.
Система должна иметь возможность переранжировать рейтинг с учетом заданного диапазона. Это может пригодится для организации команд на соревнования. К примеру задав диапазон разности между самым сильным и самым слабым игроком в 10 раз, система должна пересчитать числовые значения исходя из этого диапазона (т.е. просто умножить их на 10).
Система должна хранить мнение каждого проголосовавшего.
Система должна легко очищаться при необходимости построить рейтинг заново (ну к примеру хранить исходные данные в виде таблицы размером количество ников на количество ников).
Пожалуй это все…