用的最多web游戏引擎,主流游戏引擎分析
作者:本站作者如果选用的话,unity比cocos要成熟的多,大型软件需要用游戏引擎的建议是unity开发。再之后是Unity3D引擎,Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
游戏一般用什么编程语言开发?
开发游戏的编程语言有很多,不同的平台会使用不同的语言。这里我把平台类型主要分为四大类,即PC端,游戏主机,WEB端,移动终端。下面就分别来介绍一下这四类平台上的一些游戏开发语言。PC.PC端的游戏绝大多数都运行在微软的Windows系统下,游戏可以被视为一类交互性比较强的软件。既然是软件,那么理论上能够开发软件的编程语言也都能用来开发游戏,事实也确实如此。
但在实际开发中,为了兼顾游戏的执行效率,PC上的大型游戏往往使用C 或者C#这类高性能语言进行开发。此外,还有一个原因是C /C#可以无缝兼容大多数游戏引擎。游戏主机.目前主流的游戏主机有微软的XBOX和索尼的PlayStation。XBOX可以视为一个另类的PC机,它的游戏开发与现在Windows端的开发大同小异(同样可以使用Visualstudio),所以XBOX的主要编程语言也就同样是C 和C#。
索尼的PlayStation使用的是一个类UNIX的操作系统,也就无法使用微软的C#语言了(要使用也可以,但很麻烦),所以就只能大量使用C 了。WEB.WEB游戏是指运行在浏览器中以网页形式展现出来的一类游戏。本质上也就是一个网页,所以WEB游戏的编程语言也就主要是WEB开发语言,比如PHP,JS,HTML5等等。
移动终端。移动平台主要有安卓和iOS,安卓系统APP的主要编程语言是Java和kotlin,IOS是OC和swift。这些是APP的开发语言,而游戏也可以视为一种高性能的app。安卓下游戏主要框架由Java实现,部分需要进行大量计算的模块会使用C/C 的动态库来实现。iOS下由于其语言本身就很高效,所以基本上IOS下的游戏都是使用oc和swift两种编程语言来实现的。
游戏开发的编程算不算是IT行业中难度最大的?
要看哪个部分的开发,要是开发游戏引擎,那可不比操作系统或浏览器内核开发简单,其中涉及到多种数学知识,物理知识,包括显卡驱动适配,3d绘制和计算,2d渲染,物理引擎,动画系统,脚本引擎,渲染管线,GI,资产系统,网络,还有多平台适配等等,每一个模块都可以写一本很厚的书。就目前的游戏引擎,都是很多数学家、物理学家、特别牛的程序员多年的努力开发才造就的,所以说很难也不为过。
如果仅仅是开发一个小游戏,你可以直接使用现成的游戏引擎,例如unity或者ue,cocos2d等等,也可以使用h5做一些小游戏,这样的话大多数难点都被前辈铺平了,遇到的问题很少,并且在网上有很多学习资料,只要下一点点功夫,就可以做一个简单的游戏的,并不是特别难。不过说实话,如果做一个游戏要达到一个非常高的水平,那还是不简单的,要优秀的游戏创意,精美的图像,优秀的游戏代码架构等等,需要一个优秀的团队才能完成,总得来说也不是很简单。
游戏引擎都有哪些?游戏公司都用这些引擎做出过哪些好游戏?
比较有名的首先是epic出的虚幻引擎到现在已经出了4代了,虚幻4也是印象中应用最广,游戏作品最多的引擎之一。很多大作都是基于虚幻4制作的。代表作有《堡垒之夜》,《腐烂国度2》,《灵魂能力6》,《绝地求生刺激战场》等。然后是寒霜引擎,寒霜引擎,是瑞典DICE游戏工作室为著名电子游戏产品《战地》系列设计的一款3D游戏引擎。
该引擎从2006年起开始研发,第一款使用寒霜引擎的游戏在2008年问世。代表作有《战地》系列《荣誉勋章》,《植物大战僵尸 花园战争》,《龙腾世纪审判》等。再之后是Unity3D引擎,Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
Unity3D也是游戏应用最多的引擎之一,很多手游,网页游戏都是使用的此引擎,代表作有《神庙逃亡2》,《炉石传说》等。起源引擎,“起源引擎”包含了尖端的人物动画、先进的AI、真实的物理解析、以着色器为基础的画面渲染,以及高度可扩展的开发环境。代表作有《半条命2》,《Dota2》等。除了上述之外还有Creation引擎,IW Engine,铁砧引擎等也都诞生了不少好游戏。
用游戏引擎(cocos等)做PC端软件人机交互界面是否可行?为什么?
刚好我做游戏接触cocos都是在0.x时候就开始了,也有unity的项目经验,我来回答一下。如果从可行性角度来讲,cocos和unity当然是可行,但是如果从最优化角度来讲,游戏引擎并不是最合适的。为什么呢?首先游戏软件针对的软件元素以图片精灵、图片动画、图片特效、粒子效果、光照、场景程序、物理系统等为主,但是pc软件一般来讲都是ui功能组件元素为主:布局、排版、样式、点击(单打、双击、拖拽)、列表、表格、简单动画、统计图表等为主。
很明显两者重合度不高。当然游戏引擎可以再进行封装从而让pc端软件人机界面更有游戏性,但是这个开发效率上有问题了,经济上根本就不划算。其次即便是要交互性强,一般也是采用专用的应用软件专用工具、库进行补足,而不是直接用游戏引擎来加强,除非有一些专门设计的应用,比如儿童教育软件、行业vr软件等。如果选用的话,unity比cocos要成熟的多,大型软件需要用游戏引擎的建议还是unity开发。
而譬如虚幻引擎,就太庞大了,门槛比cocos和unity高太多,一般来讲不太适合没有经验的团队来做类似的游戏性软件开发。当前一般来讲,PC端软件前端交互开发,也不再是用原生的C/C 开发,而是逐渐转向了以JavaScript为主的前端框架,比如Eclectron,微软的Visual Studio Code就是基于此开发,微信的开发者工具则基于NW.js开发,也是类似的框架。
因为JavaScript有非常丰富多彩的交互为主的工具和库,并且实际上也都会跑在JavaScript的V8引擎上作为js引擎,并且在chrome的内核上进行界面渲染。那么现在web前端程序员就可以开发高交互、界面丰富、美观的应用。国内比较多的前端框架主要是VUE,国外主要是React和Angular。
虽然JavaScript技术栈来搞PC软件前端是业界趋势,但是因为V8和Chrome引擎的包体、内存消耗、js本身的单线程问题,不是所有的pc软件都是适合用JavaScript技术栈来开发,比如一些需要包体小的、内存小的、老机器跑的、老操作系统跑的,那么还需要一些更底层的库来开发,比如最老的MFC、Delphi、duilib,后面的WPF、QT等等。