Comparison of Client-Server Solutions in the Development of Massively Multiplayer Online Games on Unity
Main Article Content
Abstract
This paper presents a critique of the traditional approach used to create a multiplayer game in the Unity real-time interactive application development system, especially in the case of a large number of concurrent users. As a hypothesis, an alternative option, which is not common, but which solves many of the problems of the previous approach, is proposed. Two client-server solutions have been compared for developing multiplayer online games in Unity, and the advantages of both approaches have been described for different cases. A game development architecture using a more up-to-date method is proposed: instead of the Mirror library, a standard toolkit for Unity development, microservices written in Golang are used. We present solid proofs of the preference of the alternative approach, the main advantage of which is the support of modern architecture providing high-speed communication between microservices, supported tests on messaging on different platforms.
The test results confirm the hypothesis put forth, and we can conclude that the Unity bundle with Golang is more effective for multiplayer video games.
The article also contains basic methods for debugging multi-threaded application in Golang bundled with Unity game development system and suggests a technological method that allows to get a fast way of data transfer between the client and the server.
Keywords:
Article Details
References
2. Polančec D., Mekterović I. Developing MOBA games using the Unity game engine // 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO). 2017. P. 1510–1515.
3. Sia B.N.C.H., Koh Z.W., Chung M., Chen Z., Chua S.H., Ganesan D.A.L., Kuah M.Y., Tey K.J., Yeoh W.E. Cryptocoinopoly: A Real Time Online Multiplayer Board Game // 14th International Conference on Advanced Computer Theory and Engineering. 2021. P. 27–31.
4. Yasir R.M., Asad M., Galib A.H., Ganguly K.K., Siddik M.S. Godexpo: an automated god structure detection tool for Golang // Proceedings of the 3rd International Workshop on Refactoring. 2019. P. 47–50.
5. Fernando R. Evaluating Performance of REST vs gRPC. 2019. URL: https://medium.com/@EmperorRXF/evaluating-performance-of-rest-vs-grpc-1b8bdf0b22da (дата обращения: 15.07.2022).
6. Protocol Buffers. 2019. URL: https://developers.google.cn/protocol-buffers/docs/overview (дата обращения: 15.07.2022).
7. Effendy F. Taufik, Adhilaksono B. Performance comparison of web backend and database: A case study of node.js, Golang and MySQL, Mongo DB // Recent Advances in Computer Science and Communications. 2021. Vol. 14. No. 6. P. 1955–1961.
8. Козар Б.А., Кугуракова В.В., Сахибгареева Г.Ф. Структуризация сущностей естественного текста с использованием нейронных сетей для генерации трехмерных сцен // Программные продукты и системы. 2022. No. 3. С. 329–339.
9. Кугуракова В.В., Абрамов В.Д., Костюк Д.И., Шараева Р.А., Газизов Р.Р., Хафизов М.Р. Генерация трехмерных синтетических датасетов // Электронные библиотеки. 2021. Т. 24(4). C. 622–652.
10. Сахибгареева Г.Ф., Кугуракова В.В. Практики балансирования компьютерных игр // Программные системы: теория и приложения. 2022. Т. 13. No. 3. C. 255–273.
This work is licensed under a Creative Commons Attribution 4.0 International License.
Presenting an article for publication in the Russian Digital Libraries Journal (RDLJ), the authors automatically give consent to grant a limited license to use the materials of the Kazan (Volga) Federal University (KFU) (of course, only if the article is accepted for publication). This means that KFU has the right to publish an article in the next issue of the journal (on the website or in printed form), as well as to reprint this article in the archives of RDLJ CDs or to include in a particular information system or database, produced by KFU.
All copyrighted materials are placed in RDLJ with the consent of the authors. In the event that any of the authors have objected to its publication of materials on this site, the material can be removed, subject to notification to the Editor in writing.
Documents published in RDLJ are protected by copyright and all rights are reserved by the authors. Authors independently monitor compliance with their rights to reproduce or translate their papers published in the journal. If the material is published in RDLJ, reprinted with permission by another publisher or translated into another language, a reference to the original publication.
By submitting an article for publication in RDLJ, authors should take into account that the publication on the Internet, on the one hand, provide unique opportunities for access to their content, but on the other hand, are a new form of information exchange in the global information society where authors and publishers is not always provided with protection against unauthorized copying or other use of materials protected by copyright.
RDLJ is copyrighted. When using materials from the log must indicate the URL: index.phtml page = elbib / rus / journal?. Any change, addition or editing of the author's text are not allowed. Copying individual fragments of articles from the journal is allowed for distribute, remix, adapt, and build upon article, even commercially, as long as they credit that article for the original creation.
Request for the right to reproduce or use any of the materials published in RDLJ should be addressed to the Editor-in-Chief A.M. Elizarov at the following address: amelizarov@gmail.com.
The publishers of RDLJ is not responsible for the view, set out in the published opinion articles.
We suggest the authors of articles downloaded from this page, sign it and send it to the journal publisher's address by e-mail scan copyright agreements on the transfer of non-exclusive rights to use the work.