ГЕНЕРАЦІЯ ГРАФІЧНИХ ОБ'ЄКТІВ В ІГРОВОМУ РУШІЇ GODOT ЗА МЕТОДОМ ПАРАЛЕЛЬНИХ ОБЧИСЛЕНЬ
DOI:
https://doi.org/10.28925/2663-4023.2025.27.768Ключові слова:
генерація графічних об'єктів, шумові алгоритми, асинхронна генерація, багатопотоковість, бенчмаркінг, паралельне обчислення, GodotАнотація
У статті представлено дослідження методів генерації графічних об'єктів в ігровому рушії Godot із застосуванням паралельних обчислень. Основна увага приділяється проблемі ефективного використання обчислювальних ресурсів для підвищення продуктивності генерації графічного контенту в динамічних ігрових середовищах.
В ході дослідження було проведено детальний аналіз чотирьох основних категорій алгоритмів генерації графічних об'єктів, що активно застосовуються в екосистемі Godot Engine: алгоритми на основі шуму (Perlin, OpenSimplex), які використовуються для створення природних ландшафтів та текстур; клітинні автомати, що дозволяють моделювати органічні структури; Wave Function Collapse (WFC), який застосовується для генерації структурованих рівнів з правилами з'єднання; та L-системи, що ефективно використовуються для генерації фрактальних структур, зокрема рослинності. Для кожного типу алгоритмів визначено потенціал паралелізації та фактори, що обмежують їх ефективність на багатоядерних системах.
Проблемою, яку виявлено при аналізі, є наявність в алгоритмах генерації значної частки послідовних обчислень, які, згідно з законом Амдала, суттєво обмежують максимально можливе прискорення навіть при збільшенні кількості обчислювальних ядер. Запропоновано математичну модель для оцінки потенційного прискорення в контексті генерації графічних об'єктів, що дозволяє точніше прогнозувати продуктивність різних алгоритмів на багатоядерних системах.
В рамках дослідження розроблено інноваційний підхід до оптимізації, заснований на методі чанкової генерації, при якому графічні об'єкти розбиваються на просторово локалізовані елементи з мінімальними міжелементними залежностями. Ключовою особливістю запропонованого підходу є асинхронна генерація чанків та локалізація обчислень координат, що дозволяє суттєво знизити частку послідовних операцій і, як наслідок, значно підвищити потенційне прискорення відповідно до закону Амдала.
Для об'єктивної оцінки ефективності розробленого методу проведено серію експериментів, що включали бенчмаркінг на різних типах графічних об'єктів з використанням вбудованого інструментарію Godot Engine. Методологія вимірювань базувалася на декомпозиції алгоритму на логічні фази та аналізі зміни часу виконання при поступовому збільшенні кількості потоків. Результати експериментів продемонстрували значне зменшення частки послідовних обчислень для всіх типів графічних об'єктів при застосуванні чанкового підходу, що підтверджує ефективність запропонованого методу.
Результати дослідження мають практичне значення для оптимізації розробки ігор на базі Godot Engine та можуть бути адаптовані для інших систем візуалізації з подібною архітектурою
Завантаження
Посилання
Gregg, C., & Hazelwood, K. (2011). Where is the data? Why you cannot debate CPU vs. GPU performance without the answer. Software (ISPASS). https://doi.org/10.1109/ispass.2011.5762730
Owens, J. D., et al. (2008). GPU Computing. IEEE, 96(5), 879–899. https://doi.org/10.1109/jproc.2008.917757
Nickolls, J., & Dally, W. J. (2010). The GPU Computing Era. IEEE Micro, 30(2), 56–69. https://doi.org/10.1109/mm.2010.41
Volkov, V., & Demmel, J. W. (2008). Benchmarking GPUs to tune dense linear algebra. 2008 SC. International Conference for High Performance Computing, Networking, Storage and Analysis, Austin, TX. https://doi.org/10.1109/sc.2008.5214359
Hendrikx, M., et al. (2013). Procedural content generation for games. ACM Transactions on Multimedia Computing, Communications, and Applications, 9(1), 1–22. http://dx.doi.org/10.1145/2422956.2422957
Shaker, N., Togelius, J., & Nelson, M. J. (2016). Procedural Content Generation in Games. Cham: Springer International Publishing. http://dx.doi.org/10.1007/978-3-319-42716-4
Togelius, J., et al. (2011). Search-Based Procedural Content Generation: A Taxonomy and Survey. IEEE Transactions on Computational Intelligence and AI in Games, 3(3), 172–186. http://dx.doi.org/10.1109/tciaig.2011.2148116
Summerville, A., et al. (2018). Procedural Content Generation via Machine Learning (PCGML). IEEE Transactions on Games, 10(3), 257–270. http://dx.doi.org/10.1109/tg.2018.2846639
Karth, I., & Smith, A. M. (2017). WaveFunctionCollapse is Constraint Solving in the Wild. Proceedings of the 12th International Conference on the Foundations of Digital Games. http://dx.doi.org/10.1145/3102071.3110566
Linden, R., Lopes, R., & Bidarra, R. (2021). Designing Procedurally Generated Levels. AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, 9. http://dx.doi.org/10.1609/aiide.v9i3.12592
Sorenson, N., & Pasquier, P. (2010). Towards a Generic Framework for Automated Video Game Level Creation. Applications of Evolutionary Computation, 131–140. https://doi.org/10.1007/978-3-642-12239-2_14
Shaker, N., et al. (2016). Constructive generation methods for dungeons and levels. Procedural Content Generation in Games, 31–55. https://doi.org/10.1007/978-3-319-42716-4_3
Liapis, A., Yannakakis, G. N., & Togelius, J. (2015). Constrained Novelty Search: A Study on Game Content Generation. Evolutionary Computation, 23(1), 101–129. https://doi.org/10.1162/evco_a_00123
Shaker, N., Togelius, J., & Yannakakis, G. N. (2016). The experience-driven perspective. Procedural Content Generation in Games, 181–194. https://doi.org/10.1007/978-3-319-42716-4_10
Shaker, N., Smith, G., & Yannakakis, G. N. (2016). Evaluating content generators. Procedural Content Generation in Games, 215–224. https://doi.org/10.1007/978-3-319-42716-4_12
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2025 Ігор Товсточуб, Ольга Зінченко

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.