Вычисление уровня снаряжения для распределения игроков или баланс на примере Stalcraft

Вот и наиграла я 600 часов в гриндилку в стилистике Сталкера на сильно модифицированной джава основе от майнсрафта - сталкрафт. И самое худшее, что есть в этой игре - система распределения игроков по серверам. Но ведь её можно пофиксить и пофиксить очень просто. Сейчас попробую вывести формулу для определения уровня персонажа и с кем он должен играть. Давайте для простоты расчётов у нас будет игрок Player, который дошел до уровня Сталкера.

Предисловие.

Сейчас понабегут мамкины математики и балансеры и начнут попрекать меня неверными вычислениями и переменными, но всё это написано чисто на подумать. Если я когда нибудь дойду до создания своей системы матчмейкинга, то примерно так я её и буду балансить. А конструктивной критике и дополнениям я всегда рада :)

Часть I: Оружие.

Изначально в Сталкрафте был индекс снаряжения: что-то вроде суммы показателей снаряжения (оружие + броня + артефакты + контейнеры + заточка всего этого дела). Но не сильно-то он влиял на распред: часто новички, взявшие в руки новую пушку, которая рангом выше, чем их остальное снаряжение, начинали попадаться с типами, которые бегают в шмоте, чей уровень равен уровню пушки новичка. И это несправедливо, ведь играть становится нереально. И не дай бог новичку начать точить его пукалку - тогда враги станут раз в пять сильней. Исправляется это очень просто: вместо уровня оружия система должна смотреть на скорострельность : урон. Предположим, у оружия PINUS скорострельность 600, а урон 30. Полученный результат мы запоминаем под переменной W(eapon). W=20. Но у нас же есть уровни экипировки: Отмычка, Новичок, Сталкер, Ветеран, Мастер и Легенда. Представим их в числах от 1 до 6 и умножаем уровень оружия на W. Получается 20 * 3 = 60. Записываем как WP - Weapon Points

Часть II: Броня.

Теперь поговорим о броне. Есть три типа брони: боевая, научная и комбинированная. Снова привяжем их к числам: 15 для боевой, 10 для комбинированной и 5 для научной. У нашего игрока боевая броня Defender уровня "Сталкер", у которой защита от пуль 85. Для получения очков брони мы вычисляем значение по следующей формуле: защита : тип * уровень. 85 : 15 * 3 = ±17. Запоминаем полученное значение как AP - Armor Points.

Часть III: Заточка снаряги.

Не забываем про заточку. Заточка бывает от 1 до 15. Тут будут кривые расчёты и эту часть можно балансить до посинения. Допустим, наш новичок заточил свой PINUS на +5. Урон вырос с 30 до 40, а также изменилось падение урона на дистанции. Делаем пересчёт WP: 600 : 40 * 3 = 45. "Но, Настя! Получилось же меньше, чем без заточки!", скажете вы и будете правы, потому мы полученное число умножаем на результат формулы Уровень заточки / 2.3 (это число можно изменять баланса ради) Получаем новый WP = 45 * (5 : 2.3). Новое WP = 97.65 = 98.

Часть IV: Итог.

Получается, что уровень снаряжения нашего игрока = 17 + 98 = 115. Теперь, после нахождения этого числа, мы подбираем игроков, сравнивая ранее полученные данные с показателями других игроков, особенно оружейные показатели. Естественно, это слишком упрощенная формула и мы не берём в расчёт артефакты, их заточку, прочее снаряжение, усиления от еды и прочие тонкости.

3
6 комментариев