NoX World - форум об игре NoX

 
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  
Сейчас онлайн стрима нет!
Сейчас на сервере никого нет!

Обязательно все ознакомьтесь с новыми Правилами Портала!

Актуальные новости:
IP сервера изменён! Новый IP: 45.144.64.229. Сервер также доступен через Westwood Online (XWIS, игру через сервер)


Важные темы:
Как играть по сети? Понятное руководство!
Правила Сервера NoxWorld.
Как помочь форуму финансово?

Автор Тема: Обсуждение Ладдера  (Прочитано 11881 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Garett

  • Langrisser
  • Гильдия The Pinnacle
  • Старожил
  • *
  • Карма: 125
  • Оффлайн Оффлайн
  • Сообщений: 667
  • Awards Выбор администрации 5 конкурса карт Лучшая карта 5 конкурса карт Сложность исполнения 5 конкурса карт Лучший геймплей 5 конкурса карт Мастер нестандартных карт - 2013 4 конкурс карт - победа Столп форума 2012 За написание статей
    • Просмотр профиля
    • Garett#9853
    • Awards

Первое.

На NoxWorld не используется система XWIS с поддержкой Westwood Online. Это ставит одну из двух проблем: 1) необходимо установить и настроить сервер WOL (и систему рейтинга Ladder), что как мне известно изначально не предполагалось, но возможность есть; 2) подстроить текущий локально-сетевой сервер для понимания WOL-овского Ladder-а, что пока никто не умеет.
Так же возможное решения задачи начисления рейтинга - дополнительная надстройка на текущий сервер, как, например, авторизция. Её и рассмотрю.

Второе.

Задача: Составить алгоритм системы рейтинга участников игр на сервере NoxWorld.
Дано:
    - Рейтинг участников определяется конкретным числом, поставленным в отношение соответствия зарегестрированному участнику по некоторому закону.
    - Самый высокий рейтинг определяется максимальмым числом, "прикрепленным" к какому-либо участнику.
    - Самый низкий рейтинг определяется "нулем".
Требования:
    1. Каждый зарегистрированный на сервере пользователь должен иметь параметр (число) рейтинга.
    2. Участник, выигрывающий все (большинство) сражений (карт), должен иметь максимальный рейтинг.
    3. Участник, ни разу не игравший, должен иметь минимальный рейтинг.
    4. Рейтинг участника должен изменяться в соотвевии с:
        а) силой игрока (чатота побед);
        б) активностью игрока (частота участия в играх на сервере).
    5. Изменение рейтинга должно зависеть от текущего значения рейтинга участника.

Я предлагаю рассчитывать рейтинг как-то так.

Исходные данные:
    - список всех зарегистрированных (на рейтинг) участников;
    - список участников текущей игры, упорядоченный по результату по возрастанию.

Метод решениия:
цикл <по списку всех зарегистированных участников>
 |  рейтинг участника установить в "нуль"
кцикл
цикл <пока сервер работает>
 |  цикл <по каждой новой игре>
 |   |  цикл <по списку всех зарегистированных участников>
 |   |   |  рейтинг участника уменьшить на "единицу"
 |   |  кцикл
 |   |  если <есть результат игры> то
 |   |   |  цикл <по списку участников игры>
 |   |   |   |  рейтинг участника увеличить на "единицу" "+" номер в списке
 |   |   |  кцикл
 |   |  кесли
 |  кцикл
кцикл

Части начисления и вычета рейтинга нетрудно изменить, например на любые функции учитывающие пинг, класс и т.д.

Третье.

До внедрения каких-либо сложных систем, попробуйте посчитать и хотя бы в течении пары месяцев поддерживать "ручной" Ladder (например, в виде списков участников игр в которых участвуете). Лучше нескольким участникам создать по теме и каждому выписывать свои изменения рейтинга. Будут хорошо видны все достоинства и недостатки различных вариантов реализации, и, в итоге, станет понятно нужен ли рейтинг вообще (продержаться такие темы в топе или нет).
Записан
Маленький потерявшийся волшебничишка.
Расширенный поиск  
 

Страница сгенерирована за 0.099 секунд. Запросов: 20.