Аннотация:
В работе представлена критика традиционного подхода, используемого для создания многопользовательской игры в системе разработки интерактивных приложений в реальном времени Unity, особенно в случае большого числа одновременных пользователей. В качестве гипотезы предложен альтернативный вариант, не являющийся распространённым, но решающий многие проблемы предыдущего подхода. Проведено сравнение двух клиент-серверных решений при разработке в Unity многопользовательских онлайн-игр, также описаны преимущества обоих подходов для разных случаев. Предложена архитектура разработки игры при помощи более актуального метода: вместо библиотеки Mirror – стандартного инструментария для Unity-разработки – использованы микросервисы, написанные на языке Golang. Приведены весомые доказательства предпочтительности альтернативного подхода, главное преимущество которого – поддержка современной архитектуры, обеспечивающей высокоскоростную связь между микросервисами, что подкреплено тестами при передаче сообщений на разных платформах.
Полученные результаты тестирования подтверждают выдвинутую гипотезу, и можно сделать вывод, что для многопользовательских видеоигр связка Unity вместе с Golang является более эффективной.
Описаны также основные методы отладки многопоточного приложения на Golang в связке с системой разработки игровых приложений Unity и предложен технологический прием, позволяющий получить быстрый способ передачи данных между клиентом и сервером.