游戏开发用什么编程语言好?
我说下移动游戏开发吧,移动游戏开发分为两大模块:游戏服务器开发,游戏客户端开发。游戏服务端开发据我了解以c++和java居多。游戏客户端又会细分成游戏引擎和游戏业务:游戏引擎方面以c++为主,游戏业务以c#和lua为主。 我说下移动游戏开发吧,移动游戏开发分为两大模块:游戏服务器开发,游戏客户端开发。游戏服务端开发据我了解以c++和java居多。游戏客户端又会细分成游戏引擎和游戏业务:游戏引擎方面以c++为主,游戏业务以c#和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。 不论做什么类型的游戏,PC,主机,移动原生,移动H5只要是你想做游戏,建议学学C++,不用多好,了解一些就好 C++/C#这两个语言在游戏行业里是覆盖性比较好的语言了,因为游戏行业一直是个追求性能的开发领域,所以C++在游戏行业的领先地位还是很难被取代的。
另外再能掌握一些脚本语言:Lua/Python也会很有帮助的 Unreal虚幻引擎:C++ 开发3A大作
Unity3D:C# 可以开发多平台游戏
还有HTML5小游戏,用JavaScript,小程序里的游戏,或者网页小游戏比较多 取决于游戏引擎。
要用unity开发游戏,编程语言就是C#。以此类推,其他游戏引擎的编程语言不尽相同 游戏开发需要考虑游戏平台,一般来说有以下三类
PC端或主机端:C#、C++
移动端Android平台:Java
移动端IOS平台:Objective-C
除了上述语言之外,你可能还需要学习:Lua、JavaScript、HTML5、Python等编程语言用来胜任各种工作任务。
考虑到如果是想通过学习尽可能少的编程语言从事游戏开发的话,这里给出的建议就是C++和Java。
一,这两种语言参考资料众多,使用人数也很多,能够较为轻松地找到疑难杂症的解决办法;
二,游戏市场Android平台用户居多,主机端、PC端存在大批硬核玩家。学习这两种语言会有更好的就业市场;
三、IOS平台上使用的Objective-C跟C++比较相似,都是在C语言基础上发展来的,学习C++之后可以在短时间内掌握Objective-C。
所以,如果是初学者,建议通过学习Java和C++入行。
如果是从业者,那么就需要掌握五六种游戏开发主要编程语言,基本上就是用到什么就学什么。 现在游戏开发基本上都是多语言混用了。常用的是cpp, cshape, lua组合。
运行性能上cpp>cshape>lua,开发效率则相反。
因此会根据具体需求的稳定性、性能要求、开发周期等因素进行综合评估该需求适合使用什么开发语言。 如果你想从造车间开始,那可以选c++,现在大部分主流引擎底层都用c++,而且不想做引擎的话还可以用它到ue4里做东西。
如果是想用别人已经造好的主流车间,那unityC#没得选,可以搭配lua做热更;UE4C++也没得选,但是不想学程序的话也可以用蓝图节点,只要不怕眼花的话都没问题。除了上面两个比较出名的免费引擎之外,其他引擎也有规定自己的顶层逻辑语言,看你喜欢哪个了。
如果你不是完全不会编程的菜鸟并且想把自己的游戏做得更好,你可能还需要去学习cg、hlsl、glsl等shader语言,当然现在可视化shader解决方案也很多,这是可选的。(就算不会写也可以去商城买大佬们写好的来用)
页:
[1]
2