Практики балансирования компьютерных игр
Автор: Сахибгареева Гульнара Фаритовна, Кугуракова Влада Владимировна
Журнал: Программные системы: теория и приложения @programmnye-sistemy
Рубрика: Искусственный интеллект, интеллектуальные системы, нейронные сети
Статья в выпуске: 3 (54) т.13, 2022 года.
Бесплатный доступ
Предметом исследования является сфера разработки игровых и интерактивных проектов. В частности, разработка системы игрового баланса для них. В ходе изучения данной темы учтены актуальные тренды, сформированные как в научной, так и в коммерческой сферах. Итоговые выводы и видение дальнейшей проектной работы сформированы благодаря методам моделирования и эксперимента. Результаты работы - два инструмента для создания и автоматического редактирования игрового баланса. Они являются частью плана разработки игрового инструмента для прототипирования компьютерных игр, сокращающего время и ресурсы на разработку за счет автоматического создания контента.
Игровой баланс, компьютерные игры, экономическая симуляция, игровой дизайн, инструменты разработки
Короткий адрес: https://sciup.org/143179405
IDR: 143179405 | DOI: 10.25209/2079-3316-2022-13-3-255-273
Текст научной статьи Практики балансирования компьютерных игр
На основании анализа известных определений игрового баланса можно прийти к выводу, что в широком смысле под ним подразумевается баланс в значении гармоничности, целостности и логичности игрового процесса, в том числе с учетом игрового повествования, дизайна уровней, аудиосопровождения и даже дизайна пользовательского интерфейса [1]. Коротко — это баланс дизайнерских решений. В узком же смысле игровой баланс — это то, чему чаще всего обучают игровых дизайнеров с прикладной точки зрения, это математический баланс всех функций и переменных, т. е. экономической системы компьютерной игры (см., например, сайт Game Balance Concept или сайт с обучающими курсами для разработчиков игр education/online-course/mathematics-in-game-design)).
Приведение игрового проекта в баланс является одной из актуальных и нетривиальных задач, которая стоит на стыке дизайна и математики. Ежегодно в этой области появляется все больше работ, упоминающих прямую зависимость математических функций, регулирующих игру, с контекстом, создаваемым благодаря компьютерной графике, музыке, игровому сценарию и доступным игровым механика м1 [2 , 3] . Тонкая контекстуальная настройка игрового процесса на целевую аудиторию — это субъективная оценка, отражающая суть авторского замысла и его зависимости от игроков [4 , 5] .
Для решения задач математического баланса применяются методы комбинаторики, теории вероятностей, математической статистики и теория игр. [1 , 6 –8] .
Оценить и прочувствовать игровой баланс помогают, в свою очередь, опытность и критический взгляд на дизайн концепции — подобный тезис указан, например, в серии обучающих статей на сайте Sirlin on game design .
Настоящая работа посвящена анализу эффективности авторских инструментов и подходов для работы над игровым балансом игр. Для этого предпринята попытка создания двух инструментов для работы с математическим балансом.
Основной результат заключается в разработке и оценке эффективности двух инструментов, раскрывающих проблематику работы над игровым балансом.
С нашей точки зрения, проведенное исследование интересно в рамках более объемной разработки авторов, касающейся автоматизации в сфере разработки игр. Короткое название сазданного инструмента – генератор игровых прототипов на основе текста на естественном языке. Функционал этого инструмента заключается в извлечении информации из текстовой документации и дальнейшей генерации различных артефактов разработки.
В первом разделе представлена симуляция, которая выводит статистические данные для оценки сбалансированности текущей системы. Во втором разделе описана модификация онлайн-инструмента Machinatio n2, доказывающая эффективность использования подходов этого инструмента, которая в разы сокращает работу над математическим балансом. В третьем разделе приведена краткая информация о генераторе игровых прототипов и описано видение того, как в общую картину встраивается функционал для работы с игровым балансом. В заключении представлены выводы и планы дальнейшего развития.
Симуляция игровой экономики
Для того, чтобы представить, как выглядит работа над экономической системой, рассмотрим студенческу ю3 реализацию симуляции MMORP G4 с упором на торговые отношения между персонажами. Для оценки сбалансированности системы здесь введена функция отображения текущих значений ряда параметров.
По существу симуляция представляет собой модель взаимодействия агентов в рамках товарообмена.
Реализацией является проект в игровом движке Unit y5 с применением информационно-ориентированного стека технологий DOT S6 для высокопроизводительных многопоточных вычислений.
Базовым в направлении игрового балансирования является тезис о том, что игра — это упрощенная модель реальности. Для создания достоверной экономической системы используются следующие элементы: ресурсы, хранилища, источники/стоки, конвертеры и торговцы [9] .
Замкнутость игровой экономики зависит от того добывают ли ресурсы NP C7 или персонажи или товары появляются без причины, из надобности для игрового процесса. Важно и то, преобразовывают ли ресурсы, или же они исчезают без учета смыслового контекста. Допущения приводят к возрастанию степени нереалистичности игры. Игровые дизайнеры могут умышленно регулировать реалистичность и замкнутость в зависимости от идеи концепции.
Специфическим ресурсом в экономике является валюта, которая позволяет отказаться от бартера в пользу отложенной покупки какого-либо товара по требованию и при наличии. Также валюта определяет относительную ценность того или иного ресурса в унифицированной величине.
Для объектов, из которых состоит система, были выбраны следующие именования: юниты и здания.
Юниты — это агенты, т. е. персонажи, которые моделируют поведение людей. Их главное стремление — восполнять чувство сытости. Юнит характеризуется значениями следующих параметров: скорость передвижения и метаболизма, специализация, сытость и статус голода. Приоритет в поведении юнита по убыванию: искать еду, если голоден; работать, если устроен на работу и идет смена; находиться дома.
Здания — это место, где юниты работают и совершают различные действия: создают, преобразуют, покупают и продают товары за счет рабочей силы. За работу здание выплачивает юнитам зарплату. Сеть зданий поддерживает систему переработки и циркуляции товаров.
В конце концов благодаря им распространяется еда, которую покупают юниты.
Здания разделены на типы: торговая точка, производственная точка, добывающая точка. У каждого здания есть вакансии, которые определяют рабочего юнита, график работы, задачи и объем зарплаты. У каждых юнита и здания есть хранилище ресурсов.
Экономическая система, реализованная в рамках данной формализации, замкнута: все ресурсы появляются, перемещаются, преобразуются и уничтожаются по правилам внутриигрового мира, т. е. операции обоснованы и связаны между собой.
Во время работы программа показывает значение ряда переменных, которые образуют статистику проекта (рисунок 1) . Например, это такие данные, как среднее значение сытости юнита, объема производства зданий одного типа, добычи каких-либо ресурсов.

Рисунок 1. Симуляция на 1000 юнитов
В качестве эксперимента нами были сгенерированы экономические системы с одними и теми же типами зданий и пропорциональным количеством юнитов и зданий. Эффективность разработанного алгоритма иллюстрирует факт того, что при наличии одиннадцати зданий каждого типа симуляция поведения ста тысяч юнитов происходила с частотой в 45 кадров в секунду.
Приложение имеет следующий функционал: создание и запуск симуляции, просмотр и настройка статистики для оценки сбалансированности и производительности.
Приложение, а также полученная в нем экономическая система могут быть интегрированы в игру жанра MMORPG. Функционал приложения может быть улучшен и расширен за счет добавления большего количества методов оптимизации, настраиваемых параметров и интеграции спроектированной системы заданий.
Автоматическое балансирование
Реализация экономической системы, представленной выше, осуществляется за счет программирования, а оценка сбалансированности и корректирование значений переменных достигается с помощью многократного тестирования.
Однако тестирование занимает много времени. В противовес ручному тестированию распространены алгоритмы автоматического тестирования, в том числе с применением методов машинного обучения [10 –13] .
В следующем пример е8 инструмента для реализации функции автоматического балансирования настроена связь с онлайн-инстру-ментом Machination. Сделано это было для того, чтобы опустить реализацию функций визуализации динамического игрового баланса и запуска симуляции экономической системы.
Machinations — это визуальный онлайн-редактор динамического математического баланса игры. Инструмент позволяет моделировать и симулировать экономику игрового проекта благодаря динамическим диаграммам, которые показывают изменения системы в режиме реального времени.
Для эксперимента в Machination создана диаграмма баланса механики кровотечения из настольной игры Dungeons and Dragons .
Механика состоит из урона от кровотечения, шанса ослабления или остановки кровотечения, урона от атак противника и шанса того, что атака противника попадет по игроку.
Сбалансированность механики оценивается по тому, сколько ходов сможет выстоять игрок, если он получает дополнительный урон из-за кровотечения. Система балансирует параметры относительно того, какое количество ходов игровой разработчик посчитает необходимым.
Рассмотрим работу компонента, непосредственно отвечающего за то, чтобы передавать информацию, сколько урона получает игрок от кровотечения (рисунок 2) .

Рисунок 2. Диаграмма баланса механики кровотечения
Пул «medicine roll» проверяет медицинские навыки персонажа с кровотечением. Если проверка покажет наличие таких навыков, то кровотечение уменьшится. В противном случае, кровотечение усилится. Пул «bleed dice count» отвечает за то, сколько конкретно крови потеряет игрок.
Итоговая диаграмма содержит в себе также компоненты, которые вычисляют значения атаки и урона (рисунок 3) .

Рисунок 3. Итоговая диаграмма механики кровотечения
Конкретные численные переменные, использованные в эксперименте, следующие: уровень здоровья игрока — 44, ожидаемая продолжительность боя— 6-10 ходов.
В результате автоматического балансирования приложение вывело оптимальные значения остальных параметров: уровень кровотечения — 2, количество граней кости урона — 12.
Для подтверждения оптимальности сгенерированных значений проведена проверка. Например, в описанном выше эксперименте в результате 40 запусков диаграммы баланса средняя длительность боев составила семь. Эксперимент показал, что автоматический баланс значительно сокращает время на разработку: генерация и проверка полученных параметров заняла чуть больше трех часов. Ручная же работа может затянуться на дни и недели.
Интеграция в генератор игровых прототипов
Реализованные инструменты для работы с игровым балансом являются частью исследования в области разработки программного обеспечения для игровых дизайнеров и сценаристов, а именно, генератора игровых прототипов на основе текстовых документов, написанных на естественном языке.
Инструмент для реализации игрового баланса показал, каким образом создается игровая экономика на примере MMORPG-симулятора. Его логичным развитием станет составление перечня параметров, являющихся общими для игр схожего жанра.
Инструмент для автоматического балансирования является эволюционным развитием предыдущего и позволяет не только отслеживать состояние системы в каждый момент времени, но и автоматически изменять значения до необходимых пользователю. В перспективе алгоритм может быть расширен для решения задачи игрового баланса, который адаптируется под конкретного игрока [14 , 15] .
Генератор игровых прототипов [16] — это планируемый результат обширного исследования, целью которого является разработка инструмента для игровых разработчиков и сценаристов, который призван ускорить этап прототипирования. Схема генератора отображена в виде взаимосвязи нескольких модулей (рисунок 4) .
UI Генерация сценарного прототипа

Рисунок 4. Схема инструмента генерации сценарного прототипа
Кратко опишем, каким образом складывается последовательность шагов обработки в генераторе: комплект текстовых документов анализируется; полученная статистическая и функциональная информация визуализируется для удобства пользователя; из полученных данных строится структура проекта; по структуре собирается схема, подбираются трехмерные модели, генерируются события, а также диаграмма баланса.
Для генерации визуализации игровых механик и баланса необходима избыточная информация. Кроме этого могут быть использованы методы машинного обучения [17, 18] . Для этого необходимо разметить достаточный для обучения объем материалов, основываясь на котором, можно сделать однозначный вывод о характере генерации.
Попытки использования нейросетей в рамках инструмента были предприняты нами в работе с компьютерной графикой: на основе размеченных данных и текста на естественном языке были сгенерированы вариации трехмерной сцены, соответствующие текстовому описанию [19] .
Однако наибольшей проблемой является составление корпуса размеченных документов, по которым программа могла бы генерировать игровые проекты надлежащего качества. Для создания больших массивов данных по требованию уместно применение технологий синтетических данных. Так, совместно с одним из авторов статьи был задокументирован подход к генерации трехмерных синтетических данных для обучения алгоритмов анализа видео с камер наблюдения [20] .
Наибольшую сложность составляет работа над игровым балансом в контексте повествования. В данном направлении также планируется развитие концепции, которая учитывает тот факт, что изменение математических параметров зависит от того, какие события происходят по сюжету с персонажем игрока. В одной из рабо т9 были предприняты попытки автоматической генерации игровых механик в соответствии с нарративом, которые позволят продвинуть решение данной проблемы в будущем.
На основе полученных результатов запланированы следующие этапы работы по развитию функционала, связанного с балансированием игрового прототипа:
-
• разметка технических документов, описывающих игровой проект, его сценарий, визуализацию и т. д.;
-
• генерация технических документов с применением технологии синтетических данных;
-
• обучение нейросети генерации запроса для генерации динамической диаграммы игрового баланса для Machination.
Полученный результат может нуждаться в корректировке.
Функции генерации и воспроизведения динамической диаграммы повторяют возможности инструмента Machination. Чтобы ускорить работу по данному направлению и не дублировать уже существующие возможности, логично настроить стабильную связь с Machination через AP I10 . Это означает, что часть возможностей будет доступна во внешнем редакторе.
Концепция итогового приложения с точки зрения работы над игровым балансом имеет следующие функции:
-
• прием текстовых документов;
-
• анализ текста, извлечение данных для построения диаграммы баланса;
-
• формирования и отправка запроса в Machination;
-
• запуск страницы с сгенерированной Machination диаграммой в браузере;
-
• редактирование диаграммы в Machination;
-
• экспорт экономической системы в игровой движо к11 , например, Unity.
Доступ к функциям Machination сократит время на разработку итогового инструмента.
Заключение
Определения игрового баланса касаются целого спектра задач игровой разработки. В рамках данной статьи предложено разделить широкое понимание данного термина как исключительно дизайнерского взгляда на игру и узкое понимание как математической модели внутриигровой экономики.
Инструмент автоматического создания игровых прототипов требует функции балансирования игровой экономики. Серия работ [16, 21 –23] , раскрывающих полный спектр зависимостей технической документации и реализации, а также пытающихся наладить прочную связь между этими артефактами разработки, посвящена разработке авторского инструмента генерации игровых прототипов из текста на естественном языке. Соответственно, работа над игровым балансом должна осуществляеться на основе результата, полученного текстовым анализатором.
Амбициозность идеи о том, что игровые прототипы можно генерировать из текстовой документации, уравновешивается практическими результатами, полученными в области генерации трехмерной графики: уже сейчас автоматически можно настраивать камеру [24] , расставлять предметы в пространстве [24] , собирать сцены [19] . Кроме того, были предприняты попытки работы над разветвленной структурой сценария [25, 26] и визуализацией информации, полученной с помощью анализа текста [27] .
Выше описаны разработанные авторами инструменты, обеспечивающие работу над игровым балансом на двух этапах: разработка экономической системы и ее автоматическое балансирование.
По результатам анализа собраны и задокументированы требования к компоненту игрового баланса инструмента генерации игровых прототипов. Идеи, возникшие в результате анализа описанных инструментов для работы с игровым балансом, будут интегрированы в конвейер разрабатываемого генератора.
Список литературы Практики балансирования компьютерных игр
- Rouse R. Game Design: Theory and Practice, Wordware Game Developer’s Library, 2nd ed.– Jones & Bartlett Learning.– 2004.– ISBN 978-1556229121.– 704 pp.
- Pfau J., Liapis A., Yannakakis G. N., Malaka R. Dungeons & replicants II: Automated game balancing across multiple difficulty dimensions via deep player behavior modeling // IEEE Transactions on Games.– 2022 (Early Access). https://doi.org/10.1109/TG.2022.3167728
- Dworak W., Filgueiras E., Valente J. Automatic emotional balancing in game design: Use of emotional response to increase player immersion, HCII 2020: Design, User Experience, and Usability. Design for Contemporary Interactive Environments (July 19–24, 2020, Copenhagen, Denmark), Lecture Notes in Computer Science.– vol. 12201, Cham: Springer.– 2020.– ISBN 978-3-030-49760-6.– pp. 426–438. https://doi.org/10.1007/978-3-030-49760-6_30
- Sylvester T. Designing games: A guide to engineering experiences, 1st ed..– Sebastopol: O’Reilly Media.– 2013.– ISBN 978-1449337933.– 413 pp.
- Schell J. The Art of Game Design: A Book of Lenses.– Boca Raton: A K Peters/CRC Press.– 2015.– ISBN 9781466598645.– 600 pp.
- Wang W., Zhang R. Improved game units balancing in game design through combinatorial optimization, 2021 IEEE International Conference on e-Business Engineering (ICEBE) (12–14 November 2021, Guangzhou, China).– 2021.– pp. 64–69. https://doi.org/10.1109/ICEBE52470.2021.00022
- Novak J. Game Development Essentials: An Introduction, 3rd ed.– Melbourne: Cengage Learning.– 2011.– ISBN 978-1111307653.– 510 pp.
- Rollings A., Adams E. Andrew Rollings and Ernest Adams on Game Design, 1st ed.– Indianapolis: New Riders Publishing.– 2003.– ISBN 978-1592730018.– 400 pp.
- Hill G. C. E. Rethinking Economy–Building Video Games: How might designers inspire new economic models through video game mechanics? Submitted to OCAD University in partial fulfillment of the requirements for the degree of Master of Design in Strategic Foresight and Innovation.– Toronto: OCAD University.– 2021.– 79 pp. hUtRtpL://openresearch.ocadu.ca/id/eprint/3557/1/Hill_Geoffrey_2021_MDes_SFI_MRP.pdf
- Radomski S., Neubacher T. Formal verification of selected gamelogic specifications // Proceedings of the 2nd EICS Workshop on Engineering Interactive Computer Systems with SCXML (June 23, 2015, Duisburg, Germany).– 2015.– pp. 30–34. https://doi.org/10.13140/RG.2.1.2873.0089 % UhtRtpLs://core.ac.uk/download/pdf/76650401.pdf#page=30
- Varvaressos S., Lavoie K., Gaboury S., Halle S. Automated bug finding in video games: A case study for runtime monitoring // Computers in Entertainment.– 2017.– Vol. 15.– No. 1.– 1.– 10 pp. https://doi.org/10.1145/2700529
- Pfau J., Smeddinck J. D., Malaka R. Automated game testing with ICARUS: Intelligent completion of adventure riddles via unsupervised solving // CHI PLAY’17 Extended Abstracts: Extended Abstracts Publication of the Annual Symposium on Computer-Human Interaction in Play (15–18 October 2017, Amsterdam, The Netherlands), New York: ACM.– 2017.– ISBN 978-1-4503-5111-9.– pp. 153–164. https://doi.org/10.1145/3130859.3131439
- Holmgard C., Green M. C., Liapis A., Togelius J. Automated playtesting with procedural personas through MCTS with evolved heuristics // IEEE Transactions on Games.– 2019.– Vol. 11.– No. 4.– pp. 352–362. https://doi.org/10.1109/TG.2018.2808198
- Andrade G., Ramalho G., Gomes A. S., Corruble V. Dynamic game balancing: An evaluation of user satisfaction, Second Artificial Intelligence and Interactive Digital Entertainment Conference // Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment.– 2006.– Vol. 2.– No. 1.– pp. 3–8. hUtRtpLs://ojs.aaai.org/index.php/AIIDE/article/view/18739
- Tijs T. J. V., Brokken D., IJsselsteijn W.A. Dynamic game balancing by recognizing affect, Fun and Games 2008: Fun and Games, Lecture Notes in Computer Science.– vol. 5294, Berlin–Heidelberg: Springer.– 2008.– ISBN 978-3-540-88321-0.– pp. 89–93. https://doi.org/10.1007/978-3-540-88322-7_9
- Сахибгареева Г. Ф., Кугуракова В. В. Концепт инструмента автоматического создания сценарного прототипа компьютерной игры // Электронные библиотеки.– 2018.– Т. 21.– №3–4.– с. 235—249. [РИНЦ]
- Li Z., Wang X., Yang W., Wu J., Zhang Z., Liu Z., Sun M., Zhang H., Liu S. A unified understanding of deep NLP models for text classification // IEEE Transactions on Visualization and Computer Graphics.– 2022 (Early Access).– 14 pp. https://doi.org/10.1109/TVCG.2022.3184186
- Packowski S., Switzer W. Extracting meaning from text and creating a custom language model to optimize NLP results: NLP hands-on workshop series // CASCON ’19: Proceedings of the 29th Annual International Conference on Computer Science and Software Engineering (4–6 November 2019, Toronto, Ontario, Canada), Riverton: IBM Corp.– 2019.– pp. 382–383.
- Козар Б. А., Кугуракова В. В., Сахибгареева Г. Ф. Модификация подходов нейронных сетей со структуризацией сущностей для генерации трехмерных локаций на основе обработки текста // Программные продукты и системы.– 2022.– №3 (в печати).
- Кугуракова В. В., Абрамов В. Д., Костюк Д.И., Шараева Р. А., Газизов Р.Р., Хафизов М.Р. Генерация трехмерных синтетических датасетов // Электронные библиотеки.– 2021.– Т. 24.– №4.– с. 622–652. [РИНЦ] https://doi.org/10.26907/1562-5419-2021-24-4-622-652
- Сахибгареева Г. Ф., Бедрин О. А., Кугуракова В.В. Разработка компонента генерации визуализации сценарного прототипа видеоигр // Научный сервис в сети Интернет: труды XXII Всероссийской научной конференции (21–25 сентября 2020 г., онлайн), М.:ИПМим. М. В. Келдыша.– 2020.– ISBN 978-5-98354-058-3.– с. 581–603. https://doi.org/10.20948/abrau-2020-4
- Сахибгареева Г. Ф., Бедрин О. А., Кугуракова В. В. Раскадровка как одно из представлений сценарного прототипа компьютерных игр // Электронные библиотеки.– 2021.– Т. 24.– №2.– с. 408–444. [РИНЦ] https://doi.org/10.26907/1562-5419-2021-24-2-407-442
- Sahibgareeva G. F., Bedrin О. А., Kugurakova V. V. Visualization component for the scenario prototype generator as a video game development tool // Proceedings of the 22nd Conference on Scientific Services & Internet, CEUR Workshop Proceedings.– vol. 2784.– 2020.– pp. 267–282. hUtRtpL://ceur-ws.org/Vol-2784/rpaper22.pdf
- Кугуракова В. В., Сахибгареева Г. Ф., Нгуен А. З., Астафьев А. М. Пространственная ориентация объектов на основе обработки текстов на естественном языке для генерации раскадровок // Электронные библиотеки.– 2020.– Т. 23.– с. 1213–1238. [РИНЦ] https://doi.org/10.26907/1562-5419-2020-23-6-1213-1238
- Сахибгареева Г. Ф., Кугуракова В. В. Прототипирование вариативности сюжета компьютерных игр // Научный сервис в сети Интернет: труды XXIII Всероссийской научной конференции (20–23 сентября 2021 г., онлайн), М.: ИПМ им. М. В. Келдыша.– 2021.– ISBN 978-5-98354-062-0.– с. 347–360. https://doi.org/10.20948/abrau-2021-11
- Sahibgareeva G. F., Kugurakova V. V. Branched structure component for a video game scenario prototype generator // Proceedings of the 23nd Conference on Scientific Services & Internet, CEUR Workshop Proceedings.– vol. 3066.– 2021.– pp. 101–111. hUtRtpL://ceur-ws.org/Vol-3066/paper10.pdf
- Доброквашина А. С., Газизова Э. А. Автоматизация проектирования игрового прототипа на основании обработки формализованного игрового дизайн–документа // Ученые записки ИСГЗ.– 2019.– №1(17).– с. 583–589. hUtRtpLs://isgz.ru/images/ISGZ/UchZapiski/Arhiv/uz-1-19