InterGold.ru - интернет-магазин ювелирных украшений
Заголовок 
Регистрация 
Вход 
О игре
Документация 
Правила игры 
Памятка новичкам 
Oбзор 
Статьи 
FAQ 
ГМ-ы 
Поля сражений
Общий список 
Чемпионаты 
Вакансии 
Отчеты 
Полководцы
Список 
Кланы 
Команды 
Мысли 
Опрос мнений 
Награды 
Рейтинг
О рейтинге 
Рейтинг игроков 
Ошибки 
Обратная связь 
Файлы
Клиент/Сервер 
Комментатор 
Сценарии 
Скриншоты 
Pb Artz
О нас 
Контакты 
Фотогаллерея 

TopList

Реклама

- Милитаризм - Статьи - /Рейтинг Милитаризма глазами Андрея Гречко/На сайте: 47 чел.
  (хинт секунды) На апгрейде юнитов в глухом тылу иногда можно сэкономить. (DPT)
Автор -  Андрей Гречко:[8]

Распишем, чему равен рейтинг побед и рейтинг поражения. Вот это как раз и заняло больше всего времени. Ладно, сразу пишу окончательные формулы, а ниже начинаем их разбирать по кирпичикам.

где Nvict, Nlose – общее количество побед/поражений игрока,

KOLmaxv, KOLmaxl – максимальное количество игроков в партии (см. последнюю букву v/l),

Migrokv, Migrokl – место игрока в партии по очкам (см. последнюю букву v/l),

Nhodov_v, Nhodov_l – ход, на котором завершилась партия (см. последнюю букву v/l),

Kplaying_in_game_v, Kplaying_in_game_l - (см. последнюю букву v/l) коэффициенты, говорящие о том, сколько игрок играл в данной партии. На момент написания этой статьи нет возможности это определять, но я думаю, что выход мы найдём и обязательно подключим эти коэффициенты. Для чего они нужны? Для того, если игрок играл не с начала старта партии или не доиграл до конца, то ему всё равно надо начислить некий рейтинг за игру и максимально возможный рейтинг уменьшится пропорционально его времени игры. Отсюда мы имеем чётко сбалансированную арифметику, где за государствово могут меняться игроки, а сумма их рейтингов составит 100%. Тобишь каждый получит свой кусочек пирога. Для старых партий можно провести анализ по архивам (я думаю, что у многих хранятся архивы игр) и по комментариям, где можно найти фразы о замене игроков. Для начала предлагаю сделать эти коэффициенты равными единице =1. А вот, как эти коэффициенты будут выглядеть дальше.

где Nend_game_v, Nend_game_l – На каком ходу закончилась партия вообще (всегда больше на 1, чем start и in),

Nin_game_v, Nin_game_l – На каком ходу игрок зашёл в партию,

Nout_game_v, Nout_game_l – На каком ходу игрок вышел из партии,

Nstart_game_v, Nstart_game_l – На каком ходу стартовала партия. (всегда = 1)

Отсюда видно, что сумма коэффициентов игроков играющих за одно государство будет равна единице. Как видим, что истинна в буквах, которые написаны выше. Так, значит мы получили статический рейтинг по сыгранным партиям, скорее всего это можно пока назвать опыт игрока. Идём дальше. Подумав, я решил внести флажок, который говорит, что партия старая или новая (я имею ввиду старо завершённая или ново завершённая). Для чего мне это надо, а для того, чтобы учесть нанесённые поражения и полученные поражения в партии. Ведь ты мог просто клепать войска и поднимать себе рейтинг, но не воевать. Тогда ты будешь на 1-ом месте, но вот тут-то тебя и попалили, о чём гласят следующие коэффициенты, включённые в формулы выше. Сначала формулы, а потом коэффициенты.

где коэффициенты равны соответственно

где всё прозрачно… Kdamage_out, Kdamage_in – нанесённые и полученные потери,

Kdamage_out_max, Kdamage_in_max – максимально нанесённые и полученные потери в партии (возможно это не вы и тем хуже в одном случае и лучше в другом для вас),

Oldv и Oldl – старо сыгранная или ново сыгранная партия. В старых нету данных, поэтому берём =0.5 для всех (чтобы обидно не было J

).

Отсюда видно, что выгодно нанести максимум поражений и получить минимум последствий. Тогда мы с вами стремимся к единице.

Ну вот мы и получили основательный опыт игрока по сыгранным партиям.

Теперь приступим к динамике, ведь это наиболее интересный участок вычисления рейтинга. Вы скажите, ну вот опять что-то будет воротить, а вот и нет. Ведь у нас всё готово, только надо кое-что кое-куда вставить, а кое-откуда что-то убрать.

И вот вам формулы.

где

Я думаю не стоит повторять смысл переменных в этой формуле. И так всё понятно, т.к. практически та же формула, что и была выше, только разве что мы убрали проверку на старую партию. Да, чуть не забыл про коэффициенты V, L, P – так они соответственно равны 1, 0.15, 0.15 Тобишь 15% от максимально возможных баллов. При окончании партии вы можете вполне получить все 100%, но для этого надо выиграть партию. Вот где-то в этом месте хочу ввести рейтинг для союзов, но пока ещё не думал.

Вот вам и динамика господа !!! Пересчитываем после запуска хода и имеем то, что получили !!!

Но это ещё не всё !!!

Я посидел и подумал, что не справедливо будет, если игрок наберёт некую сумму очков и будет отсиживаться в “яме”, пока другие грызут науку милитаризма. Вот тут очередная “кака”, которую я задумал… Называется она – экспоненциальное уменьшение очков в зависимости от активности игрока на хосте. Эту тему можно развивать дальше, но основа вот в этом коэффициенте. Далее общая формула, включая этот модуль.

где Dtek – текущая дата,

Dfinish – через столько дней у вас будет ноль =0,

Dlastgame – последняя завершённая партия игроком,

kdney – некий коэффициент полученный после решения уравнения

Kpoteri – крутизна падения очков. Я предлагаю сделать равную (=1/4)

Отсюда видим, что этот модуль можно включать, а можно и не включать. Всё зависит от решения Гма. Увас возникнут вопросы и на один из них я сразу отвечаю (я думаю это самый глобальный вопрос). А когда у меня прекратится спад очков и что будет дальше. Так вот я пока думаю, что спад очков прекратится после выигрыша партии и все очки восстанавливаются (т.е. вы подтвердили свою квалификацию) или после проигрыша меняется крутизна падения очков, но очки не восстанавливаются. Вот такой я злой… и по отношению к себе тоже!!! J

Удачи в чтении. Андрей Гречко.

И вот что из этого вышло….

Пример.

Комментарии (читаются сверху вниз)
Надоело рыскать по сайту в поисках новых коментариев? Долго ждешь загрузки страниц или ограничен трафик? Скачай militarizm.ru - Коментатор и держи руку на пульсе милитаризма!
  Copyright (c) 2002, Plumbum Artz   runTime - 0.05сек.