Реалізація багатокористувацької гри засобами рушія Unreal Engine 5

Ключові слова: мінімізація затримки передавання пакетів, передбачення руху персонажа, локальна симуляція, компенсація затримки мережі, синхронізація ігрових станів гравців

Анотація

Запропоновано новий підхід до реалізації багатокористувацьких ігор, який полягає у використанні засобів Unreal Engine для ефективного передавання даних мережею Інтернет, мінімізації затримки їх передавання та синхронізації станів гравців у спільному ігровому світі. Реалізація гри використовує алгоритми компенсації затримки пакетів, мережевих коливань та втрати пакетів і компенсацію на рівні гри у вигляді схем передбачення позиції. Для проектування кооперативної гри обрано архітектуру listen server, враховуючи дві її ключові переваги – зменшення витрат на підтримку гри внаслідок уникнення потреби оренди ігрових серверів, оскільки самі гравці почергово виступають серверами, та усунення затримки пакетів внаслідок локального розміщення сервера і клієнтів. Для синхронізації ігрових станів використано два механізми: реплікацію з метою постійної підтримки на клієнтах авторитетного стану гри, який відповідає тому, що є на сервері, та RPC (англ. Remote Procedure Calls) для одноразової передачі інформації. Проведено обчислювальний експеримент щодо локального передбачення переміщення персонажа для перевірки якості роботи алгоритмів передбачення. Реалізовано локальну симуляцію для зброї, яка відображає гравцю візуальні ефекти, та фізичну симуляцію для замаскування затримки у мережі. Інтегровано онлайн сервіси від Epic Games для під'єднання до ігрових світів інших гравців мережею Інтернет. Унаслідок тестування встановлено, що реалізована система передбачення руху забезпечила плавність переміщень персонажів і за достатньо великих затримок передавання пакетів даних у мережі (500 мс), і за реально непередбачуваних (1 с). Запропонований підхід має високу точність та ефективність у вирішенні завдань, які виникають у процесі розроблення багатокористувацьких ігор, внаслідок використання повторного відправлення пакетів для уникнення їхньої втрати та локальної симуляції й передбачення для компенсації затримки мережі. Майбутні дослідження полягатимуть в уточненні алгоритму передбачення для забезпечення підтримки плавного ігрового досвіду при використанні складних режимів руху, таких як плавання, скелелазіння, ковзання, рух канатом тощо.

Завантаження

Дані завантаження ще не доступні.

Біографії авторів

Л. М. Журавчак, Національний університет "Львівська політехніка", м. Львів

д-р техн. наук, професор, кафедра програмного забезпечення

В. Р. Сеньків, Національний університет "Львівська політехніка", м. Львів

бакалавр, кафедра програмного забезпечення

Н. Р. Сеньків, Національний університет "Львівська політехніка", м. Львів

бакалавр, кафедра програмного забезпечення

Посилання

Benamer, A. R., Boussetta, K., & Hadj-Alouane, N. B. (2021, December). A genetic algorithm for the placement of latency-sensitive multiplayer game servers in the fog. In 2021 IEEE Global Communications Conference (GLOBECOM) (pp. 1–6). IEEE. https://doi.org/10.1109/GLOBECOM46510.2021.9685952

Duarte, E. P., Pozo, A. T. R., & Beltrani, P. (2020). Smart Reckoning: Reducing the traffic of online multiplayer games using machine learning for movement prediction. Entertainment Computing, 33, 100336. https://doi.org/10.1016/j.entcom.2019.100336

Epic Dev | Home – Epic Online Services. URL: https://dev.epicgames.com/docs/epic-online-services.

Goh, E., Al-Tabbaa, O., & Khan, Z. (2023). Unravelling the complexity of the Video Game Industry: An integrative framework and future research directions. Telematics and Informatics Reports, 12, 100100. https://doi.org/10.1016/j.teler.2023.100100

Grenville Armitage, Mark Claypool, & Philip Branch. (2006, May 18). Networking And Online Games: Understanding And Engineering Multiplayer Internet Games. John Wiley & Sons Inc; 1st Edition, 218 p. URL: https://www.amazon.com/Networking-Online-Games-Understanding-Engineering/dp/0470018577

Halbhuber, D. (2022, November). To Lag or Not to Lag: Understanding and Compensating Latency in Video Games. In Extended Abstracts of the 2022 Annual Symposium on Computer-Human Interaction in Play (pp. 370–373). https://doi.org/10.1145/3505270.3558364

Larsson, E. (2016). Movement prediction algorithms for high latency games: A testing framework for 2 d racing games. URL: https://www.diva-portal.org/smash/record.jsf?pid=diva2%3A952076&dswid=1600

Lee, S. W., & Chang, R. K. (2018, June). Enhancing the experience of multiplayer shooter games via advanced lag compensation. In Proceedings of the 9th ACM Multimedia Systems Conference (pp. 284–293). https://doi.org/10.1145/3204949.3204971

Moll, P., Isak, S., Hellwagner, H., & Burke, J. (2021). A Quadtree-based synchronization protocol for inter-server game state synchronization. Computer Networks, 185, 107723. https://doi.org/10.1016/j.comnet.2020.107723

Motoo, T., Kawasaki, J., Fujihashi, T., Saruwatari, S., & Watanabe, T. (2021). Client-Side network delay compensation for online shooting games. IEEE Access, 9, 125678–125690. https://doi.org/10.1109/access.2021.3111180

Multiplayer network compendium. An Unreal Engine Blog by Cedric Neukirchen. URL: https://cedric-neukirchen.net/docs/category/multiplayer-network-compendium/

Networking overview for unreal engine | unreal engine 5.3 documentation. Epic Developer Community. URL: https://dev.epicgames.com/documentation/en-us/unreal-engine/networking-overview-for-unreal-engine?application_version=5.3

Pantel, L., & Wolf, L. C. (2002, April). On the suitability of dead reckoning schemes for games. In Proceedings of the 1st workshop on Network and system support for games (pp. 79–84). https://doi.org/10.1145/566500.566512

Pantel, L., & Wolf, L. C. (2002, May). On the impact of delay on real-time multiplayer games. In Proceedings of the 12th international workshop on Network and operating systems support for digital audio and video (pp. 23–29). https://doi.org/10.1145/507670.507674

Remote procedure calls in unreal engine | unreal engine 5.3 documentation. Epic Developer Community. URL: https://dev.epicgames.com/documentation/en-us/unreal-engine/remote-procedure-calls-in-unreal-engine?application_version=5.3

Replicate actor properties in unreal engine | unreal engine 5.3 documentation. Epic Developer Community. URL: https://dev.epicgames.com/documentation/en-us/unreal-engine/replicate-actor-properties-in-unreal-engine?application_version=5.3

Understanding networked movement in the character movement component for unreal engine | unreal engine 5.4 documentation. Epic Developer Community. URL: https://dev.epicgames.com/documentation/en-us/unreal-engine/understanding-networked-movement-in-the-character-movement-component-for-unreal-engine

Using network emulation. URL: https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/NetworkDebugging/NetworkEmulation

Walker, T., Gilhuly, B., Sadeghi, A., Delbosc, M., & Smith, S. L. (2023). Predictive dead reckoning for online peer-to-peer games. IEEE Transactions on Games, 1–12. https://doi.org/10.1109/tg.2023.3237943

Wen, S., Li, D., Yuan, J., Huang, J., & Zhou, L. (2023, September). Design and Implementation of a Game Session Plugin based on Unreal Engine. In Proceedings of the 8th International Conference on Cyber Security and Information Engineering (pp. 142–149). https://doi.org/10.1145/3617184.3623451

Wijayasekara, S. K., Sasithong, P., Hsieh, H. Y., Saengudomlert, P., Chae, C. B., & Wuttisittikulkij, L. (2023). Optimization of packet transmission scheduling and node parent selection for 802.15.4 e time slotted channel hopping (TSCH). ICT Express. https://doi.org/10.1016/j.icte.2023.12.002

Yahyavi, A., & Kemme, B. (2013). Peer-to-peer architectures for massively multiplayer online games. ACM Computing Surveys, 46(1), 1–51. https://doi.org/10.1145/2522968.2522977

Опубліковано
2024-05-23
Як цитувати
Журавчак, Л. М., Сеньків, В. Р., & Сеньків, Н. Р. (2024). Реалізація багатокористувацької гри засобами рушія Unreal Engine 5. Scientific Bulletin of UNFU, 34(4), 93-101. https://doi.org/10.36930/40340412
Розділ
Інформаційні технології