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