1
сразу уточню, что все 30 страниц не читал, а с середины уже просто пробегал
глазами
_я понимаю задачу так: как сделать бои на ауте интереснее, возможно менее
предсказуемыми, сложность чтоб по факту зависела от самих игроков
(саморегулирующая система в идеале), чтоб шанс на выйгрыш был бы более
равномерен для всех классов (дробы, пистолеты...), чтоб у людей был стимул
одеваться эффективно (голый со снайперкой должен иметь меньше шансов чем одетый
с той же снайперкой) и т.д., и чтобы все это было просто в исполнении и
требовало не много системных ресурсов.
_ограничения: к сожалению с первого взгляда не вижу как это красиво и элегантно
применить к наиболее высоким по уровню игрокам, которых мало, хотя один вариант
озвучил
_суть, коротко, как пример:
1_ на каждого игрока считается кол-во боев на ауте (А) (за счет этого достагаем
саморегуляции, но есть вероятность что система зациклится в одном из пиковых
положений, без реальной проверки невозможно предугадать. т.о. возможно придется
это делать не за весь период, а только за некоторый последний, допустим месяц,
3, не важно, можно потом подкрутить)
2_ для каждого боевого уровня (бу) ранжируем игроков по убыванию параметра А
3_ берем n-е кол-во игроков (N) из этого списка, остальных отсекаем и забываем
Причем, если это можно будет делать в реальном времени, то хорошо, будет более
динамично. если нет, то формуруем раз в сутки, раз в 3 часа, или еще как, особо
неважно.
Получаем, таблицу в которой каждому боевому уровню ставится в соответствие
список игроков (СИ) по уменьшению кол-ва боев на ауте, т.е. СИ(бу)
Причем, специально учитывать такой параметр, как кол-во выйгранных боев, вроде
как не имеет смысла, ибо система подразумевает, что люди и так стремятся к
выйгрышу, а значит этот параметр уже учтен
Причем (топ хайлевелс, как вариант), если к примеру N=100, а игрок бу=49 всего
один, бу=48 их 9, бу=47 их 50, бу 46 их 100, то для СИ(49) будут использоваться
все игрока уровня 49, 48, 47, и первые 40 игроков бу=46. соответственно, для
СИ(48) будут использоваться все игроки уровня 48, 47, и первые 41 игроков бу=46,
ну и аналогично..
Причем, различия между топ уровнями не такие большие, но некий стимул быстрее
стремиться вперед присутствует.
4_далее, когда мы решили создать пока/бота на основе реального игрока, назовем
условно Клон (причем, возможно клоны должны быть не в 100% случаях, а меньше,
для разнообразия, как сюрприз, а "стандартные" поки тоже имеют право на
существование, хотя переделка им не помешает), смотрим бу игрока и случайным
образом из СИ(бу) выбирам клона (делать ли поправку на мощность, арт/гос/именной
или еще что (сравнивать разницы величин, их отклонения в процентах...) это уже
технические детали, сейчас не важно)
Причем, я считаю существенным моментом, клона создаем не на основе сохраненных
заранее характеристик, а берем все то что есть в текущий момент в базе. это
дополнительная динамика и сюрпризность (+ защита от некоторых сговоров, что в
этой теме уже предлагалось ;) ), тем более учитывая что доп. ограничения на
мощность и т.д. у нас скорее всего и так будут. т.е. если он на ауте гос, а
сейчас с именным в синдовом, а нам нужен арт или гос, то его отбракуем (как
поступать с теми, у кого в руках нет оружия, это отдельный вопрос, чтоб не было
злоупотреблений и "благодеяний") и выберем из списка следующего для проверки
(причем, проверку на арт/гос/именной надо бы сделать с вероятностью. т.е. к
примеру даем 3% вероятность, что проверку игнорируем, и тогда будут появляться
дополнительные сюрпризы, как приятные, так и не очень ;) )
Причем, при таком подходе, считаю необходимо копировать клону все параметры
полностью, и не накручивать броню, видимость и т.д, такие накрутки можно отавить
для "стандартных" поков. да и в имени клона хотелось бы видеть с кого он
сделан.
+ к примеру можно сделать вероятность отклонения бу для формирования клона, как
в плюс так и в минус, средние величины не изменятся, а сюрпризность повысится
кстати, есть вполне конкретные мысли про "стационарных боссов"...
_даж захотелось посмотреть к чему такое может привести.. :)
да, и еще... это было "коротко" как я уже говорил ;) |