unity3d 网游服务器端如何选择

unity3d 网游服务器端如何选择,第1张

如果对楼主有帮助,给个采纳好不,谢谢啦

Photon和KBEngineunity3d是最适用Unity3d游戏开发的两个服务器引擎,但它们还是有区别的,只有清楚地了解区别在哪才能正确使用,下面简单描述下两者的共同点和不同点。

语言

对于大部分的程序员语言简直就是宗教信仰。

Photon使用C#开发,当然使用者也是用C#进行各类游戏功能开发。前后端同种语言,这对使用Unity3d游戏开发也有很大的好处。

KBEngine使用C++开发,逻辑开发是用python,也是很不错很快速的。

开源与收费情况

Photon是Exit Games公司的产品,不开源,有好多种收费模式,官网上可以看到。开发阶段可以用免费的license,后期可以看流量用户活跃度来选择付费模式。后续的支持,似乎是免费的,你可以选择邮件或是到论坛发帖求助,当然是E文。

KBEngine是国人开发,开源免费,但从官网上并没有看到商业使用的案例。有中文论坛,你可以在论坛上向开发者求助。

虽然两者的模式不同,但作为一个Unity3d游戏开发者,我们最希望的其实是把游戏引擎当作一个安全稳定的黑箱。

操作系统

之前说了Photon使用C#开发很自然的,配套的工具也是使用C#,比如最重要的PhotonControl。所以开发环境和生产环境最好都是windows。

虽然在跨平台上有mono,在服务器代码部分是系统无关的,但是不管你信不信,我是不信它的一套窗体工具也能运行在Linux下。反正,官网说法是,开发和生产环境都是用windows。

KBEngine建议开发环境选择Windows,生产环境选择linux。毕竟你总不希望开一组服务器打开9个Console窗体,一不小心把哪个点X了吧~

协议

Photon有自己的序列化反序列化方式,你也可以使用protobuf这类的来做应用层传输协议。

KBEngine在这方面表示不支持自定义协议,它帮你选择了有效的方法来处理,如果你习惯了他规定的方式,会喜欢上的。

看法

在功能上,我毫无疑问地更喜欢KBEngine,脚本化和自动持久化是极富魅力的功能。而Photon几乎没做这方面的功能,可能和老外的观念有关系。就目前我对两者功能的理解看来,Photon其实是个和SuperSocket差不多的东西,而SS是作为轻量级服务器框架存在的,Photon却是说自己是Unity3d游戏引擎,除去提供的MMO示例代码(未解读),没看到什么游戏引擎的魅力。

你这样学不对。

我给你说说一般的路线,再给你说为啥以Python做Unity开发不好。

先学Unity的场景编辑器可视化的部分(比如地形和基本物理设置),这部分不涉及太多编程。在学动画调节部分。慢慢的引入编程控制。然后要使用联网游戏,学习网络功能。最后学习shader编程。第一趟学习过程的迭代(以上所有环节),以网上的系列教程或书籍教程为主。然后第二遍,在重新认识场景编辑器,以官方参考手册为主,选择几个常用的插件,这一次应该有实践项目。因为Unity本身也是巨大的体系,所谓Unity专家也只是对某一个方面特别在行,你要有着重点和切入点,这以你的游戏类型和风格为标准(你是做2D/3D,你是重视觉呈现还是玩法,有没有联网功能等)

Unity的脚本运行环境是Mono,是一个开源的.NET框架,你知道.NET的话就应该知道它是和编程语言无关的(都会编译成 CLI 汇编)。Mono绑定了多个语言,官方的是C#,一个第三方开发者绑定了Python也就是Boo,而Unity公司在这个Boo之上绑定了JavaScript也就是UnityScript,但是Boo(基于Mono CLR实现)并不是那个真正的Python(基于C语言实现),它们的运行时完全不同。而且Boo和UnityScript的编译后的 CLI 汇编效率要比 C# 的低。Unity 官方也在一步步的降低对Boo和UnityScript的支持。

但是学Python和做Unity游戏有关系吗?

有,但不是用在Unity本身的开发上,可以用Python-WSGI 编写游戏服务端,并搭建在云服务器上。当然替代的技术有 PHP、Java 等


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/455824.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-02
下一篇2023-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存