游戏开发需要哪些编程语言?JAVA或者C可以开发游戏吗?
游戏需要在不同的平台上运行,所以平台也在一定程度上影响了游戏开发使用的语言。目前我们熟悉的平台主要分为两大类:PC端和移动端。
PC:我们使用的编程语言大多是C/C++,因为我们使用的是window等操作系统,mac的底层是C,使用C/C++可以充分发挥性能优势;
移动:可以分为IOS和Android两个方向。Android上的游戏大部分是用Java开发的,可能是因为Android系统本身主要是用Java开发的;IOS上的游戏大多是object c开发的,主要是系统本身的原因;
但由于一款游戏部署到各个平台的成本太高,现在的主流技术是使用跨平台游戏引擎开发,然后发布到不同的平台。所以现在语言的选择主要看主流游戏引擎用哪些语言。主流的游戏引擎有unity,cocos,unreal等等。其中,unity基于C#语言;Cocos有C++、lua、js等开发语言;虚幻也是以C++为主。
其实大部分高级游戏都是C++和lua结合开发的。C++负责高性能部分,lua负责逻辑部分,加快开发速度。即使使用unity引擎,大部分厂商也会选择C#和lua结合的方式,C#负责核心部分,lua处理逻辑部分。
以王者荣耀为例。《王者荣耀》的相关文章中明确提到,客户端,也就是手机上的APP,使用的是Unity3D游戏引擎。具体开发语言主要是C#。至于王者荣耀的后端编程语言,基本可以确定是C++,C++是腾讯的核心技术栈。在游戏领域,使用java/php等语言很难满足游戏的性能要求,因此编程难度较大。
如果你想选择一门语言来学习,你需要考虑你未来的发展方向,是想做一个大项目还是小项目。对于网游这样的大项目,目前推荐C++和lua。如果是微信里的小游戏之类的小项目,推荐js或者typescript。