Розробка інтелектуальної системи керування поведінкою об'єктів в Unity
Альтернативна назва
Development of an intelligent system for controlling the behavior of objects in Unity
Вантажиться...
Дата
2025
Автори
Науковий керівник
Укладач
Редактор
Назва журналу
ISSN
E-ISSN
Назва тому
Видавець
Одеський національний університет імені І. І. Мечникова
Анотація
У дипломній роботі представлено розробку інтелектуальної системи керування об’єктами в ігровому середовищі Unity.
Метою роботи є створення гнучкої, масштабованої та оптимізованої системи для реалізації керування ігровими об’єктами, зокрема «супротивників», що взаємодіють із «гравцем» у реальному часі.
В якості архітектурної основи для всього застосунку використано шаблон проєктування Finite State Machine.
Цей патерн застосований як для загального керування логікою станів у грі, так і безпосередньо для реалізації поведінки ігрових об’єктів. Кожен такий об’єкт функціонує в межах чітко визначених станів, що забезпечує модульність, легкість масштабування та простоту тестування.
Зокрема, важливу роль у функціонуванні станів відіграють зовнішні бібліотеки, які були використані в рамках дипломної роботи. Для керування залежностями застосовано Zenject — інструмент для впровадження інверсії залежностей, який дозволяє керувати створенням об’єктів. Для реалізації асинхронних процесів застосовано UniTask
— високопродуктивну бібліотеку для роботи з асинхронністю в Unity.
Також у межах реалізації логіки станів було використано Unity Jobs — систему багатопоточного виконання завдань, що дозволяє виводити обчислення з основного потоку. Це критично важливо при
великій кількості ігрових об’єктів у системі, коли необхідно паралельно розраховувати наступний крок для кожного такого об’єкта.
Основним результатом дипломної роботи можна вважати повнофункціональну систему, яка придатна для використання в ігрових проєктах із заданою кількістю відповідних об’єктів, та яка забезпечує легке розширення їх поведінки без порушення існуючої логіки самої гри.
The thesis presents the development of an intelligent object control system in the Unity game environment. The goal of the work is to create a flexible, scalable and optimized system for implementing control of game objects, in particular "opponents" that interact with the "player" in real time. The Finite State Machine design pattern is used as the architectural basis for the entire application. This pattern is used both for general state logic management in the game, and directly for implementing the behavior of game objects. Each such object operates within clearly defined states, which ensures modularity, ease of scaling, and ease of testing. In particular, external libraries that were used in the thesis play an important role in the functioning of states. Zenject was used to manage dependencies, a tool for implementing dependency inversion, which allows you to control the creation of objects. UniTask was used to implement asynchronous processes, a high- performance library for working with asynchrony in Unity. Also, within the framework of the state logic implementation, Unity Jobs was used - a multi-threaded task execution system that allows calculations to be taken off the main thread. This is critically important when there are a large number of game objects in the system, when it is necessary to calculate the next step for each such object in parallel. The main result of the thesis can be considered a fully functional system that is suitable for use in game projects with a given number of relevant objects, and which provides easy expansion of their behavior without violating the existing logic of the game itself.
The thesis presents the development of an intelligent object control system in the Unity game environment. The goal of the work is to create a flexible, scalable and optimized system for implementing control of game objects, in particular "opponents" that interact with the "player" in real time. The Finite State Machine design pattern is used as the architectural basis for the entire application. This pattern is used both for general state logic management in the game, and directly for implementing the behavior of game objects. Each such object operates within clearly defined states, which ensures modularity, ease of scaling, and ease of testing. In particular, external libraries that were used in the thesis play an important role in the functioning of states. Zenject was used to manage dependencies, a tool for implementing dependency inversion, which allows you to control the creation of objects. UniTask was used to implement asynchronous processes, a high- performance library for working with asynchrony in Unity. Also, within the framework of the state logic implementation, Unity Jobs was used - a multi-threaded task execution system that allows calculations to be taken off the main thread. This is critically important when there are a large number of game objects in the system, when it is necessary to calculate the next step for each such object in parallel. The main result of the thesis can be considered a fully functional system that is suitable for use in game projects with a given number of relevant objects, and which provides easy expansion of their behavior without violating the existing logic of the game itself.
Опис
Ключові слова
126 інформаційні системи та технології, бакалавр, об'єкти в Unity, керування поведінкою, інтелектуальна система, відеоігри, використання Zenject:
Бібліографічний опис
Волощук, І. Е. Розробка інтелектуальної системи керування поведінкою об'єктів в Unity = Development of an intelligent system for controlling the behavior of objects in Unity : кваліфікаційна робота бакалавра / І. Е. Волощук. – Одеса, 2025. – 107 с.