Статья опубликована в рамках: Научного журнала «Студенческий» № 21(275)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8, скачать журнал часть 9
СИСТЕМА АДПАТИВНОЙ СЛОЖНОСТИ ДЛЯ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ПРОТИВНИКОВ В ИГРОВОЙ ИНДУСТРИИ
ADAPTIVE DIFFICULTY SYSTEM FOR ARTIFICIAL INTELLIGENCE OPPONENTS IN THE GAMING INDUSTRY
Dmitry Mendelev
student, Department of Information Technology, Sukhoi State Technical University of Gomel,
Belarus, Gomel
Igor Stefanofsky
supervisor, Senior Professor, Sukhoi State Technical University of Gomel,
Belarus, Gomel
АННОТАЦИЯ
В статье рассматривается алгоритм адаптивной сложности для искусственного интеллекта противников на платформе Unity. Рассматриваются возможные сферы и области применения подобных алгоритмов в игровой индустрии. Подмечается важность и один из возможных способов реализация системы адаптивности сложности боев для современных игр. Данный алгоритм является одной из возможных реализаций псевдоискусственного интеллекта в игровой индустрии и может быть использован для создания более правдоподобных сценариев динамического изменения показателей противников. Приведенный в статье алгоритм может быть использован для дальнейшего масштабирования и применения в сфере игровой индустрии.
ABSTRACT
The article discusses an adaptive complexity algorithm for artificial intelligence opponents on the Unity platform. It explores possible spheres and areas of application for such algorithms in the gaming industry. The importance of and one of the possible ways to implement a system of adaptive complexity of battles for modern games is noted. This algorithm is one of the possible implementations of pseudo-artificial intelligence in the gaming industry and can be used to create more realistic scenarios of dynamic changes in enemy indicators. The algorithm presented in the article can be used for further scaling and application in the gaming industry.
Ключевые слова: игровая индустрия, Unity, искусственный интеллект, алгоритм, адаптация, игры, многопользовательские игры.
Keywords: gaming industry, Unity, artificial intelligence, algorithm, adaptive, games, multiplayer games.
В данной статье рассматривается алгоритм для создания адаптивной сложности для ИИ противников в современных играх. Приведена одна из возможных реализация алгоритма, позволяющего динамически подзавивать сложность игровых противников к уровню навыка игрока.
В данном случае, рассматривается алгоритм, регулирующий сложность боя с противником под управление ИИ. Целью алгоритма является регулировка параметров в зависимости от уровня навыка игрока. Такой алгоритм позволит сбалансировать игроков из разной выборки по уровню навыка игры.
Алгоритм можно классифицировать как «случайный лес», в котором каждый из параметров игрока, либо же противника под управление ИИ влияет на конечный результат.
Реализация алгоритма будет рассмотрена на платформе Unity, так как в нем уже имеются готовые алгоритмы поиска пути, сериализации и хранения данных, а также есть удобный визуальный редактор, позволяющий в реальном времени изменять и настраивать параметры алгоритма [2, с. 852].
Для примера реализации алгоритма будут выбраны следящие параметры игрока: количество атак, количество успешных атак, количество заблокированных атак, количество промахов, периодичность использования особых атак. Стоит условиться, что ИИ уже имеет набор параметров, ограничивающий или определяющий периодичность блокирования атаки игрока или использования способности. После события начала боя, алгоритм будет отслеживать и записывать все параметры в ходе боя в отдельные значения.
Как только игрок завершит бой – необходимо рассчитать параметры в зависимости от требований. В приведенном примере расчет процента успешных атак может как отношение разности успешных и пропущенных атак к общему их количеству. К полученному значению необходимо применить некоторую ограничивающую функцию, после чего, скорректировать параметры противника под управлением ИИ на полученное значение. Данные игрока, полуденные в ходе расчётов необходимо сохранить для последующей корректировки параметров в большую или меньшую сторону. Дополнительно, в качестве упрощения, можно хранить не все данные, а только полученные в результате последних n итераций работы алгоритма.
Рисунок 1. Примерная схема работы алгоритма
В результате нескольких итерация работы алгоритма, параметры противников будут изменены в большую или меньшую сторону. Например, периодичность блока атаки противником будет увеличена, если игрок редко промахивается по противнику. Такой подход повысит скорость адаптации ИИ к растущему, либо же нисходящему уровню навыка игрока.
Стоит отметить, что для корректной работы алгоритма необходимо провести несколько итераций и обязательно определить ограничивающую функцию с малым значениями максимальной границы, чтобы параметры противников не устанавливались из результатов одного боя, а постепенно регулировались в зависимости от уровня навыка игрока. Такой подход позволит достичь максимальной эффективности в работе алгоритма.
Необходимо так же определить хранилище данных для параметров игрока. Рекомендуется использовать базу данных или структуру JSON для удобного доступа к данным со стороны разработчика.
Стоит отметить, что каждый параметр алгоритма независим от других, однако, влияет на конечное решение, в той или иной степени. Из приведенного примера можно выделить различные ситуации. Например, игрок не использует особые атаки, но часто блокирует атаки противника. В таком случае, в результате нескольких итераций работы алгоритма, противники не будут уклоняться от особых атак, но будут чаще проводить особые атаки, чтобы избежать блока со стороны игрока. При увеличении количества параметров, комплексность количество возможных принятых решений со стороны ИИ будут только расти, делая модель поведения противников сложнее и реалистичнее.
Такой алгоритм может быть полезен как для одиночных игр, чтобы регулировать сложность игры в зависимости от скорости прохождения и навыка игрока, так и для многопользовательских игр. Вопрос динамической сложности в многопользовательских играх стоит особенно остро, так как невозможно установить фиксированную сложность для отдельных игроков, но такой подход позволяет снизить порог вхождения новых игроков и сбалансировать ложность между опытными игроками и новичками.
Алгоритм легко масштабируется и может быть дополнен множество включаемых параметров в зависимости от требований разработчика. Таким образом можно реализовать более сложную модель поведения искусственного интеллекта в игре без применения более комплексных и сложных в реализации решений [5, с. 42].
Таким образом, данный алгоритм может стать полезным инструментом для разработки как многопользовательских, так и одиночных игр. Помимо этого, использование различных модификаций данного алгоритма возможно при проведении различных симуляций, где во главе стоят используемые ресурсы, а не реалистичная модель поведения, либо же в других сферах деятельности. Связанных с информационными технологиями.
Список литературы:
- Палласиос Х. Unity 5.x. Программирование искусственного интеллекта в играх. – М.: ДМК Пресс, 2017. – 272 c.
- Стёпушкина П.К. Игровые движки для образовательных целей // Вестник науки. – 2024. – C. 851–852.
- Тюкачев Н.А., Хлебостроев В. Г. C# Алгоритмы и структуры данных. – Спб.: Лань, 2023. – 232 с.
- Харрисон Ф. Изучаем C# через разработку игр на Unity. – 5-е изд. – Спб.: Питер,2022. – 400 с.
- Юнусова Л.Р., Магсумова А.Р. Рекурсивный алгоритм // Проблемы науки. – 2020. – C. 42–43.
Оставить комментарий