游戏引擎就是指一些已编写好的可编辑电脑游戏系统或者一些互交式实时图像应用程序的核心组件。而这些系统为游戏设计者提供各类编写游戏所需的各类工具,让游戏设计者能容易和快速地作出游戏程序而不用由零开始。大部分都支持多种操做系统平台,如Linux、微软Windows。游戏引擎包含如下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、电脑动画、网络引擎以及场景管理。html
先简单介绍一下游戏的运行环境:PC端(win & mac)、手机端(iOS & Android & WP & BlackBerry )、PlayStation(索尼的PS一、二、三、4)、Xbox(微软的Xbox、Xbox 360)、Switch(任天堂) 等。html5
PC端 和 手机端 分为 客户端 和 网页端,即分为端游 和 页游。java
按大类型能够分类 :端游(pc端、PS、Xbox、Switch按引擎支持归为一类)、手游(手机端)、页游(pc端页游、手机端页游)。程序员
比较知名的游戏研发厂商: EA(ElectronicArts)、育碧(UBISOFT)、任天堂(NINTENDO)、索尼娱乐(SCE)、柯乐美(KONAMI)、史克威尔艾尼克斯( SQUARE ENIX)、世嘉(SEGA)、万代 南梦宫(BANDAI NAMCO)等。web
EA(ElectronicArts)游戏业界的航空母舰,是世界上最大的游戏设计商。旗下EA Games ,EA Sports ,EA.com。知名游戏品牌: EA Sports的《极品飞车》系列,FIFA系列,NBA系列等等。EA Games的指环王系列,中土之战系列,荣誉勋章系列,命令与征服系列等等。编程
维望迪Vivendi旗下公司:Blizzard(早期,后来被赎回)、ValveSoftware,SIERRA,ACTIVTSION。知名游戏品牌:SIERRA的《半条命》《反恐精英》《指环王-魔戒之战》等等。Blizzard的《魔兽争霸》《星际争霸》《魔兽世界》《守望先锋》等等。浏览器
Valve Software:《半条命2》《CS:GO》等等。性能优化
育碧(UBISOFT):旗下公司 Gameloft等。知名游戏品牌:《分裂细胞》《波斯王子》系列。微信
卡普空(CAPCOM):《生化危机》系列,《鬼泣》系列,《街头霸王》系列,大量最经典的横版街机过关游戏。网络
史克威尔艾尼克斯( SQUARE ENIX):《FF》全系列,《DQ》系列等等RP。
柯乐美(KONAMI):《胜利十一人》系列,《寂静岭》系列,《恶魔城》系列等。
拳头(Riot):表明做品《英雄联盟》。(腾讯2015年12月全资收购)
国内的端游研发商有点拿不出手,能提一下的是 网易、腾讯、西山居、完美世界、盛大、世纪天成、巨人等。
在端游里面 ,3A是对游戏质量的一个最高评价了,不少国外的大做被称呼为3A游戏。咱们看一下维基百科的描述:
AAA级游戏(一般读做“AAA游戏”)是一种非正式的分类,用于最高开发预算和最高推广级别的电子游戏。AAA级游戏开发伴随着高经济风险,须要高水平的销售才能得到盈利。
网页游戏 又称Web游戏,无故网游,称为页游。是基于Web浏览器的网络在线多人互动游戏,无需下载客户端,不存在机器配置不够的问题,最重要的是关闭或者切换极其方便,尤为适合上班族。其中网页游戏又分为PC端网页游戏 和 手机端网页游戏。PC端网页游戏发展较早,相对较为成熟。手机端网页游戏,随着移动设备的性能的提高,也开始出如今舞台上。
PC网页游戏从2007年开始流行起来,鼎盛时期大体在2013-2014年左右,而后大幅度衰落。PC网页游戏的流行得益于 Adobe 公司的 Flash,其网页端多媒体交互插件 Flash Player在浏览器的高占有率 促使了页游的快速发展。 固然也由于乔布斯的一句话做为导火线,iOS再也不支持Flash Player,致使了其衰退的开启,今年Adobe也宣布了2020年中止Flash Player的支持。 这里不得不提一下微软的银光,微软也是看到了Flash Player 的成功,推出了银光,惋惜没有抢占到多少市场,无疾而终。另外再提一下Unity Webplayer ,也就是U3D的 网页播放插件,也没有足够的占有率,不愠不火。(目前也已经放弃更新和支持了)
PC端网页游戏开发基本上没有引擎,要不依赖于Flash提供的API自我封装实现引擎,要不依赖于U3D的API自我封装,没有出现业界承认的引擎。只是出现了一些比较好用的框架 好比Flash的 starling渲染框架 、 DragonBones骨骼框架、 TweenLite动做框架等,称不上是引擎。《偷菜》、《农场》、《弹弹堂》、《七雄争霸》、《虞美人》、《大天使之剑》、各种传奇、日漫iP页游。。。总有一款你玩过。也一度出现了不少小游戏平台3366 、4399 、7k7k 、腾讯页游平台、老手村网页游戏推荐、HP91网页游戏等。不过如今也是衰落不堪,前几年年终老板给程序员送宝马等新闻就是上述小游戏平台,可见当时是赚足了腰包。
手机页游相对单纯,目前也是在上升期,因为手机浏览器所呈现的性能瓶颈,不得不开发专门的引擎来提高手机页游性能。目前国内知名的页游引擎有:Cocos2d-js、Egret(白鹭)、Laybox等。PS:Egret 和 Laybox 都是一些搞Flash开发的资深大牛创业研发出的引擎。还记得当年微信实验性游戏《打飞机》?该游戏就是手机页游,只是内嵌到微信APP内。目前市场上尚未特别亮眼的做品。
因为Flash Player、 Unity Webplayer 插件的相继不维护,以及手游的风生水起,不少页游公司以及开发者都已经转型手游,PC页游前途已经一跌再跌。目前不建议在PC页游上投入太多精力。
关于手机页游如今还处于发展期间,16年也出现过现象级轻游戏《神经猫》,目前阶段尚未知名的重度游戏,仍是以轻度游戏为主。大多以微信公众号小游戏 或是商家促销小游戏形式。
早期Egret一度发展不错,但因为工具链和社区的发展没有跟上,致使口碑逐渐下滑。其性能优化上也还有必定的空间。( Egret 早期也是一个小团队,后来小米投资了2000W,进入了快速发展期)另一款Layabox 后来居上,听说性能上很不错,坑相对较少,目前开发者逐渐变多。
Unreal (虚幻引擎)表明做:《绝地求生》、《战争机器》系列,《质量效应》系列,《荣誉勋章》系列,《GTA 5》侠盗飞车 ,《星际争霸Ⅱ》
CryEngine(尖叫引擎) 表明做:《孤岛危机》系列
Source(起源) 表明做:《CS》系列、《Dota 2》
BigWorld 表明做:《坦克世界》、国内各类仙侠游戏 (网传2015年10月中止受权,可是没有官方声明)
Frostbite Engine(寒霜引擎)表明做:《上古卷轴》系列、《战地》系列、 《极品飞车16/18》
Gamebryo、 Creation 表明做:《极品飞车》系列、《辐射》系列、《穿越火线》
IW Engine 表明做:《使命召唤》系列 Havok 物理引擎,不少3A游戏以及好莱坞大片都用了该物理引擎,随便提下《血源诅咒》
自研 好比 暴雪的《守望先锋》就是自研引擎 、好比拳头的《英雄联盟》用的也是自研引擎
U3D 暂无3A级大做,《炉石传说》,由于跨平台的缘故吧。
这里主要分析一下国内一些研发厂商使用的引擎,用得最多的就是 Cocos2d-x 和 U3D。还有部分项目用了Unreal 4 或是 自研的一些框架。
早期Cocos2d-x比较风靡,由于其开源、免费、跨平台、高性能、支持不少开发工具,获得不少我的、工做室、公司的青睐。但随着移动设备性能的提高,3D游戏的趋势,以及2dx工具链的跟不上发展,致使一批人转向了U3D。
如下是目前国内经常使用的引擎:Cocos2d-x 、U3D、Unreal 四、Flash Air、Corona、自研
咱们知道Cocos2d是一个基于MIT协议的开源框架,用于构建游戏、应用程序和其余图形界面交互应用。最初cocos2d仅是一个用Python语言写的游戏框架,并无什么商业价值。2008年,苹果手机的发展正盛,cocos2d社区抓住了这个机遇,开发出了cocos2d-iPhone版本,即用Objective-C语言替换Python重写了整个框架。由此,cocos2d-iPhone随着iOS的发展而迅速壮大。2010年,cocos2d已经成为iOS平台上首选的2D游戏框架。
2010年,Android迅速崛起并能与iOS抗衡的时候,开发者但愿可以把游戏移植到Android平台上,因而cocos2d的另外一个分支cocos2d-x被开发出来,框架用C++重写。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x项目能够很容易地创建和运行在iOS,Android,黑莓Blackberry等操做系统中。还支持Windows、Mac和Linux等桌面操做系统。
Cocos2d-x 还衍生出了Cocos2d-lua ,Cocos2d-js版本,固然也有开发者YY出了Cocos2d-java等各类语言版本。目前来说,使用Cocos2d-lua的开发商最多。
Cocos2d-js早期叫做Cocos2d-html5,后来随着发展更名叫Cocos2d-js。这个分支不只能发布成 ipa 或是 apk ,也能发布成 手机页游。
PS:Cocos2d-iPhone是老外写的, Cocos2d-x的早期做者是中国开发者,早期性能也通常,后来触控也把原做者拉入进行了重构。Cocos2d-x后来也支持了3D,可是支持的并非很好,因此3D游戏基本上仍是选择U3D 或是 虚幻4 。
游戏引擎是对底层绘图接口的包装,Cocos2d-x 也同样,它是对不一样平台下 OpenGL 的包装。OpenGL 全称为 Open Graphics Library,是一个开放的、跨平台的高性能图形接口。OpenGL ES 则是 OpenGL 在移动设备上的衍生版本,具有与 OpenGL 一致的结构,包含了经常使用的图形功能。Cocos2d-x 就是一个基于 OpenGL 的游戏引擎,所以它的绘图部分彻底由 OpenGL 实现。OpenGL 是一个基于 C 语言的三维图形 API,基本功能包含绘制几何图形、变换、着色、光照、贴图等。除了基本功能,OpenGL还提供了诸如曲面图元、光栅操做、景深、shader 编程等高级功能。
Unity3D是由Unity Technologies开发的一个让玩家轻松建立诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity相似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(须要HTML5)、Windows phone 8和Android平台。也能够利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。
除了Unity3D,为了方面开发者开发2D游戏,还出了一个分支Unity2D。
引用知乎上关于 2dx和 U3D的比较回答: “Unity和Cocos2d-x,严格来说并非一样的产品类型。Unity是一套“解决方案”,而Cocos2d-x仅仅是一个库。二者相比较,后者仅至关于前者的一个模块。Unity提供集成的场景编辑器,物理引擎,材质编辑、动画编辑等等,再加上自己的类插件功能,能让第三方经过包来帮助生产周边工具。但从Cocos2d-x来说,若是有公司要用,必须找到相关的编辑器,集成第三方的物理引擎(如Box2D)才能与Unity在解决方案这个级别上相提并论。就若有名的3D渲染引擎Ogre和解决方案Unreal、CryEngine同样,自己并不具有可比性。不少公司采用Cocos2d-x来作项目的抉择是,对于2D项目来讲,Unity的确是把“牛刀”了,驾驭起来不是很顺畅。Cocos2d-x加上一些第三方的工具,就能对付项目,并且驾驭起来相对简单,就会选择Cocos2d-x而不是Unity。”
若是想试水游戏开发的话,我是推荐选择Unity 3d。2016年腾讯已经Kill了全部2dx项目组,全面投入到U3D,另外还有个别项目在尝试使用虚幻4 。 你们玩的腾讯系《王者荣耀》、《穿越火线》手机版等都是U3D制做。 小米的 “吃鸡”手游《小米枪战》是用虚幻4制做。 最近网易的“吃鸡”手游《荒野行动》是自研引擎 Messiah。 用Unity 3d、虚幻4 但是要给引擎厂商分红的,因此网易开了个好头,本身赚的钱本身拿。固然腾讯也有自研引擎,也许不能说服重点项目去使用吧。毕竟引擎这东西,开发的很差坑是特别多的,不能期待项目组等你修改。商业产品仍是须要选择稳定的、可靠的引擎。
自研引擎须要投入时间长、成本大、人力多,还得紧跟潮流,做为中小公司基本上不适合走这一条路。即便你研发出来,还得开发一套工具链,还得有一个完善活跃的社区,这些因素缺一不可。 前段时间,阿里也成立了游戏事业部。说好的不赚小学生的钱,仍是去染指游戏行业了。就这样吧, 本但愿在u3d 和 2dx上面多花点笔墨的,可是写了这么多写不动了。