游戏编程用什么语言?

游戏开发分为网页游戏、flash和java游戏,俗称小游戏,基本都是休闲的一些傻逼剧情和操作。这类游戏的开发比较简单,懂javascript、flash cs、java就可以开发。大型游戏,比如魔兽世界,星际争霸等等,还有国内的侠爱,都是大型游戏。开发它们绝对不是一个人能完成的,一般大型游戏的开发也绝不是某个语言的简单问题。一款大型游戏的开发需要庞大的团队使用各种语言和工具来完成。总结一下,主要有C/C++,汇编语言,着色器语言,脚本语言,高效开发语言C#或者Java。我们在开发游戏的时候经常会听说游戏引擎。一个游戏引擎决定了一个游戏最基本的操作和效果,所以一般的游戏开发架构一般是自下而上的Direct X(Windows平台)-游戏引擎-游戏。Direct X是众所周知的等同于所有显卡的统一接口,为使用硬件渲染的游戏提供了编程模型。但是为了追求高性能的功能,Direct X界面非常简单,基本的画图功能,不利于游戏的高效开发。这时候就需要根据游戏的特点进行适当的选择和包装,实现一套比较抽象的游戏开发接口和框架,可以理解为游戏引擎中的图形引擎。这部分开发常用的语言是C/C++和一些汇编语言。游戏引擎是一个非常复杂的功能集合体,所有的游戏开发工作都是在上面进行的。包括图形引擎、音频引擎、碰撞引擎、美术资源管理、脚本引擎等等。基础语言C/C++,这个是必须的。需要懂汇编语言才能提高效率吗?有些事情需要重复性的工作去做。是不是应该了解一些脚本语言?至少不用重复做一件事。基础学完了,是不是一定要搞高大上的东西,不是搞它,而是掌握它。Direct X基于OpenGL,OpenGL的语法类似于C语言。游戏执行时编译加载到显卡上,实现了硬件渲染速度和软件编程的灵活性。游戏开发者对游戏开发的大部分知识都有一定的了解。如果是客户端程序员,基本需要了解以下知识:图形学、图形API(D3D/OGL)、算法/数据结构、物理学、游戏逻辑、音乐音效、人工智能、编程语言、设计模式、操作系统、工具编写和UI。扩展数据:

编程语言1和汇编语言的本质和机器语言是一样的,都是直接在硬件上操作,只是指令用的是英文缩写标识符,更容易识别和记忆。它还要求程序员以命令的形式写出每个具体的操作。汇编程序通常由三部分组成:指令、伪指令和宏指令。2.脚本语言

脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。这个命名源于一个脚本“剧本”,它使得对话框每次运行时都要逐字重复。早期的脚本语言通常被称为批处理语言或工作控制语言。脚本通常被解释为运行而不是编译。尽管许多脚本语言已经超出了计算机简单任务自动化的领域,并且足够成熟,可以编写精致的程序,但它们仍然被称为脚本。几乎所有的计算机系统在各个层次上都有一种脚本语言。包括操作系统层,如电脑游戏、网络应用、文字处理文档、网络软件等。在很多方面,高级编程语言和脚本语言是相互交叉的,它们之间没有明确的界限。脚本编程更快,脚本文件明显比同类C程序文件小。这种灵活性是以执行效率为代价的。脚本通常是解释和执行的,运行时可能会很慢,消耗更多内存。很多时候比如写一些几十行的小脚本,它带来的好处远远超过运行时的坏处,尤其是在程序员工资越来越高,硬件成本越来越低的情况下。3.机器语言

因为计算机只能接受二进制代码,所以用二进制代码0和1描述的指令称为机器指令,所有机器指令的集合构成了计算机的机器语言,用机器语言编写的程序称为目标程序。只有目标程序可以被计算机直接识别和执行。而用机器语言写的程序没有明显的特点,难记,读写不方便,依赖于具体型号,有很大的局限性。机器语言属于低级语言。4.高级语言高级语言是大多数程序员的选择。与汇编语言相比,它不仅将许多相关的机器指令合成为一条指令,而且去掉了与具体操作相关但与完成工作无关的细节,如使用堆栈和寄存器,大大简化了程序中的指令。同时由于省略了很多细节,程序员不需要太多专业知识。高级语言主要是相对于汇编语言而言的。它不是指某一种特定的语言,而是包括了很多编程语言,比如PASCAL这种最简单的编程语言。参考资料: