Цитата:
Сообщение от НоевКовчег
Требовать проще, чем предложить свой подходящий и проработанный вариант.
Делилка нормальная, согласно реализованному алгоритму: статы каждого участника гонки сортируются по убыванию и раскладываются "змейкой" на две команды.
Чем больше гонщиков в заезде, тем неравномерность распределения статов в командах меньше и наоборт.
|
Да предлагали уже тысчу раз и лучшие алгоритмы, только всеравно не делают.
Я не высчитывала но всеми уже опытным путем замечено что этот алгоритм лучше работает когда делит четное количество игроков.
И в принципе чаще всего делит хорошо при четном кол-ве игроков.
Когда делит нечетное дает явный полнейший сбой.
Вот хотя бы это, это даже не новый а исправление существующего.
И была тема на форуме не учитывать статы самого слабого, делить без него, но ему всетаки начислять. Я не буду писать как изначально, а свой вариант который считаю лучшим.
Образовалось нечетное число гонщиков в заезд. Самого слабого выкидываем, делим словно его нет вообще. После деления бросаем в любую из команд (можно даже случайно, а можно и нет), но результат не учитываем при подсчете.
Даже это исправление существующего не делают. Как ты считаешь улучшило бы или нет?
А так вообще по сути алгоритма да он лучше будет уравнивать когда народу больше, но народу всегда мало кроме каких-то особенных заездов. Причем мало не только в заездах но и вообще в игре. Сейчас новичков больше стало, но это только в новичках. И поэтому принцип что типа всем должно везти 50/50 если ездит средне не работает. Реально из-за малого количества участников одним все время везет другим все время не везет.
Надо учитывать специфику:
1) пони с мерином никогда в среднем не дадут того же времени как две вики хотя и с той и с другой стороны суммы статов будут полностью равны.
2) каждый заезд зависит от самых маленьких. Их поньки настолько разный рез дают добавив всего 20-80 км в час или другие характеристики, что если тоже самое добавить убрать сильному бумеру или мерину неужели он компенсирует? Да там у мерина будет разница пара секунд от этого а не десятки секунд или минута как у пони.
Сейчас попытка сравнить несравнимые вещи работает. Всё зависит от самой слабой машины, где она те и проиграли.
Я предлагала более четкий алгоритм основанный на экспертных оценках.
составляется табличка:
трасса,машина, каждый стат +/- допуски какие-то результат
По каждой машинке в таблицу, находится время дальше делится чтобы время среднее у команд меньше всего отличалось.
И вот тут то будет реальное деление!
Или вот сейчас придумала проще вариант другово алгоритма, но соответственно и хуже. Глупо складывать характеристики одинаково для тех у кого их много и мало. Надо логарифмическую шкалу. Соотвественно увеличению среднего времени на разных трассах при увеличении характеристик. Суть этого метода чтобы главное понь четче разделить и если вышло как всегда за счет понь сильная разница секунд 20 - минуту, то надо адекватно туда всех сильных меринов загнать а не как сейчас что смешно, просто бумеров на разницу характеристик пони с викой допустим. То есть по логарифмической шкале на малых характеристиках разница должна сильнее влиять чем на больших. Нужный логарифм подобрать.