基于Unity开发大型多人在线游戏的客户端-服务器方案比较

Ilnur Radikovich Mukhametkhanov, M. Khafizov, Aleksey Vitalevich Shubin
{"title":"基于Unity开发大型多人在线游戏的客户端-服务器方案比较","authors":"Ilnur Radikovich Mukhametkhanov, M. Khafizov, Aleksey Vitalevich Shubin","doi":"10.26907/1562-5419-2022-25-5-472-488","DOIUrl":null,"url":null,"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. \nThe test results confirm the hypothesis put forth, and we can conclude that the Unity bundle with Golang is more effective for multiplayer video games. \nThe 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.","PeriodicalId":262909,"journal":{"name":"Russian Digital Libraries Journal","volume":"84 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-12-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Comparison of Client-Server Solutions in the Development of Massively Multiplayer Online Games on Unity\",\"authors\":\"Ilnur Radikovich Mukhametkhanov, M. Khafizov, Aleksey Vitalevich Shubin\",\"doi\":\"10.26907/1562-5419-2022-25-5-472-488\",\"DOIUrl\":null,\"url\":null,\"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. \\nThe test results confirm the hypothesis put forth, and we can conclude that the Unity bundle with Golang is more effective for multiplayer video games. \\nThe 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.\",\"PeriodicalId\":262909,\"journal\":{\"name\":\"Russian Digital Libraries Journal\",\"volume\":\"84 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-12-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Russian Digital Libraries Journal\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.26907/1562-5419-2022-25-5-472-488\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Russian Digital Libraries Journal","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.26907/1562-5419-2022-25-5-472-488","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

本文提出了在Unity实时交互应用程序开发系统中创建多人游戏的传统方法的批评,特别是在大量并发用户的情况下。作为一种假设,提出了一种不常见的替代方案,但它解决了前面方法的许多问题。我们比较了在Unity中开发多人在线游戏的两种客户机-服务器解决方案,并描述了两种方法在不同情况下的优势。我们提出了一种使用最新方法的游戏开发架构:使用Golang编写的微服务,而不是使用Mirror库(Unity开发的标准工具包)。我们提供了替代方法的可靠证据,其主要优点是支持现代架构,提供微服务之间的高速通信,支持不同平台上的消息传递测试。测试结果证实了所提出的假设,我们可以得出结论,即带有Golang的Unity捆绑包对于多人电子游戏更有效。本文还介绍了与Unity游戏开发系统捆绑在一起的Golang多线程应用程序调试的基本方法,并提出了一种能够在客户端和服务器之间快速传输数据的技术方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Comparison of Client-Server Solutions in the Development of Massively Multiplayer Online Games on Unity
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信