Control Systems and Computers, N3, 2022, Стаття 6

https://doi.org/10.15407/csc.2022.03.063

Bulgakova O.S., Zosimov V.V., Kudriavtsev A.V. Application of Procedural Generation Algorithms in Real-Time Game Strategy Environment Based on the MVC Concept. Control Systems and Computers. 2022. № 3. С. 63-70

УДК 004.94

О.С. Булгакова, кандидат техн. наук, доцент, Київський національний університет України імені Тараса Шевченка, 04116, м. Київ, вул. Богдана Гаврилишина, 24, Україна, ORCID: https://orcid .org/0000-0002-6587-8573, Scopus Author ID 57188687900, sashabulgakova2@gmail.com

В.В.Зосімов, доктор техн. наук, професор, Київський національний університет України імені Тараса Шевченка, 04116, м. Київ, вул. Богдана Гаврилишина, 24, Україна, ORCID: https://orcid .org/ 0000-0003-0824-4168, Scopus Author ID 57188682230, zosimovvv@gmail.com

А.В. Кудрявцев, магістр, GlobalLogic, Протасов Бізнес-Парк, 03038, м. Київ, вул. М. Грінченка, 2/1, Україна, extosis.vt@gmail.com

ЗАСТОСУВАННЯ АЛГОРИТМІВ ПРОЦЕДУРНОЇ ГЕНЕРАЦІЇ В СЕРЕДОВИЩІ ІГРОВОЇ СТРАТЕГІЇ РЕАЛЬНОГО ЧАСУ НА ОСНОВІ КОНЦЕПЦІЇ MVC

Вступ. Алгоритми процедурної генерації є незамінними для створення штучних хмар, гір, морської поверхні. Саме тому при розробці сучасних ігор використовуються алгоритми генерації тривимірних структур. Однак легко помилитися в розумінні та застосуванні процедурної генерації: дуже важливо розуміти, що це не інструмент для подолання всіх проблем. Його можна використовувати для отримання великої кількості цифрового контенту або для додавання елемента випадковості до об’єктів, які довго й важко виготовляти вручну. Програмісту потрібен час, щоб написати та перевірити алгоритми, особливо коли вони взаємодіють з іншими системами. Тому в цій статті розглядається приклад використання методів процедурної генерації в ігровому середовищі, створеному на основі концепції MVC з Unity. Найважливішою особливістю представленого проєкту є його модульність, користувач має можливість змінювати частини проєкту за бажанням з такою ж легкістю, як і розробник. Усі об’єкти рівня гри є незалежними один від одного — додавання нових або видалення наявних не зашкодить проєкту як цілому.

Мета статті. Розглянути основні інструменти, які використовуються для створення процедурно згенерованого ігрового контенту, а також визначити можливості та переваги ігрових рушіїв. На основі процедурних алгоритмів генерації розробити економічну стратегію реального часу з використанням середовища Unity.

Методи. Системний підхід, аналіз.

Результати. Представлено приклад використання процедурних методів генерації в середовищі стратегії реального часу, створеного на основі MVC концепції. Найважливішою особливістю представленого проєкту є його модульність. Усі об’єкти рівня гри є незалежними один від одного. Описано алгоритм візуалізації об’єктів на основі процедурної генерації. Розглянуто проблеми та способи їх розв’язання, що виникли під час створення гри.

Висновки. Результати цього дослідження показують, що використання методів процедурної генерації в ігровому середовищі є достатньо ефективним. Найважливішою особливістю представленого проєкту є його модульність, користувач має можливість змінювати частини проєкту за бажанням з такою ж легкістю, як і розробник. Усі об’єкти рівня гри є незалежними один від одного — додавання нових або видалення наявних не шкодить усьому проєкту як цілому.

Завантажити повний текст в PDF (англійською).

Ключові слова: процедурна генерація, концепція MVC, гра, 3D моделювання, стратегія реального часу, ігрові системи.

  1. ЛІТЕРАТУРА
    1. Bulgakova O.S., Kudriavtsev A.V., Zosimov V.V., Pozdeev V.O. Algorithmic modifications in procedural generation systems. Control Systems and Computers. 2019. Vol. 3, pp. 52-59.
    2. Pereira L., Viana B., Toledo C. Procedural Enemy Generation through Parallel Evolutionary Algorithm. Proceeding of SBGames 2021.
    3. Yannakakis G., Togelius J. Artificial Intelligance and Games. Springer, 2018.
    4. Unity With MVC: How to Level Up Your Game Development. URL: https://www.toptal.com/unity-unity3d/unity-with-mvc-how-to-level-up-your-game-development (дата звернення: 6 вересня 2022).
    5. Unity Scripting Reference. URL: <https://docs.unity3d.com/ScriptReference/> (дата звернення: 10 серпня 2022).
    6. GPU instancing on Geometry Shader. URL: <https://forum.unity.com/threads/gpu-instancing-on-geometry-shader.1106152/> (дата звернення: 22 серпня).
    7. Simple Mesh Combine. URL: <https://unityassets4free.com/simple-mesh-combine/> (дата звернення: 02 серпня 2022).

    Надійшла 30.10.2022