УДК 004.415.25
DOI: 10.24412/2071-6168-2024-10-376-377
РАЗРАБОТКА МАТЕМАТИЧЕСКИХ ПРАВИЛ БАЛАНСА РОЛЕВОЙ СИСТЕМЫ НА ПРИМЕРЕ
ПЕРСОНАЖА КОМПЬЮТЕРНОЙ ИГРЫ
Г.А. Тюкаева, Л.Б. Филиппова, Р.А. Филиппов, А.А. Кузьменко
В данной статье говорится о необходимости баланса игр, приводятся пара методик. На основе некой ролевой игры представляется порядок и способ формирования математического баланса на основе формул. В качестве примера описывается ряд характеристик, составляется схема их взаимосвязи, после чего приводится и описывается несколько формул расчёта и методы их формирования. В конце статьи представляется полный набор формул для математического баланса ролевой системы на примере персонажа компьютерной игры.
Ключевые слова: разработка игр, баланс игр, математические правила, расчёт приоритета.
Введение. Игры — это популярный вид досуга современного человека, которые имеют богатую историю. Так можно говорить о детских играх или более сложных настольных играх, но в век информационных технологий нельзя забывать и о видеоиграх: мобильных, компьютерных и игр для приставок.
Игры отличаются по сложности, в некоторых правила можно объяснить одним предложением из-за небольшого количества характеристик, в других существуют целые энциклопедии, поясняющие правила взаимодействия. Одними из наиболее сложных правил обладают игры жанра RPG (Role-Playing Game) и не столь значимо идёт ли речь о настольной или компьютерной версии, так как сложность обуславливается большим количеством характеристик, способностей и их взаимодействием в различных игровых ситуациях [1,6]. Именно по этой причине, рассмотрение игрового баланса будет производится для игры жанра RPG, как наиболее наглядное.
Основная суть баланса в игре - сохранение её привлекательности для пользователя. Иными словами, популярность игр в целом обусловлена рядом причин, к примеру, получение удовольствия от побед над другими или награды за выполненное задание[8]. Если эти достижения будут даваться слишком легко, то обесценится их значимость и игрок потеряет интерес, ему станет скучно, а если же слишком сложно, то игрок будет часто испытывать негативные эмоции от проигрыша, невозможность пройти [2]. Обе эти ситуации негативно скажутся на популярности продукта, именно по этой причине важно соблюдать баланс. При этом большинство имеющихся характеристик в игре так или иначе взаимосвязаны [3].
Таким образом, целью данного исследования является разработка математических правил баланса ролевой системы на примере персонажа компьютерной игры
Теория. Различные ролевые системы имеют большое количество характеристик из разных взаимосвязанных между собой параметров[7]. Существует ряд способов расчёта характеристик, к примеру, баланс персонажа исходя из его образа. [4] Другой вариант, идти от характеристик: определить какую-то стартовую (можно с помощью первого метода) и рассчитывать, строить зависимости и последовательности другие. Этот метод более точный, имеет точки опоры. Именно он и будет рассмотрен в статье.
Необходимо также упомянуть, что характеристики персонажа взаимодействуют с окружающим миром (прорисовка карты и размещение элементов на ней), характеристиками самого игрока и врагов, встречающихся на указанной карте. [5,9,10] Кроме того, система ролевая, то есть учитывает прохождение некой истории, а, следовательно, выполнение заданий, связанных с сюжетом, основным или побочными также необходимо учитывать.
Для полноты картины, стоит упомянуть, что в играх бывает ряд характеристик, которые не поддаются сравнению и балансу относительно подобных у других персонажей. Тут всё субъективно и единственное правило, что способность не должна давать абсолютное преимущество, то есть чем сильнее способность, тем более значимый недостаток она должна иметь. В противном случае происходит нарушение баланса и потеря смысла в улучшении характеристик персонажа.
Данные и методы. Система, для которой разрабатываются математические правила - это игра, где у пользователя есть аккаунт с определёнными, увеличивающимися в процессе прохождения показателями. Также есть ряд персонажей (у пользователя в начале один стартовый), которые также имеют ряд свойств с различными значениями.
Таким образом получается, что есть характеристики присущие именно игроку, общие для любого выбранного персонажа, а также существует группа характеристик, относящаяся именно к персонажам. Кроме этого, есть характеристики врага.
Рассмотрим по несколько основных характеристик из каждой группы и их влияние друг на друга.
Рассмотрим взаимосвязь трёх основных групп характеристик:
1. Характеристики игрока: Lvl - уровень игрока. Не зависит от выбранного персонажа; R - ранг игрока. Также является единой характеристикой. Повышается при достижении определённого Lvl.
2. Характеристики персонажа: Lvlch - уровень персонажа. Влияет только на конкретного персонажа; Hp -здоровье выбранного персонажа. Это числовая характеристика; Dm - урон персонажа. Собирательная характеристика, зависящая от ряда факторов.
3. Характеристики врагов: Hpe - здоровье врагов; Dme - урон врагов.
На рисунке 1 представлены связи показателей из каждой группы. Так можно заметить, что ранг влияет на значения здоровья и урона как персонажей, так и врагов. При это на ранг влияет уровень игрока, который также влияет на урон персонажа. А сам уровень повышается в том числе за счёт повышения уровня персонажа. Также на рисунке 1 видна связь между характеристиками персонажа и врагов: урон персонажа уменьшает здоровье врагов, и наоборот, урон врагов влияет на здоровье персонаже при столкновении. Уровень персонажа при повышении увеличивает показатели здоровья и урона персонажа.
После установления общих взаимосвязей рассмотрим группу характеристик персонажа, затрагивая лишь влияющие на них значения из других групп, без описания их получения.
Модель характеристик, на которые может влиять игрок тем или иным образом, значительно больше тех, что были представлены ранее. Поэтому перед началом описания взаимосвязей необходимо рассмотреть и расшифровать полный список характеристик присущих персонажам:
Lvl - уровень игрока, R - ранг игрока, Lvlch - уровень персонажа, Hp - здоровье выбранного персонажа, Atk (attack) - сила атаки, L (luck) - удача, Def (defence) - защита, T (talent) - талант, Am (amulet) - оберег, который может выражаться в числовом или в формате процента от const и повышает значение других характеристик. Значение параметра оберег Am = {AmDef (защиты), AmL (удача), AmHp (здоровья), AmFig (одного или нескольких показателей из группы 'Fig)}
Fig (fighting) - группа характеристик персонажа, влияющая на урон от оружия: Frc (force) - сила, Int (intelligence) - интеллект, Dex (dexterity) - ловкость, Wp (willpower) - сила воли/воля. En (endurance) - выносливость. Комбинация характеристик зависит от типа оружия.
WAtk (weapon) - сила атаки оружия, Lvlw - уровень оружия, V - скорость атаки, Dis (distance) - дальность атаки, Tp (type) - тип оружия.
Персонажи в бою используют определённое оружие одного из 5 типов. Значение параметра тип оружия Tp = {Tpi, Tp2, Tp3, Tp4, Tp5}.
Un (uniqueness) - уникальность данного оружия. Значение параметра уникальности Un = {Uni (0,3), Um (0,5), Un3 (0,7), Un4 (0,9), Un5 (1,2)}.
Рис. 1. Взаимосвязь основных характеристик групп
При этом, каждый показатель влияет на другой (рис. 2) в каком процентном соотношении или с учётом некой формулы. Приведём и рассчитаем эти формулы и значения.
Формирование формул происходит с учётом взаимосвязей, представленных на рисунке 2. Самым простым примером будет являться формула для расчёта обобщающей характеристика персонажа — урона (1).
Dm = WAtk + Atk, (1)
Однако, бывают случаи, когда влияние одного свойства на другое не в виде открытого добавления, а в виде множителя (иногда влияющая характеристика представлена в процентах) для начального значения искомого, что снижает силу влияния. Примером подобной формулы может служить расчёт силы атаки оружия (2).
WAtk=const*(l+R+Lvlw)*(l + Un+FigTp), (2)
В представленной формуле (2), есть характеристика FigTp, которая показывает влияние характеристик группы Fig на урон оружием в соответствии с его типом. Для этого необходимо применить метод парных сравнений. Значение результатов сравнения выставляются разработчиком игры согласно фундаментальной шкале, где от 1 до 9 значимость предпочитаемых силовых характеристик. С помощью данной шкалы необходимо составить матрицы для
каждого типа оружия. Расчёт приоритетов на основе матрицы парных сравнений производится с помощью метода собственного вектора. При расчёте W - вектор приоритетов элементов. В качестве примера подобного действия, в таблице 1 приведена матрица для первого типа оружия.
Таблица 1
Матрищу парных сравнений, расчёт вектора приоритетов^ для Тр1__
Frc Int Dex Wp En W
Frc 1 1/5 1/9 1/7 1/3 0.033
Int 5 1 1/5 1/3 3 0.129
Dex 9 5 1 3 7 0.513
Wp 7 3 1/3 1 5 0.261
En 3 1/3 1/7 1/5 1 0.063
Xm,x= 5.237; Cl=0.059; CR=0.053
На основе полученных приоритетов составлена сводная таблица 2 влияния, где по горизонтали тип оружия, а по вертикале характеристики.
Влияние характеристик Fig
Таблица 2
Frc Int Dex Wp En
Tpi 0.033 0.129 0.513 0.261 0.063
TP2 0.261 0.129 0.063 0.033 0.513
Трз 0.513 0.033 0.063 0.261 0.129
Tp4 0.129 0.261 0.063 0.513 0.033
TP5 0.033 0.513 0.261 0.129 0.063
После получения коэффициентов влияния для каждого типа, была составлена формула (3), в которой для определённого типа оружия рассчитывается силовая характеристика, с учётом данных приоритета.
FigTp = Frc * WFrc + Int * W,nt + Dex * WDex + Wp * WWp + En * WEn, (3)
Теперь спустимся ещё на уровень ниже и рассмотрим получения значения Frc (необходимо уточнить, что схема расчёта для всех характеристик группы Fig идентична).
Необходимо начать с наличия влияния Hp на группу характеристик Fig и указать, что Hp в игре выражается в количественном, а не процентном значении (к примеру, Hp = 10000 усл. ед.) и это значение зависит от ряда параметров и может меняться в процессе игры. Поэтому, для удобства расчётов при указании влияния Hp на другие характеристики будут использоваться проценты от значения данного показателя.
В таблице 3 можно увидеть, что при значении здоровья в пределах от 100% до 81% все характеристики сохраняют свои показатели в полном объёме. Однако, уже при значении от 80% до 65% начинают снижаться и первым начинает выносливость. На каждом следующем из четырёх оставшихся промежутков начинает снижаться один из показателей. Необходимо отметить, что чем позже по шкале уменьшения здоровья начинает изменяться характеристика группы Fig, тем больший у неё шаг. К примеру, если показатель выносливости понижается на 10% каждый промежуток, то показатель ловкости уже на 12%, а воли сразу на 45%. Подобная вариабельность уравняет шансы игроков, использующих разных персонажей.
Влияние значения Hp на группу характеристик Fig
Fig ^^^^ 100-81 80-65 64-49 48-33 32-17 16-1
Frc 100% 100% 100% 100% 75% 50%
Int 100% 100% 100% 83% 66% 49%
Dex 100% 100% 88% 76% 64% 52%
Wp 100% 100% 100% 100% 100% 55%
En 100% 90% 80% 70% 60% 50%
Таблица 3
Исходя из приведённой таблицы 3 и схемы взаимосвязей составляется формула расчёта Frc (4).
Ргс = к* (сопз1с1г + ЬУ1сП * сопз1с1г + АтР1Ч), (4)
где k - процент влияния характеристики Нр.
Стоит обратить внимание на то, что в отличие от других, формула (4) часто применяется, так как эти значения пересчитываются при любом игровом изменении показателя здоровья.
И последним важным моментом при составлении формул является влияние таких характеристик как ЬуЬк Lvl, R, Ьу^. Их влияние изменяются с увеличением показателя. К примеру, для формулы (4) необходимо значение влияние на Frc Lvlch. Для его получения необходимо составить зависимость, где каждый диапазон увеличения уровня (в данном случае шаг диапазона равен 5) имеет значение ап, рассчитывающееся по определённой формуле (в данном случае, по формуле (5), где п - это номер диапазона, а первый член последовательности равен 0). Это значение может быть одинаковым для расчёта нескольких характеристик. И на основе данных значений будет рассчитываться величина влияния конкретного параметра, в данном случае, любой характеристики группы Fig для которой используется показательная функция, формула (6).
ап = 0,6 + (п- 1) * 0,2, (5)
1,9-ап (6)
Для наглядности применения представленных формул, ниже приведена таблица 4. Расчёт показателей влияния происходит по формулам элементарных функций, в основном показательных и иногда логарифмических, в зависимости от необходимой скорости возрастания показателя.
Таким образом формируются все математические правила баланса силы персонажа. Представленные формулы связаны между собой и их итоговый значения зависят от пользователя, его выбора и получившейся комбинации: персонажа, оружия, оберегов и т.д.
Таблица 4
Влияние характеристики Lvlch
Lvlch Диапазон уровня 1-5 6-10 11-15 16-20 21-25 26-30 31-35
Обоз Формулы расчёта Рассчитанные значения
а„ = 0, б + (п-1) * 0,2 0 0,6 0,80 1,00 1,20 1,40 1,60
Fig 1,9-а„ 1,0 1,5 1,7 1,9 2,2 2,5 2,8
Полученные результаты. В качестве результатов, можно привести таблицу 5 соответствия характеристик и их формул. В ней перечислены основные характеристики и сформированные для них формулы расчёта, так чтобы были учтены все связи и показатели находились в балансе.
Таблица 5
Сводная таблица расчёта характеристик_
Обозначение Формула
Lvlch Повышается игроком
Hp Hp = 0,66 . ( constch * (1 + R + Lvlch +100 + + AmFia),
Atk (attack) Atk =0,6 *t * constch * (1 + Lvl + Lvlch + —), где t - это специальный множитель, по умолчанию равный 1. Значение этого множителя зависит от уникальных способностей персонажа.
Def (defence) Def = constCh * (1 + LvlCh + +100) + AmDef,
L (luck) L = constr!l + Am,
T (talent) T = constr!l * (1 + Lvlrh)
Am (amulet) Am = {AmDef, Ami, AmHp, AmFig} Am = const * (1 + Lvl)
Fig (fighting) Fig = k * (constch + Lvlch * constch + AmFiQ)
Dm Dm = WAtk + Atk
WAtk (weapon) WAtk = 0,017 * const * (1 + R + Lvlw) * (1 + Un + FigTp) FigTp = Frc * WFrc + Int * Wlnt + Dex * WDex + Wp * Wwp + En * WEn
Dis (distance) Dis = {Dis Tpi, Dis Tp2, Dis Tp3, Dis Tp4, Dis Tps) Dis = const * (1 + Lvlw)
tp (type) Tp = {Tpi, Tp2, Трз, Tp4, Tps)
Un (uniqueness) Un = {Uni, Un2, Un3, Un& Un5} Uni= 0,3; Un2= 0,5; Uns= 0,7; Un4= 0,9; Uni=i,2
Необходимо учитывать, что недостаточно просто составить формулы, их необходимо проверить, то есть рассчитать по ним баланс. И уже после пары первых расчётов, можно заметить неточности, а именно, слишком быструю или слишком медленную скорость возрастания значений характеристик при изменении других параметров. В связи с чем необходимо ввести такие поправочные коэффициенты, которые исправят данную ошибку. Для представленного математического баланса подобные коэффициенты понадобились для формул расчёта силы атаки оружия (WAtk), здоровья (Hp) и атаки (Atk).
Заключение. Таким образом, вся математическая модель баланса боевой системы персонажа в первую очередь зависит от проектируемой ролевой игры, её механик и характеристик, которые в свою очередь могут формироваться на основе сюжета. Однако, практически во всех ролевых играх существуют общие характеристики, обязательные к наличию у персонажа - это здоровье и урон, а также сила атаки и оружия. Отталкиваясь от основных характеристик, их составных частей и отношений удобно построить схему взаимосвязей.
Кроме того, необходимо помнить, что любой математический баланс требует тестирования, а именно, применения в игре и получения обратной связи от игроков. Причем количество участвующих в тестировании игроков прямо влияет на качество баланса, Только большое количество тестов позволит довести баланс до нужной точки, так как ощущения пользователей и дополнительные, неучтённые в математических расчетах, параметры могут оказывать на игру влияние.
Список литературы
1. Подвальный М.А. Компьютерная ролевая игра [В Интернете] // Большая Российская энциклопедия. 08 июня 2022 г. [Электронный ресурс] URL: https://bigenc.ru/c/komp-iuternaia-rolevaia-igra-5d8e86 (дата обращения: 10.05.2024).
2. Уточкин В.Н., Сахнов К.С. Хочу в геймдев! Основы игровой разработки для начинающих. Москва: Бомбора, 2022. С. 224.
3. Баланс в играх или как достичь недостижимой цели? // Habr. [Электронный ресурс] URL: https://habr.com/ru/articles/709012 (дата обращения: 10.05.2024)
4. Руководство по игровому балансу. Часть 1 // DTF. [Электронный ресурс] URL: https://dtf.ru/gamedev/1801539-rukovodstvo-po-igrovomu-balansu-chast-1 (дата обращения: 10.05.2024).
5. Гимельрейх Сергей Методология балансировки игр // Gillion. [Электронный ресурс] URL: https:// gdcuffs. com/balance-methods (дата обращения: 10.05.2024).
6. Development and study of the model for epidemic spread / A. V. Ivanova, A. S. Sazonova, A. A. Kuzmenko, L. B. Filippova // III International Workshop on Modeling, Information Processing and Computing (MIP: Computing-2021), Krasnoyarsk, 28 мая 2021 года. Vol. 2899. Krasnoyarsk, Russia: CEUR-WS, 2021. P. 9-16. DOI 10.47813/dnit-mip3/2021-2899-9-16.
7. Теория и системы управления: лабораторный практикум / А. С. Сазонова, Л. Б. Филиппова, Р. А. Филиппов [и др.]. Брянск : Брянский государственный технический университет, 2017. 46 с.
8. Автоматизация подготовки управляющих программ для станков с ЧПУ: учебное пособие / В. И. Аверченков, А. А. Жолобов, Ж. А. Мрочек [и др.]. Том Часть 2. 2-е издание, стереотипное. Брянск: Брянский государственный технический университет, 2012. 212 с.
9. Экономическая безопасность в региональных социально-экономических системах / Е. Э. Аверченкова, А. В. Аверченков, Ю. А. Леонов [и др.]. Москва : Общество с ограниченной ответственностью "ФЛИНТА", 2019. 157 с.
10. Аверченков В.И. Программный комплекс определения величины коррекции на инструмент для обрабатывающих центров с датчиками активного контроля / В. И. Аверченков, Л. Б. Филиппова, Л. И. Пугач // Известия Тульского государственного университета. Технические науки. 2013. № 7-1. С. 70-78.
Тюкаева Галина Александровна, ассистент, miss. tolossky@yandex. ru, Россия, Брянск, Брянский государственный технический университет,
Филиппова Людмила Борисовна, канд. техн. наук, доцент, libv88@mail. ru, Россия, Брянск, Брянский государственный технический университет,
Филиппов Родион Алексеевич, канд. техн. наук, доцент, [email protected], Россия, Брянск, Брянский государственный технический университет,
Кузьменко Александр Анатольевич, канд. биол. наук, доцент, alex-rf-32@yandex. ru, Россия, Брянск, Брянский государственный технический университет
DEVELOPMENT OF MATHEMATICAL RULES FOR THE BALANCE OF A ROLE-PLAYING SYSTEM USING THE
EXAMPLE OF A COMPUTER GAME CHARACTER
G.A. Tyukaeva, L.B. Filippova, R.A. Filippov, A.A. Kuzmenko
This article talks about the need for game balance, and provides a couple of techniques. On the basis of a certain role-playing game, the order and method of forming a mathematical balance based on formulas are presented. As an example, a number of characteristics are described, a diagram of their relationship is drawn up, after which several calculation formulas and methods of their formation are given and described. At the end of the article, a complete set offormulas for the mathematical balance of the role-playing system is presented using the example of a computer game character.
Key words: game development, game balance, mathematical rules, priority calculation.
Tyukaeva Galina Alexandrovna, assistant, miss. tolossky@yandex. ru, Russia, Bryansk, Bryansk State Technical
University,
Filippova Lyudmila Borisovna, candidate of technical sciences, docent, libv88@mail. ru, Russia, Bryansk, Bryansk State Technical University,
Filippov Rodion Alekseevich, candidate of technical sciences, docent, [email protected], Russia, Bryansk, Bryansk State Technical University,
Kuzmenko Alexander Anatolyevich, candidate of biological sciences, docent, alex-rf-32@yandex. ru, Russia, Bryansk, Bryansk State Technical University
УДК 519.852
Б01: 10.24412/2071-6168-2024-10-380-381
СВЯЗЬ ПРИРАЩЕНИЯ ОПТИМАЛЬНОГО ЗНАЧЕНИЯ ФУНКЦИИ ПОТЕРЬ С ИЗМЕНЕНИЕМ ОЦЕНОК ПАРАМЕТРОВ КУСОЧНО-ЛИНЕЙНОЙ РЕГРЕССИОННОЙ МОДЕЛИ
С.И. Носков, А.Р. Чекалова
В статье исследуется кусочно-линейная регрессионная зависимость, параметры которой идентифицируются с помощью метода наименьших модулей. Он состоит в минимизации суммы абсолютных отклонений фактических и расчетных значений зависимой переменной и сводится к задаче линейно-булева программирования. Сформулирована задача вычисления границ изменения оценок параметров модели, если допустить малое увеличение оптимального значения функции потерь при неизменности суммарной отдачи от независимых факторов. Показано, что для выявления границ соответствующих диапазонов необходимо решить серию задач линейно-булева программирования. Построена двухфакторная кусочно-линейная регрессионная модель выручки ПАО «Северсталь». В качестве независимых переменных выделены производство сортового проката и труб большого диаметра. При этом оказалось, что разница между верхними и нижними границами обоих диапазонов для значений параметров одинакова.
Ключевые слова: кусочно-линейная регрессионная модель, оценки параметров, метод наименьших модулей, диапазоны, функция потерь, сталелитейная компания.
Применение методов регрессионного моделирования сложных объектов не всегда ограничивается только построением их качественных моделей для решения конкретных прикладных задач, а сопровождается анализом поведения соответствующих функций потерь и свойств полученных оценок параметров. Так, в работе [1] изучаются
380