Ещё одна система подсчёта рейтинговых очков
| |
Treasure | Дата: Четверг, 27.11.2008, 18:02 | Сообщение # 1 |
Группа: Совет Клуба RuCiv
Сообщений: 379
Статус: 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
Статус: Offline
| ого... а череп не жмет, а то мой маловат стал как начал читытать!!! гыгыгы
Smile God Loves You! y h w h
|
|
| |
Prorock | Дата: Четверг, 27.11.2008, 23:20 | Сообщение # 3 |
Группа: Совет Клуба RuCiv
Сообщений: 327
Статус: Offline
| Третий раз подхожу к экрану чтобы прочитать первые 3 строчки)))....тяжеловато....)) Но надо проявить терпение, потому что объективная рейтинговая система нам нужна!
|
|
| |
Treasure | Дата: Пятница, 28.11.2008, 01:56 | Сообщение # 4 |
Группа: Совет Клуба RuCiv
Сообщений: 379
Статус: Offline
| Если что-то непонятно - спрашивайте. Основная идея очень проста - смог протянуть в два раза дольше, чем сосед, значит и очков получишь в два раза больше. Просто точка отсчёта сдвинута чуть-чуть вперёд, так как продержаться 15 ходов каждый может. Ну и так как победитель-то не имеет номера хода, когда его устраняют (поскольку его не устраняют), то пришлось добавить небольшие ньюансы для подсчёта очков ему и игроку, которого он сам устранил последним.
|
|
| |
dogbas | Дата: Пятница, 28.11.2008, 06:42 | Сообщение # 5 |
Группа: Клуб RuCiv
Сообщений: 287
Статус: Offline
| Чаще всего первые выбывают из игры самые сильные! Да, да, на них обычно наваливаются с 2-3 сторон. И где рейтинг это учтёт?
|
|
| |
Velagor | Дата: Пятница, 28.11.2008, 16:14 | Сообщение # 6 |
Группа: Клуб RuCiv
Сообщений: 78
Статус: Offline
| А кто будет счетоводом? подсчет очков разумный.
|
|
| |
Treasure | Дата: Вторник, 13.01.2009, 17:47 | Сообщение # 7 |
Группа: Совет Клуба RuCiv
Сообщений: 379
Статус: Offline
| Quote (dogbas) Чаще всего первые выбывают из игры самые сильные! Да, да, на них обычно наваливаются с 2-3 сторон. И где рейтинг это учтёт? Да, согласен, такая проблема есть. Можно попробовать решить её следующим образом: игрок, напавший на игрока, уже воюющего с другим игроком, передаёт после игры часть своих очков в пользу того, на кого он напал, причём эта часть тем больше, чем больше врагов было у объекта агрессии. Вот, например, я напал на Пророка, когда он уже воевал с одним другим игроком, и после игры я передаю ему скажем 15% от моих очков, а после нападения на Пророка, я например напал на Педро, уже воевавшего с двумя игроками, и после игры я передаю ему 30% от моих очков, оставшихся после выплаты Пророку. Тогда будет меньше таких "несправедливых" войн, а если они и будут, то пострадавший игрок всё равно получит достаточно очков, а то и вообще выиграет, если будет хорошо держаться. Правда есть некоторые сложности: во-первых, нужно чёткое определение того, кто является агрессором, а во-вторых нужен удобный способ информирования других игроков о том, с кем вы уже воюете.
Сообщение отредактировал Treasure - Вторник, 13.01.2009, 17:48 |
|
| |
dogbas | Дата: Вторник, 13.01.2009, 18:22 | Сообщение # 8 |
Группа: Клуб RuCiv
Сообщений: 287
Статус: Offline
| При коллективной игре много нюансов. Например, военные действия очень сильно могут различаться по характеру. Часто после объявления войны никаких битв нет или долго нет.
|
|
| |
Kosmozilla | Дата: Вторник, 13.01.2009, 21:07 | Сообщение # 9 |
Группа: Клуб RuCiv
Сообщений: 189
Статус: Offline
| Да это сложно,но в теории справедливо. Добавлено (13.01.2009, 21:07) --------------------------------------------- Треж, предложи пробную игру
|
|
| |
Treasure | Дата: Воскресенье, 18.01.2009, 17:00 | Сообщение # 10 |
Группа: Совет Клуба RuCiv
Сообщений: 379
Статус: 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
Статус: Offline
| Во, старт с посольством нужен для игры 3 на 3 ! Запад против востока.
|
|
| |
|