UPD: добавил голосование, но сразу хочу обратить внимание, что это голосование просто сбор всех мнений и не должно иметь реального веса, т.к. предлагаемая система репутации как раз должна корректировать справедливость подобных голосований.Если дфс удумает сделать репутацию, то не дай бог она будет такой, как щас на русклане
В общем я тут поразмышлял на эту тему, авось пригодится когда-нибудь... более правильная для нас система репутации (с моей точки зрения) в отношениях игроков меж собой.
Итак:
1. Каждый голос по сути шкала отношения от 10 до 0 баллов. Без минусовых значений! Считаю это очень важным условием, во избежание ненужного негатива для психики)
2. Один человек - один голос, во избежание всевозможных накруток.
Изначально все значения равны 10, т.е. максимальное значение, что означает "чистую карму", как у младенца. Думаю, это логично.
Но почему нужно сделать именно так? Да потому, что свое хорошее отношение мы почти всегда забываем выразить... и это в общем-то в порядке вещей, т.к. по умолчанию хорошие отношения - норма. А вот свое негативное отношение к другому мы уже вряд ли можем забыть и более того, чтобы его выразить, должен быть действительно веский, хоть и зачастую эмоциональный повод: обида, зависть, месть, злость, или прочая неприязнь.
Разумеется, если таким образом (по максимуму) посчитать все голоса зарегестрированных пользователей, то получится фигня. И более того, влияние действительно активных/значимых игроков будет минимальным.
Поэтому следим за мыслью, далее все встанет на свои места.
3. Свое отношение (голос) к любому другому юзеру можно изменить в любой момент (возможно не только на форуме, но и в клиенте)
4. У каждого голоса должен быть свой вес(ценность).
Для этого нужно определиться: чем именно ценны пользователи для нашего сообщества? По моему мнению, наибольшая ценность каждого пользователя состоит в его активности в клиенте (т.е. количество игр)
Предвижу возгласы несогласных. Да, здесь можно сколько угодно спорить, но подумайте... На самом деле, только этот показатель беспристрастно показывает насколько человек активен (или был активен) и дает нам то, ради чего мы все здесь собираемся. Если хотите, то каждый игрок расплачивается с нашим сообществом реально значимой валютой - своим участием в играх.
В этом смысле сообщения на форуме очень сильно уступают играм в клиенте, а если учесть всевозможный флуд/троллинг/провокации/бред/смайлики, то значимость форумного сообщения падает ниже плинтуса.
Отсюда несложно получить "правило прописки". Которое по сути означает следущее: 100% гражданство = 1000 игр в клиенте.
Т.е. автоматически у каждого игрока вес голоса будет расти с каждой сотней игр.
за 100 игр, пользователь получает шкалу голосования от 10 до 9
...
за 1000 и более игр, пользователь получает полновесную шкалу от 10 до 0
Ну а самый слабый голос сможет оперировать шкалой от 10 до 10 (т.е. никак не будет влиять) - это все остальные малоактивные или вовсе неактивные в клиенте люди.
Предвижу некоторые исключения значимых пользователей для нашего ресурса: админы, спонсоры и другие общающиеся на форуме люди, которые не могут часто играть в силу разных причин, но как-то помогают ресурсу по доброте душевной. Этим людям админы могут увеличить шкалу влияния вручную (видимо по своему усмотрению, но с публичным оглашением данного поощрения).
5. Таким образом, автоматически получится актив игроков по количеству игр. Допустим, у нас 50 пользователей каждый из которых имеет 100+ игр. Значит, 50*10=500 баллов - это и будет стартовая репутация для каждого пользователя. Все прочие пользователи просто не считаются.
Со временем актив будет расти, что может быть учтено нехитрой формулой, или можно не учитывать, пусть репутация растет с появлением каждого нового игрока с сотней+ игр.
6. Отображение суммарного отношения пользователей. Тут возможны варианты:
а) показывать как есть - всю сумму баллов
б) по формуле: сумма_баллов / сумма_голосов, т.е. среднее арифметическое отношение
в) графическое отображение по типу рейт-индикатора из 10-и или 20-и делений (только по высоте намного уже чем в рейтах) Градуировку можно сделать примерно как в рейтах, это не сложно.
г) другой вариант
Итого:Сыграв 1000 игр, ты сможешь наиболее полно выразить свое отношение к каждому пользователю, что может сказаться наиболее точно на репутации каждого.
Репутация, в свою очередь, может влиять на исход форумных голосований.
В голосованиях вес голоса будет другим, не зависящим от количества игр. Он будет напрямую зависеть уже от личной репутации, которую тебе проставили другие пользователи (формула с округлением до целого, в диапазоне от 0 до 10, где 10 - самый весомый голос)
Таким образом мы можем получить довольно полезную систему.
Которая не только наглядно покажет как низко "пал" тот или иной игрок, но и правильнее настроит исход голосований. В том числе и в миниголосованиях для каждого сообщения (лайки/дислайки). Т.к. у каждого будет свой вес голоса, то соответственно вместо +1 или -1 будут проставляться значения силы голоса, например: +8 или -8 (от игрока с авторитетом/репутацией = 8 ). Ну т.е. лайк = положительной_силе_голоса, а дислайк = отрицательной_силе_голоса.
Ну и косвенно эта система может посодействовать количеству игр в клиенте.
Нужно понимать, что для правильной настройки системы должно пройти время. Вспомните как шла притирка рейтов в клиенте, здесь будет примерно то же самое. И чем больше времени пройдет, тем адекватнее будет авторитет у каждого более-менее активного пользователя.