游戏用什么语言编程
游戏编程是不是一般都是用C语言或c++?
还有一种使用比较广泛的语言就是lua。因其方便、简单、小巧、易用等特性已被用于很多网游中,比如大话西游2、魔兽世界、剑侠情缘3。在Adobe Lightroom中也有使用,甚至Google拼音输入法扩展也可以用。Unity3D就是用lua来编写游戏的。本人没有用lua编写过游戏,仅在openresty中用过。总之,lua在游戏界使用的还是满广泛的,有兴趣可以自己多研究一些。
1. C++的跨平台性足够好,在windows、Linux、iOS、Android上都有编译器和调试器
2. C++比较接近系统,编译出来的代码速度快,体积小,运行时库部署方便
3. 语言特性适中,能面向对象,能模板,又能像C那样精简,虽然不像新贵Golang/Swift这样的语言那样碉堡,但对于做游戏足够了
4. 游戏适用的开发库大部分都是C/C++接口的,尤其DirectX和OpenGL
看了楼上很多人都说unity用c#,ue用c++,这样其实是错的,这两个引擎都是用的c++编写,然后增加了脚本支持,u3d用C#,ue用自己的脚本而已。但是两个引擎你要上c++也没问题。
现代软件开发,包括游戏,都很少使用单一语言开发的,例如你看魔兽世界,好庞大的游戏,他用纯c++开发的话,可能还要跳票10年,编译语言开发业务的效率,真的没办法和脚本语言相比,只要你的游戏核心部分,语需要强大的计算效率部分都用c或者c++写好,脚本调用就好了,无论是python还是lua,js,c#都可以用,普通业务效率基本没区别。
总结一下就是,需要高效率运算的部分,就用c/c++,例如渲染。
游戏玩法部分,就用脚本语言就行了。
安卓上游戏几乎都是JAVA,其他都是C系列,游戏对软件性能要求高,像JAVA,Python这种效率低下的不适合编游戏。安卓因为系统是基于JAVA的所以不得不用JAVA。安卓上用c系列写得话会有兼容问题。这是谷歌技术实力限制没办法。
现在一般的游戏或者软件都用什么语言编程?c和c++有什么区别?
这里有两个问题,一个是C和C++的区别和联系,而是如何进行应用软件开发。
C++比C语言更复杂,也完全兼容C的语法,不仅提供了面向对象的特性,还加入了模版元编程,直接把复杂度提升了一个档次。但也别有畏难情绪,C++的基本语法都很简单,包括模版,主要是看熟练程度,有些东西也不用刻意去学,包括一些语法糖,实际项目中很少用到,所以那些说C++怎么怎么复杂,怎么怎么难学的,听听就好别当真,可以说只要掌握面向对象,了解基本的模版编程,熟练使用stl或boost(里面的东西不需要全掌握,只掌握重点的容器、算法,boost的asio就可以了),就可以开始工作了。
软件开发这个话题太广,如果你熟悉了C/C++,到了这个阶段,就可以熟悉各种API了,如win32或posix等,比如可以看Windows程序设计或Linux程序[_a***_]等这类书籍。
就目前来看C\C++的路的确越来越窄,桌面开发可以选择Qt,但是windows还是推荐使用.net,C++仅作为备选方案,随着互联网和云计算的盛行,C++在这方面基本没什么用武之地,本来以为可以在物联网上大展宏图,结果半路杀出一个python,随后连Ubuntu都将其作为官方开发语言,这也是一个悲伤的故事。
但对于嵌入式工程师,C/C++这个目前还无法替代,而且门槛极高,要熟悉Linux架构,会对内核进行裁剪,要为特定硬件编写驱动,需要丰富的软硬件知识积累。
游戏目前主流的编程语言是C#,各大主流的商业游戏引擎,如unity,cryengine等都使用C#,目前只有unreal4***用的C++,当然unreal4也可以***用蓝图。像前几年盛行的cocos2dx也是***用C++,但目前基本已经淘汰了。
游戏编程对数学能力要求较高,首先需要掌握高等数学和线性代数等理论知识,然后看一些计算机图形学的相关知识,伴随着这些理论知识的学习掌握相关的图形api,比如OpenGL或directx,如果是从事移动端,需要学习opengl es,而OpenGL es是在OpenGL上精简而来的,抛离了OpenGL中的固定功能管线,***用可编程管线,即shader(shader是一种类c语言,语法很简单,但需要一定的数学功底才能写好),所以要重点学习OpenGL 3.0以上的版本。在这之后就可以开始学习游戏引擎了,有了上面的知识,游戏引擎就想对简单了,就相当于使用ide。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/12639.html