谢谢小秘书!
王者荣耀的客户端是用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这些编程语言难度是很大的。
因此王者荣耀的客户端应该是C#(Unity3D)开发的,核心后端服务是C++开发,C++也是腾讯最重要的编程语言。
本文为字节跳动签约作者EmacserVimer问答原创文章,未经允许转载、抄袭必究!
对于常见的3D游戏绝大部分用的unity3D游戏引擎开发而成,主要开发语言是C#.net技术,这是微软开发一套编程语言,当初推出来和java对抗的编程语言,现在C#使用范围其实非常广泛,java参与的地方几乎都有C#的影子,现在主要在桌面应用程序,游戏开发以及服务端等等都有涉猎,最近正好有个服务端的项目就准备用.net来实现,其实编程语言只是工具而已,最主要的能够活用。
有很多细心的小伙伴可能会觉得既然是微软的那套东西怎么会在安卓上运行,这涉及到软件中一个跨平台概念,所谓的跨平台就是代码在一个平台上实现了,移植到别的平台可以继续使用,java刚开始流行的时候很大一个特点就是跨平台,写的java代码既可以在windows平台上运行,也可以在linux平台上运行,在mac平台上也可以,具体平台对接工作在环境中已经配置好了,所以在王者荣耀的app解压之后能看到dll文件,这就是在windows平台下生成的动态库文件,然后通过Xamarin转化成jar包供java直接来调用,由于中间层做了转化,所以在配置不高的手机上游戏还是比较卡顿,对硬件的要求比较高。
所以王者容易的编写主要还是windows平台上完成代码,用c#完成,但在涉及到性能地方还是c/c++来完成,毕竟对于游戏来讲性能也是非常大的一个技术指标,当然要开发程序需要遵守Unity3D引擎的规则,其实在日常过程中大家可能更加关注游戏客户端本身,后台的服务器的负载和并发能力容易被忽略,游戏讲究是一种极致的体验,如果服务器端配合不顺畅照样玩起来不爽,这款游戏的后台服务器数量达到了几千台,并且数据之间还要流畅的通讯,同时还需要场景备份,由于游戏服务端需求量相对低一些。
如何学习Unity3D开发游戏?
1.首先了解Unity3D一些菜单以及基本功能,先了解个大概,有个整体的印象
2.了解常见的游戏设计概念,坐标,向量,移动,伸缩等等概念
3.尝试自己创建一个游戏场景,熟悉常见脚本,以及代码如何和平台融合在一起。
4.开始尝试做动态化的场景融入更多的,熟悉深度的Unity api的调用
5.引擎的学习重在熟练,但要搞出深层次的东西,还需要对C#编程语言有了深入的了解才能写出有层次的东西,才能真正加入到游戏开发中去。
学习Unity3D掌握引擎api使用,以及常见功能的使用,需要一直坚持做的是对c#编程语言不停的学习,深入的学习。
希望能帮到你。
首先,感谢您。我是叮当,爱学习的叮当!
王者荣耀使用什么编程语言开发的?很简单,打开看一下就知道了
在电脑中打开王者荣耀的app,(安卓版王者荣耀后缀名.apk,需手动修改apk文件后缀名为
.zip
,才可解压。)解压以后你会发现里面有个王者荣耀最大的文件,它就是930M大小的Unity3D文件。Unity是UnityTechnologies公司开发的一款强大的跨平台专业游戏开发引擎,它可以最大优点是可以跨平台。
你熟悉的炉石传说、失落帝国、地牢女王 、MemoLine!、酷酷爱魔兽、捣蛋猪、神庙逃亡2、极限摩托车2等等手游客户端都是Unity3D开发。
所以,《王者荣耀》客户端是通过Unity3D开发的,而技术底层基于Xamarin公司发明的Mono原生编译跨平台技术。
手机通过Xamarin转化成jar包供java直接来调用。正因为这个中间层转化,所以王者荣耀APP占用硬件情况很明显,因此低端手机玩这个就会卡。
再简单说说Xamarin,它是微软运营的开源跨平台开发技术之一。它使用C#语言为Android,iOS和Windows Mobile设计移动APP。
Xamarin它可以允许访问原生的Android API,并通过Xamarin测试云提供共享的C#代码库以及跨设备的应用测试。
所以只要你熟悉C#和.NET技能,Xamarin对您没难度。
这也正好说明,学好一门语言的重要性了!
像我们做开发的,一般都会去摸索某个APP的开发过程。在PC端可以下载解压后,你就可以去查看代码,用什么写,例如,和平精英采用ue4开发,用c++写的;
至于王者荣耀,我们来看看:
开发引擎——Unity3DUnity3D是个游戏引擎,是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。这个引擎毫无疑问是用的C/C++。但是作为游戏开发者,比如腾讯或天美,他们要做的就是利用这个开发工具。具体说来,游戏中的人物,场景,特效等是用的诸如Photoshop,3dsmax等软件建立2D/3D模型。Unity3D游戏引擎,就像是个播放器(player),可以运行在Windows,安卓,iOS,浏览器。我们用C#写游戏脚本,就好像使用视频制作软件做个视频,只要有播放器,它就能播,而不用管是什么操作系统。
这涉及到软件中一个跨平台概念,所谓的跨平台就是代码在一个平台上实现了,移植到别的平台可以继续使用,java刚开始流行的时候很大一个特点就是跨平台,写的java代码既可以在windows平台上运行,也可以在linux平台上运行,在mac平台上也可以,具体平台对接工作在环境中已经配置好了,所以在王者荣耀的app解压之后能看到dll文件,这就是在windows平台下生成的动态库文件,然后通过Xamarin转化成jar包供java直接来调用,由于中间层做了转化,所以在配置不高的手机上游戏还是比较卡顿,对硬件的要求比较高。
下载王者荣耀的apk文件解压,从那些dll文件就可以看出,王者荣耀客户端背后肯定是Unity3D是主要技术栈。
王者荣耀的前台客户端主要用C#开发其次就是王者荣耀的前台客户端了,王者荣耀的编写主要还是windows平台上完成代码,主要用c#完成。C#本身是微软公司发布的一种面向对象的、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。我们用C#写游戏脚本,就好像使用视频制作软件做个视频,只要有播放器,它就能播,而不用管是什么操作系统。意思就是我们用C#写王者荣耀,游戏被开发后即可适用于大部分手机平台,手机的兼容问题就会比较小,这就是所谓的跨平台。C#现在在市场上也是广泛用于游戏脚本的开发,对于游戏脚本,C#还是比较有优势的。
核心后端服务是用C++开发的虽然王者荣耀的游戏开发用的是C#写的脚本,但在涉及到性能地方还是c/c++来完成,毕竟对于游戏来讲性能也是非常大的一个技术指标,当然要开发程序需要遵守Unity3D引擎的规则。其实在日常过程中大家可能更加关注游戏客户端本身,后台的服务器的负载和并发能力容易被忽略,游戏讲究是一种极致的体验,如果服务器端配合不顺畅照样玩起来不爽。这款游戏的后台服务器数量达到了几千台,并且数据之间还要流畅的通讯,同时还需要场景备份,这就要求王者荣耀的后台服务器能够完美承载这么多数据,这一点非C++不可,因为太性能上C++有无可比拟的优势。不然的话你打一局游戏动不动就卡顿,你想想是什么心情?
所以现在C/C++就是腾讯公司的核心技术语言。
总的来说,王者荣耀的游戏开发引擎就是Unity3D,前台客户端是用C#开发、核心后端服务是用C++开发的。
此外
微软的核心技术栈是C/C++/C# ,微软的Windows系统主要是C语言写底层,应用层软件用了不少C#,大名鼎鼎的office早期是C语言写的,后来微软用C++完成了对Office的重写。
Google的核心技术栈是C/C++/Python/Go等编成语言,尤其是C/C++在Google技术体系中占据着非常重要的地位 。
Facebook的核心技术栈是C++/PHP ,并且用了很大比例的Erlang,Facebook收购的WhatsApp基本上全是用Erlang完成的,WhatsApp的服务器还是用的FreeBSD。
到了国内百度的核心技术栈是C/C++/PHP
腾讯是C++
Java则是阿里巴巴的核心技术栈。
学前端的也可以用WebGl打造一些动画,可以去我的主页查看,https://www.toutiao.com/i6769394892754911747/ 感谢您的阅读!