开发游戏用什么编程语言(开发游戏用什么编程软件)

http://www.itjxue.com  2023-04-09 03:51  来源:未知  点击次数: 

大型单机游戏用什么语言开发的?

一般的大型游戏开发绝不是用某种语言这么单纯的问题。一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成。总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

首先一般的游戏开发架构(Windows平台)从底到顶一般是Direct X?——游戏引擎——游戏。

Direct X?相当于所有显卡的一个统一接口,为游戏提供一个利用硬件渲染的编程模型,但Direct X?接口为了追求高性能功能非常单纯和松散,不利于游戏的高效开发。此时就需要根据游戏特点对其进行适当的取舍和封装,实现一组更高抽象的游戏开发接口和框架,可以理解成游戏引擎中的图形引擎。这部分的开发一般使用的语言是C/C++和少量的汇编语言。

至于游戏引擎是一个非常复杂的功能聚合体,所有的游戏开发工作都是在之上进行的。包括图形引擎,音频引擎,碰撞引擎,艺术资源管理,脚本引擎等等。到此为止几乎还没有涉及到你所说的游戏开发。

首先在图形渲染方面,例如光照阴影处理等等,现代显卡一般是通过可编程着色器实现对图形效果的控制,所采用的编程语言一般是一些着色器语言,例如Direct X?采用的HLSL,OpenGL使用的GLSL等等,语法类似C语言,游戏执行时被编译加载到显卡上,在实现硬件渲染速度的同时又实现了软件编程的灵活性。

大型游戏开发的绝大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。游戏故事如何进行,各种事件如何触发,何时该播放哪些声音或动画,如何使用艺术团队创作的资源,这些都是在脚本中编写的,可以说引擎决定了游戏能做什么,而脚本才真正决定了游戏做了什么。一些著名的引擎如虚幻系列都有自己独特的脚本语言,其他一些引擎可能会采用一些第三方的脚本语言,比如比较流行的Lua。所以开发一个新游戏最简单的情形就是沿用之前的引擎,创作艺术资源,然后编写脚本将其组织成一个游戏,几乎不需要什么底层的编程语言。

开发环境方面,游戏团队内部可能会使用一些开发和设计工具对资源进行处理,可以理解成游戏引擎的IDE,这部分因为是内部工具,而且可能需要经常修改所以一般采用比较高效的开发平台和语言,比如暴雪就是部分使用.NET和C#进行一些内部工具的开发。

至于引擎核心的开发,Windows平台比较流行的方法是使用最新版本的Visual Studio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。

游戏用什么语言编写的?

一般的大型游戏开发不是单一用某一种软件语言的问题。一个大型游戏的开发需要非常大的团队用各种各样的语言和工具来完成。

总结一下主要有C/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。

首先一般的游戏开发架构(Windows平台)从底到顶一般是DirectX?——游戏引擎——游戏。

大型游戏开发的大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。比如比较流行的语言。,然后编写脚本将其组织成一个游戏,不需要什么底层的编程语言。

Windows平台比较流行的方法是使用最新版本的VisualStudio,显卡厂商如NVIDIA也会为VS开发一些插件来简化显卡编程和调试。

扩展资料:

汇编语言

为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。

汇编语言由于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码。而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

汇编语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的“汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。

用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

高级语言

不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。

这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。

如今被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统软件。

计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。

编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。

PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。

参考资料:百度百科:计算机编程语言

游戏一般用什么编程语言开发?

开发游戏的编程语言有很多,不同的平台会使用不同的语言。这里我把平台类型主要分为四大类,即PC端,游戏主机,WEB端,移动终端。下面就分别来介绍一下这四类平台上的一些游戏开发语言。

PC.PC端的游戏绝大多数都运行在微软的Windows系统下,游戏可以被视为一类交互性比较强的软件。既然是软件,那么理论上能够开发软件的编程语言也都能用来开发游戏,事实也确实如此。但在实际开发中,为了兼顾游戏的执行效率,PC上的大型游戏往往使用C++或者C#这类高性能语言进行开发。此外,还有一个原因是C++/C#可以无缝兼容大多数游戏引擎。

游戏主机.目前主流的游戏主机有微软的XBOX和索尼的PlayStation。XBOX可以视为一个另类的PC机,它的游戏开发与现在Windows端的开发大同小异(同样可以使用Visualstudio),所以XBOX的主要编程语言也就同样是C++和C#。索尼的PlayStation使用的是一个类UNIX的操作系统,也就无法使用微软的C#语言了(要使用也可以,但很麻烦),所以就只能大量使用C++了。

WEB.WEB游戏是指运行在浏览器中以网页形式展现出来的一类游戏。本质上也就是一个网页,所以WEB游戏的编程语言也就主要是WEB开发语言,比如PHP,JS,HTML5等等。

移动终端。移动平台主要有安卓和iOS,安卓系统APP的主要编程语言是Java和kotlin,IOS是OC和swift。这些是APP的开发语言,而游戏也可以视为一种高性能的app。安卓下游戏主要框架由Java实现,部分需要进行大量计算的模块会使用C/C++的动态库来实现。iOS下由于其语言本身就很高效,所以基本上IOS下的游戏都是使用oc和swift两种编程语言来实现的。

做游戏用哪种语言?

游戏开发分网页游戏,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、脚本语言

脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。此命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。

早期的脚本语言经常被称为批量处理语言或工作控制语言。一个脚本通常是解释运行而非编译。

虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。

几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。

在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。

脚本编程速度更快,且脚本文件明显小于如同类C程序文件。这种灵活性是以执行效率为代价的。脚本通常是解释执行的,速度可能很慢,且运行时更耗内存。

在很多案例中,如编写一些数十行的小脚本,它所带来的编写优势就远远超过了运行时的劣势,尤其是在当前程序员工资趋高和硬件成本趋低时。

3、机器语言

由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。

只有目标程序才能被计算机直接识别和执行。但是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大,机器语言属于低级语言。

4、高级语言

高级语言是大多数编程者的选择。

和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。

同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,像最简单的编程语言PASCAL语言也属于高级语言。

参考资料:

百度百科-编程语言

游戏开发学什么语言

游戏开发需要学以下语言:

1.C++;

2.JavaScript;

3.HTML5;

4.c#。

Unity3需要使用C#与JavaScript,而虚幻4采用的是C++开发语言。很多小伙伴在这里听得是云里雾里,如果你制作的是企业级的游戏开发的话,一般C++语言会运用的多一些,因为一夜游戏属于大型游戏,要求足够高的运行效率。

而JavaScript和C#在这方面始端箱,如果开发小游戏,建议用C#,因为小游戏不需要考虑效率问题,C#足以应付。如果开发的是安卓游戏的话,只能用JavaScript语言。

学游戏编程用什么语言好?

很多语言都可以用来做游戏,但是语言并不是最重要的,游戏引擎的选择同样重要。不同的游戏引擎需要使用不同的编程语言进行开发。

简单介绍以下几门主流语言:

1. C++:

优点:在 Unreal Engine 和 CryEngine 这两个游戏去中,C++ 是主要的开发语言。这些引擎都提供了大量的 C++ API,可以让开发者在底层访问引擎。C++还可以在大部分平台进行移植。

缺点:C++ 的语法相对复杂,学习难度较高,需要花大量时间学习这门语言。

2. C#:

优点:在 Unity 中,C# 是主要的开发语言。Unity 提供了大量的 C# API,可以让开发者在高层次访问引擎。C# 还有很好的管理内存和线程的能力,更加适合开发角色扮演游戏等类型的游戏。

缺点:在 Unity 中,C# 的性能略逊于 C++,如果需要更高的性能,可能需要使用 C++ 插件。

3. Python:

优点:在 Blender Game Engine 中,Python 是主要的开发语言。它易于学习和使用,常用于游戏开发的编程。

缺点:在 Blender Game Engine 中,由于 Python 的运行速度较慢,所以不适合大型游戏的开发。

(责任编辑:IT教学网)

更多

推荐网络创业文章