Методи машинного навчання для керування поведінкою неігрових персонажів у багатокористувацькій рольовій відеогрі

2023;
: cc. 79 - 92
1
Національний університет «Львівська політехніка»
2
Національний університет "Львівська політехніка", кафедра програмного забезпечення

Розглянуто розроблення системи, що керуватиме неігровими персонажами для бага- токористувацької рольової гри (англ. Role-Playing Game, RPG). У галузі відеоігор, зокрема жанрі RPG, комерційні проєкти рідко застосовують моделі машинного навчання для реалізації поведінки персонажів. Зазвичай використовують примітивні наперед запрограмовані правила або реалізується примітивний скінченний автомат. Такі підходи не дають гравцям відчути, що вони грають із розумними істотами, оскільки різні наперед задані правила стають передбачуваними. Хороший ігровий штучний інтелект повинен створити у гравця враження, ніби він взаємодіє зі справжніми персонажами, які приймають різноманітні, часом непередбачувані, рішення. У статті розглянуто застосування різних моделей машинного навчання для досягнення цієї мети у поєднанні із традиційно використовуваними скінченними автоматами. Поставлене завдання реалізується на прикладі попередньо розробленої відеогри. Здійснено огляд досліджень у галузі ігрового штучного інтелекту, відтак описано систему, яку розробили автори, та її реалізації, що застосовують декілька відібраних і успішно навчених моделей машинного навчання. Для навчання випробувано кілька моделей. Зрештою відібрано модель дерев рішень та нейронної мережі, оскільки вони дали найкращі результати. Описано також навчання цих моделей та наведено огляд результатів. Для цього здійснено випробувальні бої між різними моделями. Результати моделі дерева рішень були трохи кращими, ніж традиційного скінченного автомата, тоді як результати нейромережі набагато кращі. Запропоновані рішення можна розвивати далі, залучаючи складніші моделі та поліпшуючи навчання, щоб створити «розумніших» персонажів, участь яких у грі якісно покращує ігровий процес. Отриману систему інтегровано у відеогру, яка потенційно може стати комерційним продуктом.

  1. Hagelbäck, J., & Johansson, S. J. (2009). A multiagent potential field-based bot for real-time strategy games. International Journal of Computer Games Technology, 2009, 1–10. https://doi.org/10.1155/2009/910819.
  2. Glavin, F. G., & Madden, M. G. (2015). Adaptive shooting for bots in first person shooter games using reinforcement learning. IEEE Transactions on Computational Intelligence and AI in Games, 7(2), 180–192. https://doi.org/10.1109/TCIAIG.2014.2363042.
  3. Karpov, I. V., Schrum, J., & Miikkulainen, R. (2013). Believable bot navigation via playback of human traces. In P. Hingston (Ed.), Believable Bots, 151–170. Springer Berlin Heidelberg. http://dx.doi.org/10.1007/978-3- 642-32323-2_6.
  4. Okun, J. (2016). Evaluating the improvements of starcraft gameplay in the abl agent eisbot by implementing dynamic specificities through an external component. MATEC Web of Conferences, 68, 18001. https://doi.org/10.1051/matecconf/20166818001.
  5. Nicolau, M., Perez-Liebana, D., O’Neill, M., & Brabazon, A. (2017). Evolutionary behavior tree approaches for navigating platform games. IEEE Transactions on Computational Intelligence and AI in Games, 9(3), 227–238. http://dx.doi.org/10.1109/TCIAIG.2016.2543661.
  6. Hagelback, J. (2012). Potential-field based navigation in starcraft. IEEE Conference on Computational In- telligence and Games (CIG), Granada, Spain, 388–393. http://dx.doi.org/10.1109/CIG.2012.6374181.
  7. Perez, D., Nicolau, M., O’Neill, M., & Brabazon, A. (2011). Reactiveness and navigation in computer games: different needs, different approaches. IEEE Conference on Computational Intelligence and Games (CIG'11), Seoul, Korea (South), 273–280. http://dx.doi.org/10.1109/CIG.2011.6032017.
  8. Van Hoorn, N., Togelius, J., Wierstra, D., & Schmidhuber, J. (2009). Robust player imitation using multiobjective evolution. IEEE Congress on Evolutionary Computation, Trondheim, Norway, 652–659. http://dx.doi.org/10.1109/CEC.2009.4983007.
  9. Cerny, V., & Dechterenko, F. (2015). Rogue-like games as a playground for artificial intelligence – evolu- tionary approach. In K. Chorianopoulos, M. Divitini, J. Baalsrud Hauge, L. Jaccheri, R. Malaka (Eds.), Entertainment Computing – ICEC 2015, 261–271. Springer. https://doi.org/10.1007/978-3-319-24589-8_20.
  10. Kempka, M., Wydmuch, M., Runc, G., Toczek, J., & Jaśkowski, W. (2016). ViZDoom: a Doom-based AI research platform for visual reinforcement learning. IEEE Conference on Computational Intelligence and Games (CIG), Santorini, Greece, 1–8. http://dx.doi.org/10.1109/CIG.2016.7860433
  11. OpenJS Foundation (n. d.). Node.js About. https://nodejs.org/en/about/
  12. Photon Storm Ltd. (2021). Phaser 3 API Documentation – Class: Scene. https://photonstorm.github.io/ phaser3-docs/Phaser.Scene.html.