王者农药是用什么语言写的呀?

2020-09-26 18:14发布

22条回答
aijingda
2楼 · 2020-09-27 08:53

王者荣耀现金的游戏玩家已经数不胜数,小到低年级小学生,大到七八十岁老者,在沉浸游戏中的同时,作为一名程序员,我也想弄清楚,王者荣耀的核心开发语言是什么?Java应该不是吧,JS+HTML?下面我代领着大家一起来看看。

这是任何一个玩家都喜欢看到的图吧

首先,我们先去官方下载一个王者荣耀安装包文件,安装包现在已经快接近1G了。。这数字,对于低配手机来说,就是噩耗。。

安装包的默认后缀名是.apk。我们强制重命名,在其后面加上.zip。可以用常规解压软件解压它。

500M的文件解压都用了好久,解压之后的图如下:

这还是标准的安卓目录,但是,这只是外表,不能证明什么。

我们进入到解压后的目录,看这里:assetsinDataManaged

C#的程序员肯定很熟悉这里面的文件了。各种dll看着都有种熟悉感:Assembly-CSharp、UnityEngine。。。

由此可见,王者荣耀是基于Unity3d(.Net C#)开发的跨平台游戏。同时,之前很火的游戏,比如:神庙逃亡、穿越火线、全民无双等,都是用Unity3d(.Net C#)开发的,技术底层基于Xamarin公司发明的Mono原生编译跨平台技术。Microsoft在2016年2月花了5亿美元将其公司收购,并将Xamarin开源免费,成为了原生编译跨平台App开发的解决方案。

当然了,任何一个大型游戏都不可能只用一种语言去开发。在这里呢,我们强调的是主要语言。。


是你的小甜心呀
3楼 · 2020-09-27 09:01

基于Unity3d(.Net C#)开发的跨平台游戏

我想吃肉
4楼 · 2020-09-27 09:45

提到《王者荣耀》,大家肯定不陌生,相信大多数人都玩过,说不定此时你刚开黑了一把,但今天我们从技术层面分析一下这款游戏,王者荣耀是用什么编程语言开发的呢?

▎大公司技术二三事
微软的核心技术栈是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则是阿里巴巴的核心技术栈。
▎王者荣耀用什么开发的 ?
王者荣耀团队的相关文章中有明确提到,客户端,也就是手机上的APP是用的Unity3D游戏引擎。具体的开发语言以C/C++、C#为主

因此并不是提到IOS和Android,就一定是swift和java开发的,由于游戏领域的特殊要求(对性能要求极高),因此针对不同需求会开发不同的解决方案,比如王者荣耀就是使用以c#为开发语言的Unity D。
至于王者荣耀的后端编程语言,基本可以确定是C++,C++到现在都是腾讯公司的核心技术栈,并且游戏领域,使用java/php 等语言很难达到游戏对性能的要求,编程难度较大。核心后端服务是C++开发,C++也是腾讯最重要的编程语言。
▎关于Unity3D游戏开发
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎,被誉为3D手游的传奇,广泛应用于网页游戏、手机游戏开发以及虚拟现实(VR)、增强现实(AR)等领域。

其实,现在市面上80%的游戏,包括页游、网游、手游都是用Unity进行开发的。
手游中,暴雪的《炉石传说》客户端就是用Unity3D开发的,《王者荣耀》《崩坏学园》《神庙逃亡》《纪念碑谷》《崩坏3》等都是用Unity3D开发的,这些游戏有多火爆此处无需赘述。
单机游戏中,《仙剑奇侠传6》 《凡人修仙传》 《轩辕剑》《茶杯头》等游戏均由Unity3D开发。


目前各个平台的游戏开发几乎没有通用性,开发iPhone上的游戏需要学习Objective C,开发Android上的游戏大多用Java,开发Windows Phone上的游戏用C#......
而使用Unity,只学习一种语言就能进行跨平台开发。
包括但不限于:
手机游戏(iPhone、Android、Windows Phone)
游戏机专用游戏(Wii、Xbox360、PS4)
网页游戏(firefox、chrome、MicrosoftEdge)
PC(Windows、Mac、Linux)
▎关于游戏开发入行门槛
现在游戏开发的门槛前所未有的低,但其实对于游戏开发团队的要求来说并没有降低。市场上对于游戏开发人员的需求也达到了三十万。无论是做一个游戏开发者,还是做一个VR开发者,都是高起薪,大发展。机会已经来了,你是不是下一个抓住它的人?


大河向东流
5楼 · 2020-10-03 11:50

主要构架都是用c#语言写的。客户端用到了热更新 AssetBundle 是Unity 提供的资源更新技术,还有用到Lua语言

花轮同学
6楼 · 2020-10-08 21:24

unity引擎制作,编写语言是C#

Mantra
7楼 · 2020-10-29 15:12

其实农药是多语言混合编写的,里面用到了C++  C#等语言。

zgzbs
8楼 · 2020-11-20 10:53

引擎是UNITY 3D,开发语言是C#

pipi雪
9楼 · 2020-11-25 10:21

主要构架都是用c#语言写的。客户端用到了热更新 AssetBundle 是Unity 提供的资源更新技术,还有用到Lua语言

相关问题推荐

  • 回答 93

    的确,IT培训是近年来十分火爆的职业培训之一,很多人都看中了IT行业的薪资待遇和发展。那么想要转入IT行业的话,就要具备专业的IT技能,那么很多人就会疑问,IT技能自学不可以吗?非要参加培训班?  很多人可能会觉得现在市面上有这么多网课,甚至有的还是...

  • 回答 12

    在切换分支的时候,常常会遇到下图的问题是因为我在test分支上修改了代码,但是没有commit,切换到其他分支上就弹出了这个窗口我们需要怎么处理呢 2:可以看到弹框底部有Force Checkout     Don`t checkout     Smart Checkout,表示什么意思呢Smart Chec...

  • 回答 28

    我个人觉得选培训学校要看这几点:正规性,一般会选大一些的机构,像一斤上市的公司,连锁的等等,这样有保障些不会轻易黄了;课程内容、教学情况符不符合自己;师资好不好,负不负责任;学校口碑怎么样;环境设施,与其他家相比的性价比高不高。...

  • 回答 24

    1、功能上来说,office比较成熟,而wps选用了比较常用的功能,比如没有access数据库等问题;但是对于企业来说各种情况都可能会遇到,所以选择一款功能比较完善、成熟的软件当然是比较好的;2、office用户群体较大,成为越来越官方的软件,企业内部与外部之间...

  • 回答 4
    已采纳

    个人感觉腾讯文档比较好用。现在办公室 里基本上都是用qq,人人都有的一款工具,腾讯文档在权限管理上比较方便。

  • 回答 23

    最近一直在绘制不同类型的思维导图,之前一段时间使用的是Xmind因为这个工具是要下载的,有时候觉得很麻烦,不是很方便,之后一段时间使用的是迅捷画图,这是一款在线网站,可以直接在线绘制各种思维导图、流程图等多种图形,并且里面还有很多的模板,如果你...

  • 回答 9

    需要认真学习 灵活掌握,但不一定非要报班学。现在网上很多各种形式的教案、教程 也可以自己对照着 实操学习噢

  • 回答 20

    ui设计需要用到的软件很多,现列举一些ui设计常用的软件如下:Photoshop、Adobe illustrator、Adobe After Effects、Axure RP、sketch。(1)Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具,可以有效地进行图片编辑工作。ps有很多功...

  • 回答 8

    一个路由器+交换机+网线若干~~~解决~~~不想用网线,可以买带WIFI功能的路由器,然后电脑如果没有WIFI功能,可以加一个USB的WIFI接收器~~~你要的外网内网问题,直接在路由器上设置即可~如下:给每个电脑指定IP,最好在路由器和电脑上分别设置路由器上 MAC绑定...

  • 回答 9

    防火墙是一种过滤保护的软件或硬件设备,只是机子的一个部分。

  • 回答 9

    1. 什么是集线器集线器在OSI模型中属于数据链路层,它和双绞线等传输介质一样,不需任何软件支持或只需很少管理软件支持的硬件设备。价格便宜是最大的优势,但由于集线器属于共享型设备的,导致了在繁重的网络中,效率变得十分低下,所以我们在中、大型网络中...

  • 回答 9

    方法:进入电脑查看1、右键点击打开网络和共享中心;2、进入打开网络和共享中心界面;3、点击这里进入wifi的属性界面;4、显示了wlan的状态页面;5、点击这里无线网络属性;6、在安全显示卡的内容,点击显示字符,这样就可以你查看wifi的密码。...

没有解决我的问题,去提问