在之前的元宇宙中有提及到游戏主播这个行业,那对应的就会有游戏开发者,对于开发最快捷的方式当然是使用游戏引擎进行开发了呀,那接下来我们就来说说这方面的内容吧 !
本篇文章主要讲解,游戏开发中常用的5个游戏引擎及其idea特性的介绍和对比
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
游戏引擎是一个为运行某一类游戏的机器设计的能够被机器识别的代码(指令)集合。它像一个发动机,控制着游戏的运行。一个游戏作品可以分为游戏引擎和游戏资源两大部分。游戏资源包括图象,声音,动画等部分,列一个公式就是:游戏=引擎(程序代码)+资源(图象,声音,动画等)。游戏引擎则是按游戏设计的要求顺序地调用这些资源。
主流中很常用的游戏引擎分别为,ue4,unity,cocos,laya,egret,在国内其中unity、ue4占比最多,其次是cocos,再者是laya和egret。
不乏有些公司采用自己研发的游戏引擎做开发,例如:雪崩、死亡、末日、顽皮狗、等一系列。
说明
:资料和教程最多的游戏引擎之一,很方便学习游戏开发的初学者。
官网
:https://www.cocos.com/
不爽的地方
:需要安装额外的idea
不爽点
:idea比较繁琐,需要使用其他的额外idea,ui方面需要使用其他的工具。
推荐点
:对小白入手很友好,游戏引擎性能也是杠杠滴、使用人数也很多
Cocos Creator 使用JavanScript/TypeScript开发。回到2010年,手游刚刚兴起的时候,如果没有听过Cocos, 那么你一定不是手游行业的。
2010年的时候,能跨平台开发的游戏引擎只有Cocos(Unity还不能支持手机平台), 2010年的时候手机硬件性能还有限,大部分都是2D游戏为主,Cocos 成为了国民手机移动端游戏引擎,那时,很多手机游戏,都是基于Cocos开发,也让它迅速了占领了开发者的市场。
后来随着手机硬件的发展,3D游戏越来越多,手游市场份额慢慢的被Unity取代。Cocos引擎完全免费,包体小,做2D游戏技术成熟, Cocos Creator开发工具于Unity的易用性一样,极易上手。
H5技术成熟,最近2年,全新引擎全面支持3D,一次开发能发布到PC端,Android,iOS,微信抖音华为等各大H5小游戏平台。
总结一下Cocos Creator特点
:
-
1、引擎完全免费,开源,包体小,定制灵活;
-
2、引擎开发2D游戏经过大量验证,非常适合2D游戏开发。
-
3、全新的3D引擎,能开发3D游戏,但是还有提升空间。
-
4、一次开发,多平台发布,与传统引擎不同的是,可以发布H5的平台。(微信/抖音、华为小游戏平台)
-
5、Creator 3D引擎生态还不够丰富, 如第三方插件等。
-
6、Cocos Creator 开发2D游戏得到大量验证,3D还需产品验证。
-
7、Cocos H5 游戏runtime内核在行业做的非常好,可以提供高效的H5游戏运行方案。
说明
:适合做小游戏、3d等各类型平台游戏的引擎
官网
:https://www.egret.com/
特点
:开发工具全面,可以做ui、龙骨,不需要从其他的工具中来回切换
不爽的地方
:资料相对其他游戏引擎较少一点,对小白很不友好
推荐点
:开源免费、适配全平台、支持3d
白鹭引擎,开发语言是js/Ts。白鹭游戏引擎对于H5游戏是有着不可磨灭的贡献,它是最早的H5游戏引擎,它里面的很多工具非常好用,到现在还被其他的引擎使用,比如骨骼动画工具,DragonBones被广泛引用到游戏开发中。
最早一批的H5游戏开发者一定都是使用白鹭。白鹭引擎在H5游戏这个邻域有着不可磨灭的贡献。后来白鹭也推出了Native平台。
总结一下白鹭的特点
:
说明
:一款国外的游戏引擎,做3d游戏很不错,3d游戏模型资源很多,教程很多,也很适合新手入门
官网
:https://unity.cn/
特点
:可以团队协作、可以制作高端游戏、可以制作规模宏大的游戏。
不爽点
:购买价格比较贵
推荐点
:大型游戏、手游、使用人数居多、资料很多,教程很多
Unity, 使用C#或Lua语言开发。国民3D引擎,这个称号说明了Unity在3D引擎的市场地位,中小型的游戏公司做3D游戏,基本都是用Unity, 很多大公司的游戏也用Unity, 比如《王者荣耀》, 国外什么情形呢?AppStore上面80%的3D游戏都使用Unity游戏引擎开发。
为什么Unity打败了众多高手,成为国民游戏引擎,我们也好好的说一下。时间回到2010年左右,当时页游比较火,Unity那个时候引擎的定位是能开发PC端游和页游的游戏引擎。
随着手游时代来临,市场急需一个3D游戏引擎,能一次开发多平台发布到Android与iOS, 而Unity成为了当时唯一的3D游戏引擎解决方案。和手游市场一起,Unity实现快速增长。
Unity能成为国民引擎还有一个很重要的原因,就是对初学者很友好,很方便就可以上手,极大的降低了3D游戏开发难度, Unity引擎的市场份额越来越大,技术人才, SDK,第三方插件, 技术资料等也越来越完整。
总结一下Unity的特点
:
-
1、能制作精美的3D游戏画面,和定制渲染管线,画面效果不如UE4。
-
2、能制作各种类型的3D游戏上线,每种类型的游戏都被商业项目验证过。
-
3、完整的生态,一次开发多, 平台发布(PC, android, iOS, xBox)。
-
4、Unity不开源, 需要支付授权费才可以修改引擎代码, 发布后也要付授权费。
-
5、Unity开发2D游戏相对包体过大。
-
6、Unity 3D H5支持比较薄弱,不支持微信/抖音/华为/Facebook等H5小游戏平台。
说明
:非常适合做html5、各类平台小游戏的游戏引擎。
官网
:https://www.layabox.com/
特点
:兼容性很好,相对比egret,兼容各个小游戏平台的程度较高【个人体验】
不爽的地方
:ui编辑方面需要下载其他工具
推荐点
:简洁清爽、兼容性好、支持3d
Laya游戏引擎,使用As, js, Ts开发。H5 刚新起时,H5跑3D游戏,很多公司都不看好,认为以H5的性能,不足以跑效果好的3D游戏, 但是H5游戏有普通游戏无法比拟的优点就是不用安装,点开就可以玩。
那个时候PC页游已经发展成熟,同时手机页游大规模兴起,页游依靠FlashPlayer,而到手机上,就没有FlashPlayer这个东西,随之取代的就是H5。
对于是页游的开发者,想要把游戏跑到手机网页上,就需要将Flash开发的游戏,转成H5游戏。Laya最开始就是完成这件事情的。
所以Laya支持的开发语言有AS, JS, TS,就是这么来的。Flash转H5,商业上不上太成功,后来随着h5的发展,直接转为H5 3D游戏引擎,是最早在H5上跑出大型商业3D游戏的H5 3D引擎, 在H5 3D这块积累了很多经验和成熟上线的产品案例,现在80%左右的3D微信抖音oppo vivo小游戏都是laya引擎做的。
Laya是先做H5平台,然后再做的native平台(PC, iOS, Android)。总结一下Laya的特点:
最早的被大规模商业项目验证的H5 3D游戏引擎,发布微信抖音等小游戏平台非常成熟。
借用强大易用的Unity编辑器可兼容3D资源,如果一个游戏是Unity开发,你要移植到H5,那么Laya一定是首选。
说明
:UE4 是 AAA 游戏开发者的首选引擎,以其逼真的渲染而闻名。很多大型3A游戏都是使用UE4开发的,比如腾讯的《和平精英》等。
官网
:https://www.unrealengine.com/zh-CN/
特点
:3A级游戏技术开发成熟,画面效果好
不爽点
:购买价格比较贵
推荐点
:大型游戏、手游、使用人数居多、资料很多,教程很多
UE4, 开发语言C++和蓝图。UE4是3A游戏开发者引擎的首选,它以逼真的渲染效果著称。很多大型的3A游戏都采用UE4来开发,比如腾讯的《和平精英》等。
UE4采用C++开发,虽然有蓝图,但是很多公司正式项目都去蓝图化,采用C++开发游戏,与C#和Js/Ts相比,开发难度大,当然C++可以获得更好的性能。
UE4不支持H5,但是可以发布到主流的游戏平台,PC,iOS, Android等,但无法发布到H5游戏平台。
总结一下UE4的特点
:
Cocos
优
:Cocos这么多年的市场地位在那里摆着,Cocos的技术底子在那里,所以Cocos还是非常值得信赖的。 Cocos Creator是一个非常好的产品,可以参考Unity ,至于为什么还是请参考Unity
劣
:尺有所长必有所短,往往自己的长处也就是自己的短处 Cocos IDE、Cocos Studio让开发者对于Cocos Creator 非常怀疑(万一哪天被干掉了,虽然@王哲说不会干掉,但是狼来了) Cocos布局H5算是非常早了,但是太早了(懂的人自然懂),后来遇到挫折一度搁浅,错过了发展的黄金时期,现在成熟度和Egret有些距离 。
Egret
优
:正是由于Cocos当初H5推进的一度搁浅让白鹭能够出现《围住神经猫》这个爆款。至于各个公司发的PR什么引擎适合小游戏,什么引擎适合重度游戏,都是忽悠不懂技术的人。引擎成熟到一定程度,基本上所有引擎的性能差别微乎其微,大家比的都是服务。不展开了,这是产品理念。 上边说了爆款,后边H5市场上最成功的几个H5游戏基本都是Egret开发的,比如挂机类《愚公移山》、传奇类《传奇世界》《决战沙城》、模拟经营类《猫来了》《猪来了》、回合制《梦道》、年度爆款《传奇来了》自然选择了Egret。 与此同时白鹭的H5工作流也越来越完善,目前来看依然是最成熟的H5引擎
劣
:上边说了Egret占据了非常好的时间点切入H5引擎市场,但是转眼间Egret引擎已经三岁了,而H5技术这三年的变化是非常大的,2014年你需要预判技术的发展走向,是选择as、js还是ts,你选择DOM、Canvas还是WebGL等等,没有谁是先知,你可能做对了99件事,但是一件事错了就需要弥补。比如2.5那次版本升级,从GUI转向EUI,很多开发者不解,但是需要做,而这些事Egret、Cocos已经经历了很多次。
优
: Laya的优势也非常明显,等Laya切入进来的时候H5市场已经非常明朗,先做Canvas然后准备WebGL 没有历史包袱,LayaAir满打满算还没有一年,按照前边Cocos和Egret走过的路快速走一遍,最重要的就是时间。Laya刚刚切入市场的时候推出了LayaBox,这个也是没有经验做了一个非常错误的决定,但是正是因为没有市场份额,所以去年中的时候直接砍掉了LayaBox也没有人会说什么,甚至大家都以为LayaAir就是LayaBox其实是完全不同的引擎。
劣
: 时间太短,Cocos和Egret经过的路他没有走过,所以犯了推出LayaBox又砍掉的错误,还没有经历过Egret GUI转向EUI那种问题,因为LayaAir还不到一年,所以成熟度有待商榷。 工作流不完善,需要使用第三方工具自己去组建工作流 最大的劣势就是Cocos有原生行业霸主地位背书,Egret有H5最成功的商业项目背书,而Laya目前没有一个成功的商业项目(月流水1000w以上)。
-
1.如果是开发大型手游、端游选择cocos、unity这两个引擎
-
2.如果开发小游戏如抖音小游戏、微信小游戏首选laya和egret
-
3.新手建议选择cocos和egret
-
4.如果不喜欢用游戏引擎,不存在多大的游戏效果的可以用js+canvas画布来做
-
5.如果技术很强,可以独立写js引擎,可以直接使用类似微信开发者工具、字节跳动小游戏开发工具来做。
资料和教程最多的游戏引擎之一,很方便学习游戏开发的初学者。官网不爽的地方:需要安装额外的idea不爽点:idea比较繁琐,需要使用其他的额外idea,ui方面需要使用其他的工具。推荐点:对小白入手很友好,游戏引擎性能也是杠杠滴、使用人数也很多Cocos Creator 使用JavanScript/TypeScript开发。回到2010年,手游刚刚兴起的时候,如果没有听过Cocos, 那么你一定不是手游行业的。
本篇文章主要讲解,游戏开发中常用的4个
游戏引擎
及其idea特性的介绍和对比
主流
猿子们很常用的
游戏引擎
分别为,
unity
,
cocos
,laya,egret,其中
unity
占比最多,其次是
cocos
,再者是新秀laya和egret。
不乏有些公司采用自己研发的
游戏引擎
做开发。
一、综合对比
这是一个SVN版本,可以使用SVN更新。
Irrlicht
引擎
是一个用C++书写的高性能实时的3D
引擎
,可以应用于C++程序或者.NET语言中。通过使用Direct3D(Windows平台),OpenGL 1.2或它自己的软件着色程序,可以实现该
引擎
的完全跨平台。尽管是开源的,该Irrlicht库提供了可以在商业级的3D
引擎
上具有的艺术特性,例如动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测等
Irrlicht是一个德国神话故事中的一种动物的名字,它能够发光和飞翔,可以在大部分的沼泽地附近发现它。单词"Irrlicht"是两个德国单词("irr"意思是疯狂的;而"Licht"意思是光)的组合。在英语中,它被译为"鬼火"。
Irrlicht十分幸运地为一个巨大的活跃的开发团队以大量的工程所支持。然而,因为Irrlicht主要由游戏名家Nikolaus Gebhardt所设计,所以该游戏在设计上十分连贯。你可以在网上到处发现有Irrlicht的增强程序,如可选用的地形生成器,入口生成器,输出器,world层生成器,相关教程和编辑器等。而且,它独立地创建了到Java,Perl,Ruby,BASIC,Python,LUA甚至更多种语言的绑定。而最为重要的是,它是完全自由的。
用javascript做的
游戏引擎
,用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
用javascript做的
游戏引擎
要用C#编写一个游戏3D
引擎
,你需要掌握以下几个步骤:
1. 学习3D数学知识:在编写3D
游戏引擎
之前,你需要先了解3D数学,包括向量、矩阵、点、线、平面等等。这些知识可以帮助你处理游戏中的几何和物理问题。
2. 选择合适的
游戏引擎
:很多
游戏引擎
都支持C#语言,例如
Unity
3D、MonoGame和Xenko等等。你需要根据自己的需求和技能水平选择合适的
引擎
。
3. 编写游戏逻辑和渲染代码:根据
游戏引擎
的API和文档,编写游戏逻辑和渲染代码。这些代码可以包括对象的创建、动画、碰撞检测、光照、阴影、粒子效果、物理模拟等等。
4. 优化游戏性能:
游戏引擎
的性能优化非常重要,特别是在3D游戏中。你需要学习如何使用GPU、多线程和其他技术来提高游戏的帧率和稳定性。
总的来说,用C#编写游戏3D
引擎
是一项非常复杂和技术含量高的工作,需要掌握多种技能和知识。建议初学者先从最简单的3D游戏开始学习,逐步提高自己的水平。