cocos2dx开发游戏是用全lua还是用c++和lua

cocos2dx开发游戏是用全lua还是用c++和lua,第1张

游戏逻辑既可以全lua也可以全C++不过如果要修改底层引擎必须用C++

就目前而言

lua开发主要的好处就是新人上手容易,游戏上线后更新比较方便(配合后端可以一直不用整包更),避免了审核的麻烦但这个缺点是调试起来比较蛋疼,基本靠打印日志也没有什么很好的IDE而且涉及到引擎的东西由于不能调了就比较烦

C++开发主要的好处就是调试容易,开发工具/IDE足够齐全缺点嘛和上面刚好相反新人上手困难,新手BUG丛生,上线后更新基本也只能靠整包更新,每次都要通过平台审核

但游戏逻辑总的来说要看你的主要开发团队(或个人)对那种语言比较熟

网页的交互模式,基于HTTP实现与服务器的交互,这些游戏的后端可以使用任何Web开发语言来实现,比如PHP,Java,C#,Ruby,Python这些,都没有问题。

游戏的前端现在普遍依然使用Flash平台,开发语言就是ActionScript,比较前卫的游戏有使用HTML5的,就是JavaScript,还有一些社交平台上的游戏直接使用HTML页面来做交互,有一些传统游戏厂商转过来做网页游戏的也有采用ActiveX技术直接把现有的游戏移植过来的,这些游戏前端往往采用C++这些来开发。

有些游戏需要实时与服务器交互(比如MMORPG),这些游戏的后端往往就是和传统的网游一样的架构,开发语言也一般会比较传统的采用C++,也有一些采用Erlang来搞定网络及分布式计算的平台部分。

值得一提的是Lua语言,Lua在网页游戏的客户端用的不多,但是在服务器端依然有不少采用,主要是用在游戏的实际逻辑部分。

游戏需要运行到不同的平台上,所以平台也在一定程度上影响游戏开发使用的语言。目前我们熟知的平台主要分为两大类:PC端和移动端。

PC端:使用的编程语言大部分是我们熟知的C/C++,因为我们使用的操作系统如window,mac的底层是C,而使用C/C++可以极大的发挥性能上的优势;

移动端:又可以分为IOS与Android两个方向来说。Android上面的游戏以Java开发居多,大概是因为安卓系统本身就是以Java开发为主的;IOS上面的游戏以object c开发居多,也主要是因为系统本身的因素;

但因为一款游戏要部署到各个平台的成本太高了,所以现在主流的技术是使用跨平台的游戏引擎开发,然后发布到不同的平台。因此现在选择语言主要看主流的游戏引擎使用哪些语言。主流的游戏引擎有:unity,cocos,unreal等。其中,unity是以C#语言为主;cocos有C++、lua、js等开发语言;unreal也主要是以C++为主。

事实上,大部分高水准的游戏是以C++结合lua来开发的。C++负责处理高性能的部分,lua处理逻辑部分来加快开发速度。即使是使用unity引擎,大部分产商也会选择C#结合lua的方式来开发,C#负责核心部分,lua处理逻辑部分。

以王者荣耀为例,王者荣耀团队的相关文章中有明确提到,客户端,也就是手机上的的APP是用的Unity3D游戏引擎。具体的开发语言以C#为主。至于王者荣耀的后端编程语言,基本可以确定是C++,C++到现在都是腾讯公司的核心技术栈,并且游戏领域,使用java/php 等语言很难达到游戏对性能的要求,编程难度较大。

如果是想要选择一门语言学习,那么需要考虑自己未来的发展方向,是想做大项目还是做小项目。网游之类的大项目,目前推荐C++和lua。如果是微信里面的小游戏之类的小项目,推荐的是js或typescript。

服务端不同的引擎用的不同的语言,但是核心都是C++写的。

unity是C#+lua,lua有很多插件xlua 和slua等等。

UE4是C++配合unlua。

网易服务器是自研服务端引擎,一般是lpc、python或者lua

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » cocos2dx开发游戏是用全lua还是用c++和lua

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情