王者荣耀是怎样炼成的《王者荣耀》用什么开发,游戏入门,unity3d介绍

LisenYang LisenYang     2022-11-30     163

关键词:

在国内,如果你没有听说过《王者荣耀》,那你一定是古董级的人物了。

 

《王者荣耀》(以下简称“农药”),专注于移动端(Android、IOS)的MOBA游戏。笔者看到这么火爆,就萌生了了解一下这类游戏的开发历程,本专栏的目标是做一个类MOBA的Demo。

俗话说,不去瞎琢磨的程序员,不是好司机。

好的,直接进入正题。

一.农药用什么语言和软件开发

小伙伴看到农药运行在Android和IOS平台上,估计第一个想到的就是 java / kotlin 和 Object-C / swift 了。其实不然,原生游戏的开发是非常耗时耗力的,并且在一些细节问题上不容易处理。现在的大部分游戏都是利用“游戏引擎”来处理的。比较著名的游戏引擎如unity3D,在处理农药这种3D游戏时有着非常便利的管理和编码功能。unity在5.x版本后支持C#和JavaScript两种语言实现游戏中的脚本(在4.x还支持Boo)。据不完全统计,unity程序员大约80%都是用C#,所以这次笔者也是用C#(随大流,不挨揍,haha)。而且如果你有java或者C基础,那么C#使用起来还是相当舒服不坑爹的。在微软的大树下正在茁壮成长。

准确验证:

下载王者荣耀的apk文件,解压,发现了如下文件:

 

可以断定,有unity的功劳。

有的小伙伴可能会有疑问,为啥不用JavaScript呢?现在JavaScript这么火爆?

其实unity使用的JavaScript和我们做web开发使用的JavaScript非常不同,或者我们干脆分别称呼为unityScript和JavaScript也不为过。

这里在segmentfault的看到的一段:

  1. unity中的js与其说是js,不如说是Unity Script。unity中的js是会经过编译的,其性能和本地速度差不多。在官方教材《unity 4.x从入门到精通》中unity称C#,Boo,JS的性能是差不多的。
  2. unity中的js脚本是可以和C#脚本等值替换的,所以自然也有一大堆数据类型,对象继承等传统语言及OOP的概念。不过var speed = 5这么写也是可以的,因为编译器会自动理解成var speed:int = 5。但是其他数据类型比如GameObjectTransform就不行了,必须在声明变量时指定数据类型。
  3. 自然,很多标准js中的特性在unity中也不支持,比如高阶函数,闭包等。
  4. Unity3D中的Math对象叫做Mathf。
  5. Unity中的js可以直接调用Mono,C#封装的dll等。
  6. Unity中的调试语句用Debug.Log。
  7. 每行后面必须有分号。

总之,Unity中的js是会在运行前被编译成本地代码的。和标准js仅是写法比较相似,内在是完全不同的。比如js是非阻塞的,而unity中的js是阻塞的;js是动态语言,而unity中的js则是不折不扣的静态语言。

总之,使用unity + C#来进行开发。

二.游戏入门

关于游戏,有以下几个特点:

  1. 把游戏想象成一个动画片,它是一帧一帧播放的
  2. 它的逻辑是可以变化
  3. 你的程序控制它的画面

综合来看,游戏包括两大要素:逻辑、显示

(一)什么是逻辑

简单来说,就是游戏是怎么控制的,玩法是什么样的。

  1. 游戏逻辑:游戏的玩法,用户的输入等。
  2. AI:NPC,自动寻路,追逐敌人等。
  3. 物理运算:碰撞,速度,加速度,重力等物理计算。

(二)什么是显示

顾名思义,显示就是把游戏的画面、内容展现给玩家。

  1. 动画系统:控制游戏动画的播放。
  2. 底层渲染:告诉硬件该怎么样把图像显示(渲染)出来。

用一幅图归纳:

三.游戏团队的角色

粗略可以分为三种角色:策划、美工、程序员。

  1. 策划:负责设计游戏的玩法。
  2. 美工:负责设计游戏的资源素材。
  3. 程序员:负责游戏的编码。

四.unity介绍

上面说过,原生开发游戏耗时耗力,想象一下,整个游戏从底层的渲染,一直到上层的动画声音,简直要了命。而且有一点,原生开发不利于组件的重用。

有些东西,在A游戏上可以用,在B游戏上也可以使用。那么我们为什么不把这些可以重用的部分提取出来,到时候再开发其他游戏的时候直接调用就可以了啊。

基于这么一种“偷懒”的思想,Duang~,游戏引擎就诞生了。

游戏引擎减少了重复开发,降低了技术门槛,对于那些游戏开发者简直是“神器”。现在优秀的游戏引擎有很多非常有用的模块。

ok,今天就先到这里。

王者荣耀是怎样炼成的《王者荣耀》用什么开发,游戏入门,unity3d介绍

在国内,如果你没有听说过《王者荣耀》,那你一定是古董级的人物了。 《王者荣耀》(以下简称“农药”),专注于移动端(Android、IOS)的MOBA游戏。笔者看到这么火爆,就萌生了了解一下这类... 查看详情

《王者荣耀》用的是啥游戏引擎?

从王者荣耀里的百科介绍里可以看到王者荣耀用的是Unity3D,从这个引擎的介绍来看Unity3D是由UnityTechnologies开发出来的一个3d游戏开发引擎。但是我感觉王者荣耀并不是完全由这个引擎开发的,看这个引擎的百科介绍的话,人人都... 查看详情

怎样设置《王者荣耀》的地图下雪?

...可能是官方提前放出的效果图,会在之后的版本推出。《王者荣耀》:《王者荣耀》是由腾讯游戏开发并运行的一款运营在Android、IOS平台上的MOBA类手游,于2015年11月26日在Android、IOS平台上正式公测,游戏前期使用名称有《英雄... 查看详情

通俗易懂,王者荣耀是用什么编程语言开发的?

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

怎样使王者荣耀体验服变得流畅

很多朋友发现,《王者荣耀》更新到某个版本后,似乎会变得卡顿掉帧,这其实是由于《王者荣耀》的“优化”所导致的。针对不同的机型,《王者荣耀》会使用不同的图形API、不同的多线程策略来运行游戏,这些差别会大大影... 查看详情

通俗易懂,王者荣耀是用什么编程语言开发的?

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

手机游戏一般用啥开发的?比如很火的王者荣耀用啥引擎?啥语

手机游戏一般用什么开发的?比如很火的王者荣耀用什么引擎?什么语言?Unity3d可以开发吗?又比如q,q微信怎么开发的?手机游戏开发的平台是JME,重点是MIDlet,CANVAS,RecordStore。如果是独立开发手游,那么还要掌握一些基本... 查看详情

《王者荣耀》成功背后,离不开qq的游戏经

5月5日,《王者荣耀》启动了年度大计划“五·五开黑节”,这让《王者荣耀》再次成为了游戏玩家们聚集的焦点。日前,腾讯集团高级副总裁马晓轶公布了现象级游戏《王者荣耀》的成绩:累计注册用户超过2亿,日活跃人数突... 查看详情

什么叫类与对象?详解~(代码片段)

...易懂的小案例来告诉大家这两者的区别。案例一:打王者荣耀面向过程:打开王者荣耀的app登录账号选择5V5的游戏模式选择英雄开始游戏游戏结束面向对象:创建三个对象:人、手机、王者荣耀游戏给人对象增加... 查看详情

第二次作业:王者荣耀案例分析

2.1介绍产品相关信息你选择的产品是?    王者荣耀为什么选择该产品作为分析?    因为当下这款游戏很火,适玩年龄广,同时很多争议在社会引起广泛关注。该产品是怎么诞生的(在什么样的背景下)?    201... 查看详情

王者荣耀男女性别怎么改

王者荣耀性别:1、首先需要去微信或者QQ把性别进行更改,因为游戏是根据登入的账号性别来确定的。2、选择好需要修改的性别后,在登录游戏点击头像看是否已经更改了。如果没有立刻显示,就是有延迟,过一会在登入查看... 查看详情

第二次作业:王者荣耀案例分析

介绍产品相关信息你选择的产品是?    王者荣耀为什么选择该产品作为分析?       王者荣耀该游戏一出,在短时间内吸引了广大中小学生甚至是大学生,受到了广泛的关注和争议。该产品是怎么... 查看详情

当我谈《王者荣耀》时我谈些什么

序言2016/09/09是我入职xxx公司的第一天,进入xx项目组,6名成员,项目需求调研已结束-开发初期。。。一、资源一场游戏大多时候开始就能预测出来输赢了,怎么看的?选人啊!!做项目也是如此,成员元素的配置是项目能否长... 查看详情

第2次作业:王者荣耀案例分析

一.介绍产品相关信息·你选择的产品是? 王者荣耀·为什么选择该产品作为分析?  因为天天玩比较熟悉·该产品是怎么诞生的(在什么样的背景下)?  在网游《英雄联盟》成功之后,模仿他的游戏模式,因... 查看详情

有些游戏...像《王者荣耀》一样红过

...na.net/uploads/img/201706/22070658_agxg.jpg"alt="22070658_agxg.jpg"/>这是王者荣耀技术分析系列第二篇,有兴趣请持续关注我的blog和公众号。1、像《王者荣耀》一样红过2、从《王者荣耀》来聊聊游戏的帧同步3、游戏服务器的架构演进电子游... 查看详情

从《王者荣耀》谈游戏的帧同步

...上表现可谓是风生水起,根据第三方的调研数据显示,《王者荣耀》渗透率达到22.3%,用户规模达到2.01亿人,每日的日活跃用户(DAU)均值为5412.8万人。如此可观的数据,令人十分钦佩。当然了,作为技术人,更愿意从技术上了... 查看详情

王者荣耀怎么投屏到电脑屏幕上

游戏一直是我们生活中消遣娱乐的方式,不管是王者荣耀还是吃鸡游戏,不分年龄阶段,都喜欢享受游戏时光,但是手机屏幕小,受到很大的局限,可以在大屏幕上观看那就更加爽了,但是王者荣耀怎么投屏到电脑屏幕上呢?今... 查看详情

张书乐:活久见!王者荣耀不是农药!拜托,这不过是一个游戏

...度跌5%,目前跌幅近4%。人民网日前发表评论文章称,《王者荣耀》面向社会不断在释放负能量,监管主体有必要让游戏多一些“善意”。在很多人看来,这一次是人民网抨击王者荣耀。我想说,在我看来,这真不是抨击,而是... 查看详情