Клуб онлайнщиков 
«Russian Civilization»
Вторник, 22.07.2025, 22:32
Главная | RSS

[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Prorock, Treasure  
Ещё одна система подсчёта рейтинговых очков
TreasureДата: Четверг, 27.11.2008, 18:02 | Сообщение # 1
Группа: Совет Клуба RuCiv
Сообщений: 379
Репутация: 13
Статус: Offline
Предлагаю систему, основанную на номере последнего хода игрока. Сначала изложу принципы, по которым она строится:
1. Среднее число очков в игре, получаемое игроками, не зависит от числа игроков. Например, если играем вчетвером, то разыгрываем 4000 очков, а в семером - 7000 очков.
2. Доля игрока тем больше, чем больше номер его последнего хода в игре. Соответсвенно, игроки выбывшие примерно в одно и
то же время, получат примерно одно и то же число очков.
3. Длительность игры двух последних игроков (назовём их финалистами) не должна влиять на долю уже выбывших игроков. То есть суммарная доля финалистов определяется к моменту выхода всех остальных игроков. Задача финалистов - как можно быстрее уничтожить друг друга. Чем дольше продержится второй игрок, тем больше он получит очков (но всё равно меньше, чем победитель), и тем меньше очков будет у победителя.
4. В первые несколько ходов очки не начисляются, так как шанс быть уничтоженным ничтожно мал. (Если не считать случая,когда игрок сам распускает поселенца)

Теперь собственно сама система.
Предлагаю долю игроков-нефиналистов сделать пропорциональной номеру их последнего хода. Ходы предлагаю отсчитывать, начиная с 16-го хода игры. То есть 16-ый ход считать первым, 17-ый вторым и т. д.
Пусть играет N игроков. Для удобства будем отсчитывать игроков в порядке убывания длительности их игры, то есть победитель - это первый игрок. Обозначу через t(i) - номер последнего хода i-ого игрока, отсчитываемый от 15-ого хода, а через k(i) - коэффициент пропорциональности i-ого игрока, (далее везде имеется в виду, что все номера ходов отсчитываются с 15-ого). Введу обозначения S - средняя "продолжительность жизни" нефиналистов, L - средний коэффициент пропорциональности финалистов, k(1) + k(2) = 2L;
Предлагаю положить L равным t(3) + S, то есть "средняя продолжительность жизни" финалистов равна сумме "продолжительности жизни" самого живучего нефиналиста и "средней продолжительности жизни" всех нефиналистов.
Таким образом, для нефиналистов k(i) = t(i), а для финалистов K(1) + k(2) = 2t(3) + 2S.
Осталось определить k(1) и k(2) в зависимости от t(2).

Предлагаю положить k(2) = L - S / (2^( (t(2) - t(3)) / S), а k(1) = 2L - k(2)).
( 2^ что-либо означает 2 в степени что-либо)
То есть каждый раз, когда в финале проходит S ходов ("средняя длина жизни нефиналиста"), разница между счётом победителя и
непобедителя уменьшается вдвое. Имеет место экспоненциальное уменьшение разницы между первым и вторым игроками.
Итак, все коэффициенты пропорциональности подсчитаны, и осталось только разделить между игроками N тысяч очков согласно этим коэффициентам.
R(i) = k(i) / (k(1) + k(2) + ... + k(n) ) * 1000 * N, и округлить до ближайшего целого числа.
Система может показаться сложной, но на самом деле она очень проста и математически изящна, и удовлетворяет изложенным принципам.

Добавлено (27.11.2008, 18:02)
---------------------------------------------
Теперь для большей ясности приведу пример подсчёта.
Пусть мы играли вшестером, например: Topsilver, Hun, Prorock, Pedro, Mumifikat, Treasure, и выбывали из игры в следующие ходы:
Mumifikat - 25
Propock - 75
Treasure - 112
Topsilver - 122
Hun - 240
Pedro - остался.

Вычитаем 15 первых ходов:
Mumifikat = 10
Propock = 60
Treasure = 97
Topsilver = 107
Hun = 225.
Итак, Hun & Pedro - финалисты.
Средняя продолжительность жизни нефиналистов S= (10+60+97+107)/4 = 68,5 ходов.
Самый живучий нефиналист протянул t(3) = 107 ходов.
Условная средняя длина игры финалистов тогда L = t(3) + S = 107 + 68,5 = 175,5 ходов.
С момента выбытия последнего нефиналиста второй игрок протянул t(2) - t(3) = (225 - 107) = 118 ходов.
Это соответствует 118/68,5 = 1,723 от средней продолжительности жизни нефиналистов.
Тогда k(2) = L - S / (2^1,723) = 154,7
k(1) = 2*L - k(2) = 2 * 175,5 - 154,7 = 196,2
Вот, коэффициенты посчитаны, теперь разделим 6000 очков пропорционально им:
k(1) + k(2) + k(3) + k(4) + k(5) + k(6) = 625.

R(Mumifikat) = 10/625 * 6000 = 96
R(Prorock) = 60/625 * 6000 = 576
R(Treasure) = 97/625 * 6000 = 931
R(Topsilver) = 107/625 * 6000 = 1027
R(Hun) = 154,7/625 * 6000 = 1485
R(Pedro) = 196,2/625 * 6000 = 1884.

Сообщение отредактировал Treasure - Четверг, 27.11.2008, 18:34
 
hwhyДата: Четверг, 27.11.2008, 20:35 | Сообщение # 2
Группа: Клуб RuCiv
Сообщений: 70
Репутация: 3
Статус: Offline
ого... а череп не жмет, а то мой маловат стал как начал читытать!!! гыгыгы

Smile God Loves You!
y h w h
 
ProrockДата: Четверг, 27.11.2008, 23:20 | Сообщение # 3
Группа: Совет Клуба RuCiv
Сообщений: 327
Репутация: 9
Статус: Offline
Третий раз подхожу к экрану чтобы прочитать первые 3 строчки)))....тяжеловато....))

Но надо проявить терпение, потому что объективная рейтинговая система нам нужна!



 
TreasureДата: Пятница, 28.11.2008, 01:56 | Сообщение # 4
Группа: Совет Клуба RuCiv
Сообщений: 379
Репутация: 13
Статус: Offline
Если что-то непонятно - спрашивайте. Основная идея очень проста - смог протянуть в два раза дольше, чем сосед, значит и очков получишь в два раза больше. Просто точка отсчёта сдвинута чуть-чуть вперёд, так как продержаться 15 ходов каждый может. Ну и так как победитель-то не имеет
номера хода, когда его устраняют (поскольку его не устраняют), то пришлось добавить небольшие ньюансы для подсчёта очков ему и игроку, которого он сам устранил последним.
 
dogbasДата: Пятница, 28.11.2008, 06:42 | Сообщение # 5
Группа: Клуб RuCiv
Сообщений: 287
Репутация: 9
Статус: Offline
Чаще всего первые выбывают из игры самые сильные! Да, да, на них обычно наваливаются с 2-3 сторон. И где рейтинг это учтёт?
 
VelagorДата: Пятница, 28.11.2008, 16:14 | Сообщение # 6
Группа: Клуб RuCiv
Сообщений: 78
Репутация: 5
Статус: Offline
А кто будет счетоводом? подсчет очков разумный.
 
TreasureДата: Вторник, 13.01.2009, 17:47 | Сообщение # 7
Группа: Совет Клуба RuCiv
Сообщений: 379
Репутация: 13
Статус: Offline
Quote (dogbas)
Чаще всего первые выбывают из игры самые сильные! Да, да, на них обычно наваливаются с 2-3 сторон. И где рейтинг это учтёт?
Да, согласен, такая проблема есть. Можно попробовать решить её следующим образом: игрок, напавший на игрока, уже воюющего с другим игроком, передаёт после игры часть своих очков в пользу того, на кого он напал, причём эта часть тем больше, чем больше врагов было у объекта агрессии.
Вот, например, я напал на Пророка, когда он уже воевал с одним другим игроком, и после игры я передаю ему скажем 15% от моих очков, а после нападения на Пророка, я например напал на Педро, уже воевавшего с двумя игроками, и после игры я передаю ему 30% от моих очков, оставшихся после выплаты Пророку. Тогда будет меньше таких "несправедливых" войн, а если они и будут, то пострадавший игрок всё равно получит достаточно очков, а то и вообще выиграет, если будет хорошо держаться.
Правда есть некоторые сложности:
во-первых, нужно чёткое определение того, кто является агрессором,
а во-вторых нужен удобный способ информирования других игроков о том, с кем вы уже воюете.


Сообщение отредактировал Treasure - Вторник, 13.01.2009, 17:48
 
dogbasДата: Вторник, 13.01.2009, 18:22 | Сообщение # 8
Группа: Клуб RuCiv
Сообщений: 287
Репутация: 9
Статус: Offline
При коллективной игре много нюансов. Например, военные действия очень сильно могут различаться по характеру. Часто после объявления войны никаких битв нет или долго нет.
 
KosmozillaДата: Вторник, 13.01.2009, 21:07 | Сообщение # 9
Группа: Клуб RuCiv
Сообщений: 189
Репутация: 4
Статус: Offline
Да это сложно,но в теории справедливо.

Добавлено (13.01.2009, 21:07)
---------------------------------------------
Треж, предложи пробную игру

 
TreasureДата: Воскресенье, 18.01.2009, 17:00 | Сообщение # 10
Группа: Совет Клуба RuCiv
Сообщений: 379
Репутация: 13
Статус: Offline
Кос, в смысле? Пример подсчёта с учётом динамики войн?

Добавлено (18.01.2009, 17:00)
---------------------------------------------

Quote (dogbas)
При коллективной игре много нюансов. Например, военные действия очень сильно могут различаться по характеру. Часто после объявления войны никаких битв нет или долго нет.

Согласен. И похоже проблему создания объективного рейтинга для игр все против всех не разрешить, если позволить каждому игроку произвольно выбирать объект агрессии.
Вижу решение для случая четырёх участников - в начале игры делимся на пары и воюем пока не победим (или не проиграем) того, кто достался нам в соперники, а затем уже двое оставшихся победителей доигрывают. Что-то наподобие турнира-олимпийки, только все одновременно играют на одной карте. Чтобы разделиться на пары корректно (так чтобы соперники оказались ближайшими соседями), в сценарий для игры надо добавить всем "старт с посольством", это позволит сразу увидеть точки на карте, где игроки поставили свои столицы. Если кто-то победил своего соперника раньше, чем игроки в другой паре, то он сначала должен будет выждать некоторое количество ходов (думаю 40 - 50 ходов будет нормально), чтобы дать игрокам из другой пары время "разобраться". Если они так и не "разобрались", тогда уже можно нападать на любого из них, причём второй игрок из недоигравшей пары не может в ответ атаковать агрессора, пока жив его первоначальный соперник. Например,
играют Пророк, Педро, Догбас, Мумификат. И оказалось так, что Пророк и Мумификат ближайшие соседи в западной части карты, а Догбас и Педро - в восточной. Начинаются две дуэли. И вот на 110-м ходу Педро победил Догбаса, а Пророк и Мумификат всё ещё воюют. Педро ждёт до 150-го хода кто победит, чтобы сразиться с победителем. Если победителя нет, то он может нападать на кого хочет. Например, напал на Пророка, тогда Мумификат не может всё равно атаковать Педро (если тот сам не атакует первым), а должен сначала справиться с Пророком. В общем задача всех - победить своего первого соперника и сделать это как можно быстрее. Ещё, если хочется сыграть такой матч быстро, то есть смысл добавить опцию "ликвидация" четырёх городов. Тогда ещё у вас есть дополнительная задача - победить соперника, получив минимальный урон.


Сообщение отредактировал Treasure - Вторник, 13.01.2009, 21:17
 
dogbasДата: Воскресенье, 18.01.2009, 17:53 | Сообщение # 11
Группа: Клуб RuCiv
Сообщений: 287
Репутация: 9
Статус: Offline
Во, старт с посольством нужен для игры 3 на 3 ! Запад против востока.
 
  • Страница 1 из 1
  • 1
Поиск:

TopSilver © 2025