Перейти к содержанию
Asterios

доработка системы распределения участников на олимпе


iTesey

Рекомендуемые сообщения

админ:

Цитата

r29221: Разделение участников олимпиады на две части поровну, по очкам. Игроки из первой части никогда не встретятся с игроками из второй.

игрок:

Цитата

 

ну тут смотря как понимать) может быть и так например в реге по очкам 1200 1000 400 300  /   200 250 100 60 

вот тебе и разделение на две группы по очкам, где 1200 может попасть на 400.

 

админ:

Цитата

Да, пополам делятся участники, а не очки. Схема именно такая.

http://forum.asterios.tm/topic/404476-и-снова-олимп/?page=3

 

Так вот, прошел примерно год после такой вот доработки олимпа, где как задумывалось, слабые летают со слабыми, а сильные с сильными.

Я впринципе сразу заметил что отлетывая лимиты я очень часто когда ухожу вперед по очкам от основной группы, все чаще и чаще попадаю на одноочковых персонажей, таких боев за лимит может доходить до 20-30. но судя по тому как расписал админ такого быть впринципе не могло, когда я имея 800 очков попадаю на персонажей у которых меньше 10 очков, исключая случаи если вся волна кроме меня состоит из таких персонажей у кого меньше 10 очков, а такого в принципе не бывает у нас, тем более я знаю олимп и вижу сколько народу в волне и на ком сколько птс примерно.

 

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

Когда в волну например забирает 10 человек, то делятся они на две нечетные группы по 5 персонажей в каждой, и в них идет распределение пар по очкам:

например:

8 60 80 120 130    /   300 320 400 450 800 таким образом пары в нечетных группах распределяются по очкам и остаются в каждой группе по персонажу которому пары не хватило как правило которые имеют очень отличные очки от других, и естественно они уже попадаются друг на друга, как в примере 800птс на 8птс.

Другого объяснения тому что много очковые персонажи не имея равных в волне постоянно попадают на одноочковых раздетых твинков я не вижу.

 

Предложение: проверить этот момент и как вариант разделять группы не поровну а именно на две четные группы (8 60 80 120      /    130 300 320 400 450 800) или же выпускать в волну только такое количество участников которые при делении на 2 будут иметь четное число.

Изменено пользователем iTesey
Ссылка на комментарий
Поделиться на другие сайты

ну что то в этом есть) то что бывают такие ситуации это факт, но вот решение мне кажется не до конца устранит проблемы)

Ссылка на комментарий
Поделиться на другие сайты

Я конечно исследую механизм на предмет возможных проблем, но что такое разделить нечетное количество на две четные группы я не совсем понял :D

Ссылка на комментарий
Поделиться на другие сайты

Лучше уже ничего не менять в этом плане, и так нормально все попадают на хай птсовых(200 с 200/700 с 800 - как пример) почти в каждой волне

Ссылка на комментарий
Поделиться на другие сайты

30 minutes ago, Admin said:

Я конечно исследую механизм на предмет возможных проблем, но что такое разделить нечетное количество на две четные группы я не совсем понял :D

0-3 игрока не забирать или 1 создать>.>

Ссылка на комментарий
Поделиться на другие сайты

28 минут назад, Admin сказал:

Я конечно исследую механизм на предмет возможных проблем, но что такое разделить нечетное количество на две четные группы я не совсем понял :D

уберите что бы сокланы друг на друга не попадали а то походу оно поламалось  с 10 боев 8 на соклана в волне есть пару других фармеров так же с 400-500+ птс

но мы попадаем друг на друга 

 

Ссылка на комментарий
Поделиться на другие сайты

37 минут назад, Admin сказал:

Я конечно исследую механизм на предмет возможных проблем, но что такое разделить нечетное количество на две четные группы я не совсем понял :D

а я такого нигде и не писал) нечетное количество у нас в принципе не забирает на олимп, я предложил забирать такое количество персонажей которые при делении на 2 группы будут образовывать именно четное количество персонажей в группах.

например забирать на аренк как только набралось 12, затем 16-20-24-28-32 и так далее, ну или по другому делить группы не именно пополам, чтоб опять же получалось четное количество участников в группах.

Изменено пользователем iTesey
Ссылка на комментарий
Поделиться на другие сайты

Зачем строить и предлагать что-то новое, если старое уже устаканилось и оно не плохо сделано, только лишь поправки нужны, типа соклан на соклана что бы не попадал.

Ссылка на комментарий
Поделиться на другие сайты

то есть для тебя нормально когда фармер просто каждый 4-5 бой попадает на раздетого твинка только лишь потому что оторвался по очкам от основной группы фармеров? для начала нафарми очей на 200 больше чем все кто летает на олимп, потом сам взвоешь что по кд будут попадать раздетые твины.

Ссылка на комментарий
Поделиться на другие сайты

25 минут назад, LLIvarcniger сказал:

Зачем строить и предлагать что-то новое, если старое уже устаканилось и оно не плохо сделано, только лишь поправки нужны, типа соклан на соклана что бы не попадал.

а олимп это что клан гейм? лал 

Ссылка на комментарий
Поделиться на другие сайты

27 минут назад, LLIvarcniger сказал:

Зачем строить и предлагать что-то новое, если старое уже устаканилось и оно не плохо сделано, только лишь поправки нужны, типа соклан на соклана что бы не попадал.

они итак попадают с минимальным шансом, не летайте по 8 человек в волну с 1 клана и проблем не будет

Ссылка на комментарий
Поделиться на другие сайты

30 минут назад, iTesey сказал:

то есть для тебя нормально когда фармер просто каждый 4-5 бой попадает на раздетого твинка только лишь потому что оторвался по очкам от основной группы фармеров? для начала нафарми очей на 200 больше чем все кто летает на олимп, потом сам взвоешь что по кд будут попадать раздетые твины.

Имею птс на 200-300 больше своих конкурентов на данный момент, попадаюсь нормально на птсных своего уровня в 80% случаях

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, LLIvarcniger сказал:

Имею птс на 200-300 больше своих конкурентов на данный момент, попадаюсь нормально на птсных своего уровня в 80% случаях

Цитата

r29221: Разделение участников олимпиады на две части поровну, по очкам. Игроки из первой части никогда не встретятся с игроками из второй.

улавливаешь в чем суть темы? я понимаю что тебе важны эти 20% боев с одноочковыми твинками, но нормальным людям нравится драться с сильным противником.

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

Изменено пользователем iTesey
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, iTesey сказал:

улавливаешь в чем суть темы? я понимаю что тебе важны эти 20% боев с одноочковыми твинками, но нормальным людям нравится драться с сильным противником.

Твоя теория не правильная. Всегда мало птсный и много птсный встретятся, ибо не может всегда найтись пара для всех много птсных. Как пример в волне 3 игрока с 1000 птс, 10 игроков с 20 птс, одному не повезет и 1000 птс попадет с 20 птс.

И не тебе мне писать про олимп и сильных противников, человек который фармит когда конкурентов нету и пустой олимп.

Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, LLIvarcniger сказал:

Твоя теория не правильная. Всегда мало птсный и много птсный встретятся, ибо не может всегда найтись пара для всех много птсных. Как пример в волне 3 игрока с 1000 птс, 10 игроков с 20 птс, одному не повезет и 1000 птс попадет с 20 птс.

И не тебе мне писать про олимп и сильных противников, человек который фармит когда конкурентов нету и пустой олимп.

Дурачек, я не говорю про много и мало птс, я говорю когда персонаж с максимальным птс попадает на персонажа с минимальным! але дурачек!!! распиши мне схему как я имея 700 птс могу попасть на твина с менее 10 птс и снять одно очко, если не учитывать эту недоработку? берс который слился в прошлом месяце в первом лимите фармить без дружков и залива.

Изменено пользователем iTesey
Ссылка на комментарий
Поделиться на другие сайты

повторюсь в рамках общей темы, мб прочтет кто, не хочу отдельные предложения создавать, вдруг бред:

убрать все ники при вылете на арену, писать только профу

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

изменить олимпиад стат, убрать совсем или вернуть как было, тот, что сейчас-бредовый, поменяли шило на мыло, все равно можно по полученным очкам посчитать, сколько у конкурента

запретить показ баффов при просмотре олимпа

ввести повышенный шанс попадания противников одной профы друг на друга, причем чем больше очков-тем больше шанс

добавить чат при просмотре боев



это вдобавок к предложению тесея, у него оно разумное

Ссылка на комментарий
Поделиться на другие сайты

Нужно просто добавить проверку на кол-во участников подгруппы и забирать волну только в том случае когда кол-во участников в под группах чётное и игроков достаочно для запуска волны. Так же дополнительно можно разрешить перемешивать игроков из двух соседних под категорий если игроков для первого варианта не достаточно.  Профит 

Ссылка на комментарий
Поделиться на другие сайты

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

 

Для упрощения, одинаковые очки это твинки с одинаковым hwid:

Список: [1, 2, 2, 3, 4, 5, 5, 7, 7, 10, 10, 20, 20, 30, 30, 40, 50, 50, 50, 70, 80, 90, 100]
Тест 1: {70-80}; {1-3}; {20-10}; {7-10}; {30-50}; {20-7}; {90-50}; {5-4}; {100-50}; {30-2}; {5-2}, лишние: [40]
Тест 2: {5-7}; {2-5}; {20-30}; {90-70}; {30-50}; {100-80}; {3-4}; {10-20}; #50-50#; {1-7}; {40-10}, лишние: [2]
Тест 3: {20-10}; {1-2}; {30-20}; {4-5}; {2-3}; {50-70}; {50-80}; {10-40}; {5-30}; {7-50}; {100-90}, лишние: [7]
Тест 4: {80-90}; {30-20}; {50-70}; {30-20}; {2-3}; {10-40}; {2-4}; {50-100}; {5-7}; {7-50}; {5-10}, лишние: [1]
Тест 5: {3-2}; {5-4}; {90-100}; {70-50}; {30-20}; {1-7}; {40-50}; {20-30}; {7-5}; {80-50}; {10-2}, лишние: [10]
Тест 6: {40-50}; {4-3}; {1-5}; {5-2}; {50-80}; {2-7}; {90-100}; {50-30}; {70-30}; #20-20#; {10-7}, лишние: [10]
Тест 7: {10-7}; {3-5}; {100-80}; {2-5}; {4-7}; {20-10}; {30-50}; {20-40}; {70-90}; {30-50}; {50-2}, лишние: [1]
Тест 8: {5-3}; {70-50}; {100-80}; {7-10}; {40-30}; {5-7}; {2-1}; {20-30}; {10-50}; {2-50}; {90-20}, лишние: [4]
Тест 9: {20-30}; {5-3}; {2-1}; {10-30}; {10-20}; {5-7}; {90-70}; {100-80}; {50-40}; {50-7}; {50-4}, лишние: [2]
Тест 10: {10-20}; {50-40}; {30-50}; {2-3}; {80-50}; {70-30}; {20-100}; {5-7}; {90-10}; {4-5}; {2-7}, лишние: [1]
Тест 11: {1-2}; {50-30}; {20-30}; {90-80}; {50-70}; {100-50}; {40-20}; {3-5}; {2-5}; {10-7}; {4-7}, лишние: [10]
Тест 12: {10-20}; {1-5}; {3-7}; {40-50}; {100-80}; {50-70}; {5-4}; {2-7}; {10-2}; {50-30}; {90-30}, лишние: [20]
Тест 13: {7-20}; {1-2}; {30-10}; {70-100}; {2-4}; {50-40}; {80-50}; {90-50}; {5-3}; {10-30}; {7-20}, лишние: [5]
Тест 14: {10-20}; {50-70}; {90-40}; {5-7}; {7-5}; {3-2}; {10-30}; {50-30}; {20-4}; {80-50}; {100-2}, лишние: [1]
Тест 15: {10-20}; {50-90}; {5-4}; {7-20}; {50-100}; {30-50}; {7-30}; {5-3}; {10-2}; {40-70}; {2-1}, лишние: [80]
Тест 16: {30-50}; {90-70}; {10-7}; {5-20}; {4-5}; {3-2}; {100-80}; {40-50}; {30-10}; {7-20}; {2-1}, лишние: [50]
Тест 17: {50-30}; {70-90}; {10-20}; {2-3}; {100-50}; {4-5}; {7-10}; {5-7}; {1-2}; {50-30}; {80-40}, лишние: [20]
Тест 18: {90-50}; {4-5}; {7-10}; {50-70}; {100-50}; {2-1}; {2-5}; {40-30}; {7-3}; {20-80}; {10-20}, лишние: [30]
Тест 19: {90-70}; {50-100}; {5-7}; {10-7}; {80-50}; {50-40}; {4-10}; {1-3}; {20-30}; {5-2}; {2-20}, лишние: [30]
Тест 20: {30-20}; {3-4}; {30-50}; {90-50}; {10-40}; {100-80}; {7-10}; {20-70}; {7-5}; {2-5}; {1-50}, лишние: [2]
Твинков: 2

 

Но все равно, возможны любые ситуации, хоть и редко.

 

Ссылка на комментарий
Поделиться на другие сайты

Тест 14: {10-20}; {50-70}; {90-40}; {5-7}; {7-5}; {3-2}; {10-30}; {50-30}; {20-4}; {80-50}; {100-2}, лишние: [1]

в этом тесте 100 очковый опять же попал на 2 очкового, я всетаки не понимаю как поделив такой список на 2 равные группы, персонажи из которых никогда не попадут на персонажей из другой группы, может случится такая ситуация...

1, 2, 2, 3, 4, 5, 5, 7, 7, 10, 10, 20, 20, 30, 30, 40, 50, 50, 50, 70, 80, 90, 100

опять таки в тесте 23 участника, один лишний, тоесть 22/2 по 11 участников на группу, опять нечетные группы, и в этом тесте скорей всего так и получилось, что описывал в первом посте

Изменено пользователем iTesey
Ссылка на комментарий
Поделиться на другие сайты

а то что игрок с макс птсом попался на ближайшего по птсу только 2 раза из 20 тебя не смущает?)

 

система походу кидает минимальный максимальный птс тупо на тех кто остался. но никак не на ближних.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, iTesey сказал:

в этом тесте 100 очковый опять же попал на 2 очкового, я всетаки не понимаю как поделив такой список на 2 равные группы, персонажи из которых никогда не попадут на персонажей из другой группы, может случится такая ситуация...

Деление происходит до этого, тот список что я показал, это уже поделенный на две части.



Только что, Wandy сказал:

система походу кидает минимальный максимальный птс тупо на тех кто остался. но никак не на ближних.

Берем список, выбираем случайного игрока. Это первый в паре. Берем случайного из ближайших к нему, это второй в паре. Повторяем, пока список не закончится.

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

Ссылка на комментарий
Поделиться на другие сайты

Только что, Admin сказал:

Деление происходит до этого, тот список что я показал, это уже поделенный на две части.

ну то что в группах подбирались противники более менее нормально оно и было, вопрос тогда что происходит с этим лишним в группе? он отправляется в пару к лишнему из другой группы? или их обоих не забирает?

Ссылка на комментарий
Поделиться на другие сайты

12 минуты назад, iTesey сказал:

ну то что в группах подбирались противники более менее нормально оно и было, вопрос тогда что происходит с этим лишним в группе? он отправляется в пару к лишнему из другой группы? или их обоих не забирает?

Список делится пополам, если нечетное число то с одной стороны больше. А уже потом происходит то, что я показал выше.


 

8 минут назад, Wandy сказал:

о чем мы и говорим. смысл с такой системы. если в волне 2-3 фармера с нормальным птсом и "остальные". и в 50% случаев эти фармеры попадут какраз на остальных.

Не важно, что вы говорите. Математика от этого не изменится. С таким количеством подобрать невозможно идеально. Только если поделить на группы по 6 к примеру человек, и в пределах этого количества делать случайное распределение (хотя, случайным его уже сложно будет назвать).

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Admin сказал:

Список делится пополам, если нечетное число то с одной стороны больше. А уже потом происходит то, что я показал выше.

а нет возможности исключить образования нечетных групп? чтоб лишние персонажи с одной группы не попадались с лишним из другой?

например забирать на олимп только первых 12 зареганных 16-20-24-28-32 и так далее?

Ссылка на комментарий
Поделиться на другие сайты

я чтото не понимаю или как.

есть проблема - в конце остается слишком маленькое количество людей для нормальной выборки.

есть решение - останавливать выборку на Nом количесве оставшихся людей и оставлять их в следующую волну.

 

я както не так мыслю? или я не понял суть того что происходит?

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, iTesey сказал:

а нет возможности исключить образования нечетных групп? чтоб лишние персонажи с одной группы не попадались с лишним из другой?

например забирать на олимп только первых 12 зареганных 16-20-24-28-32 и так далее?

Да не придумывайте фигню, какие такие лишние? Если остается лишний персонаж, он вообще никуда не летит, просто идет в следующую волну, ему приходистя ждать пока снова не накопится.



Только что, Wandy сказал:

я чтото не понимаю или как.

есть проблема - в конце остается слишком маленькое количество людей для нормальной выборки.

есть решение - останавливать выборку на Nом количесве оставшихся людей и оставлять их в следующую волну.

 

я както не так мыслю? или я не понял суть того что происходит?

Возьми список, и пройдись по нему алгоритмом который я описал. И посмотри, что получится.

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Admin сказал:

Да не придумывайте фигню, какие такие лишние? Если остается лишний персонаж, он вообще никуда не летит, просто идет в следующую волну, ему приходистя ждать пока снова не накопится.

подождите вы привели список где 23 участника в которой получился один лишний, и сказали что это группа уже после деления на 2, тоесть существует еще 1 группа в которой так же может быть 22, 23 или 24 участника, в которой возможно будет такой же лишний, так вот они оба будут ждать следующую волну или попадут друг на друга?

Изменено пользователем iTesey
Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Admin сказал:

Возьми список, и пройдись по нему алгоритмом который я описал. И посмотри, что получится.

 

а какой алгоритм вы описали? потому что я даже не в курсе как в вашем алгоритме определяется понятие один из ближайших.  с каким скачком? 

как я могу пройтись по нему когда я не знаю пара 100-50 это пара оставшихся или пара относительно ближайших.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, iTesey сказал:

подождите вы привели список где 23 участника в которой получился один лишний, и сказали что это группа уже после деления на 2, тоесть существует еще 1 группа в которой так же может быть 22, 23 или 24 участника, в которой возможно будет такой же лишний, так вот они оба будут ждать следующую волну или попадут друг на друга?

Во-первых, они будут ждать следующую волну.

А во-вторых, нечетное не делится на два нечетных :)

Ссылка на комментарий
Поделиться на другие сайты

да и вообще - игроков интересует не то как алгоритм подбирает ближних. это нас не колышет никак.

нас беспокоит то как алгоритм работает с "остатками" , которые сливаются в пары вместо того чтоб пустить их в следующую выборку где они будут иметь шанс попасть в основной подбор.

 

поймите, игроку важнее полететь на достойного противника один раз за 2 волны, чем 2 раза на твинов.

Изменено пользователем Wandy
Ссылка на комментарий
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...