王者荣耀编程语言有哪些
王者荣耀使用什么编程语言开发的?
谢谢悟空小秘书邀请!
王者荣耀的客户端是用c#开发、核心后端服务是用c++开发的。
曾经传出了腾讯为王者荣耀团队发出了最低100个月最高120个月的年终奖,不得不说这款游戏是腾讯的超级现金牛,赚得是盆满钵满。
微软的核心技术栈是C/C++/C#,微软的Windows系统主要是C语言写底层,应用层软件用了不少C#,大名鼎鼎的office早期是C语言写的,后来微软用C++完成了对Office的重写。微软还有自己的Unix系统,并且可以肯定的是,微软肯定到现在都还有服务器跑Unix系统。
Google的核心技术栈是C/C++/Python/Go等编成语言,尤其是C/C++在Google技术体系中占据着非常重要的地位。在Google的程序员中,大部分都用macOS、以及Google定制版的Ubuntu系统。
Facebook的核心技术栈是C++/PHP,并且用了很大比例的Erlang,Facebook收购的Whatsapp基本上全是用Erlang完成的,WhatsAPP的服务器还是用的FreeBSD,当然这主要是因为创始人的Yahoo时的良好FreeBSD背景。
到了国内,百度的核心技术栈是C/C++/PHP,腾讯是C++,java则是阿里巴巴的核心技术栈。
王者荣耀的前台客户端是用C#开发的,当然准确地说是Unity3D开发的,目前Unity3D是最著名的游戏引擎之一,相比于虚幻引擎来说在移动端应用广泛,而C#就是Unity3D的主要脚本语言。
下载王者荣耀的apk文件解压,从那些dll文件就可以看出,王者荣耀客户端背后肯定是Unity3D是主要技术栈。不是说iOS和Android,就一定是swift和Java开发,在游戏领域因为特殊性,有专门的解决方案。
至于王者荣耀的后端服务,基本上就是C++,C++到现在都是腾讯公司的核心技术栈,并且游戏领域,JAVA/PHP这些编程语言难度是很大的。
这个在王者荣耀团队的相关文章中有明确提到,客户端,也就是手机上的的APP是用的Unity3D游戏引擎。具体的开发语言以C#为主。
Unity3D是个游戏引擎,是由微软开发的收费软件。这个引擎毫无疑问是用的C/C++。但是作为游戏开发者,比如腾讯或天美,他们要做的就是利用这个开发工具而不需要再使用C/C++。具体说来,游戏中的人物,场景,特效等是用的诸如Photoshop,3d***ax等软件建立2D/3D模型。而具体的游戏逻辑是使用C#来编写脚本。
有些人会说,安卓不是都用J***A写的吗?C#写的游戏怎么可能运行在安卓上面?
Unity3D游戏引擎,就像是个播放器(player),可以运行在Windows,安卓,iOS,浏览器。我们用C#写游戏脚本,就好像使用视频制作软件做个***,只要有播放器,它就能播,而不用管是什么操作系统。
说到这里,或许早些年玩过flash的人会豁然开朗。flash可以做动画,可以不需要编程,如果是flash游戏(比如QQ农场偷菜),用的语言叫actionscript,也是个脚本。flash同样是跨平台的。只不过后来乔布斯宣布苹果不再支持flash后,就没有人用了。
Unity就好比是flash,而C#脚本就好比是ActionScript脚本。
上面谈的主要都是手机端的APP,说了是以C#为主,可能在核心地方会用到极少量C语言(native代码)。而在服务器端,则会复杂一些,五花八门,什么都有。核心游戏逻辑(比如登录,玩家匹配,游戏同步)肯定是用的C++,其他部分或许有J***A(活动介绍,英雄介绍)。王者荣耀后台大约有4600台服务器,其中的调度,负载均衡,同步还是比较麻烦的。
首先客户端使用的引擎是unity,可以热更新,应该部分使用了lua,c#不可避免是有的,他们技术总监在一次技术分享时提到了gamecore,应该也有部分c/c++来提升关键性能。lua应该没有用腾讯刚支持xlua,估计是ulua
只要是游戏,那基本都是C/C++开发的,只不过有一些现成的游戏引擎比如unity3D让你方便开发,那些引擎本身也是C++开发的,相当于语言的框架,unity3D支持C#与JS做脚本,游戏大部分都是主C++,然后其他脚本语言为辅,反正一句话,游戏基本都是C++
王者荣耀客户端的话使用的是unity引擎,引擎本身是c++开发,支持c#和js脚本。但是由于js工程性不强,现在基本都使用c#开发了。客户端由于要支持热更新,估计使用了lua,至于unity的lua解决方案是选用腾讯自己的xlua还是ulua或者slua都不得而知了。所以,综合起来客户端涉及了c++,c#,lua三种语言。
服务端的话估计是c++加lua
王者荣耀用什么语言开发的?
开发王者荣耀主要用untiy3D游戏引擎,接口[_a***_]会用到c,c#还有j***a,原画,插画,3D建模,这些也会用到。如果你想从事游戏开发的工作我建议你去学习一下3D游戏引擎。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/23089.html