首页 百科知识 游戏编程语言简介

游戏编程语言简介

时间:2022-10-05 百科知识 版权反馈
【摘要】:游戏编程应该用什么语言,没有人能给出简单的答案,不同的应用程序适用不同的编程语言。现就用于编写游戏的主要编程语言进行介绍,并分析其优缺点。C和C++都是基于C的语言,是目前最流行的编程语言。C#是微软公司发布的用于替代Java的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。Objective-C是扩充C语言的面向对象编程语言,不仅完全兼容标准C语言,而且在其基础上增加了面向对象编程语言的特性以及Smalltalk消息机制。

游戏编程应该用什么语言,没有人能给出简单的答案,不同的应用程序适用不同的编程语言。现就用于编写游戏的主要编程语言进行介绍,并分析其优缺点。

1. C/C++

C和C++都是基于C的语言,是目前最流行的编程语言。C语言常被用作系统以及应用程序的编程语言,如嵌入式系统的应用程序等;C++语言为C语言的增强,自出现后迅速成为开发人员之间最流行的语言之一,它适用于开发系统软件、应用软件、设备驱动程序、嵌入式软件、高性能服务器和客户端应用及娱乐软件,如视频游戏等。

其中,C语言用于游戏编程的特点如下:

①优点:易于编写小而快的程序,很容易与汇编语言结合,具有很高的标准化。

②缺点:不容易支持面向对象技术,语法有时候难以理解并造成滥用。

C++用于游戏编程的特点如下:

①优点:组织大型程序时比C语言好得多,具有优秀的支持面向对象机制,用数据结构减轻了由于处理低层细节而出现的负担。

②缺点:大而复杂,与C语言一样存在语法滥用问题,运行速度比C语言慢。

2.汇编语言

汇编语言是第一个计算机语言,也是计算机处理器实际运行的指令的命令形式表示法。汇编语言不会在游戏中单独应用,一般用在提高性能、节省时间的部分,比如,《毁灭战士》整体使用C来编写,但有几段绘图程序使用汇编。这些程序每秒钟要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。从C语言里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。

①优点:最小、最快的语言。汇编高手能编写出比用任何其他语言能更快实现的程序。

②缺点:语法晦涩难懂,为了坚持效率而导致出现大量额外代码,移植性很差。

3. Java Script

Java Script是一种解释性脚本语言,主要用于向HTML页面添加交互行为,可直接嵌入HTML页面或写成单独的js文件。随着V8引擎的出现,采用Java Script开发游戏也成为一个热点

V8 Java Script引擎是一个由丹麦Google开发的开源Java Script引擎,用于Google Chrome中。Virtual在执行之前将Java Script编译成机器码,从而进一步提高效能,其速度只比原生C++慢一点。

随着Node-js的发展,Java Script用来做服务器端开发已成为主流。网易的开源框架Pomelo也使Java Script可用于开发大型多人在线网络游戏。随着Unity3d的崛起,目前采用Unity3d开发3D手机游戏已成为主流,而Unity的官方推荐主流语言就是Java Script。

①优点:可减少数据传输,方便操纵HTML对象,支持分布式运算。

②缺点:各浏览器厂商对Java Script支持程度不同,安全性存疑。

4. Java

Java是Sun最初设计用于嵌入程序的可移植性“小C++”。在网页上运行小程序的想法着实吸引了不少人的兴趣,于是,这门语言迅速崛起。事实证明,Java不仅仅适于在网页上内嵌动画,而且由于“虚拟机”机制、垃圾回收以及没有指针等特点,Java很容易实现不易崩溃且不会泄漏资源的可靠程序。虽然不是C++的正式续篇,但Java从C++中借用了大量的语法,还丢弃了很多C++的复杂功能,最终形成一门紧凑而易学的语言。

①优点:适合多平台开发,易于掌握且移植性好,适用于网页、手机游戏和中小型游戏的开发。

②缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序比真正的编译器慢,效率较差。图形处理技术是短板,不适宜开发大型游戏。

5. C#

C#是微软公司发布的用于替代Java的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。它借鉴了Java、C、C++和Delphi的一些特点,同时也致力于消除编程中可能导致严重结果的错误。由于C#使C/C++程序员可以快速进行网络开发,同时还保持了开发者所需要的强大性和灵活性,如今C#已经成为微软应用商店和开发成员非常欢迎的开发语言。特别是,目前最火爆的移动平台3D游戏开发引擎Unity3D也支持C#开发,这使C#在游戏开发领域迎来新生

然而,C#也存在弱点,C#只能支持微软的平台,但微软在移动互联网领域的市场份额日益缩水,C#的地位也随之降低。

①优点:简单易学,Unity3D支持。

②缺点:只支持微软平台,而微软在移动互联网领域影响力甚微。

6. Python

Python是应用于设计各式应用程序的动态语言,语法简洁清晰,具有丰富而强大的类库。Python能够很轻松地把其他语言制作的各种模块(尤其是C/C++)连接在一起,因此被称为胶水语言。开发者可以使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块就可以用C/C++重写,然后封装为Python可以调用的扩展类库。

Pygame是专为电子游戏设计的跨平台Python模块。Pygame基于SDL库,开发者可以通过Pygame用Python语言创建完全界面化的游戏和多媒体程序,并且可以使其运行在几乎所有的平台和操作系统上。另外,Pygame是免费的,可以用来创建免费软件、共享软件和商业软件。

①优点:语法简洁清晰,开源免费,与C/C++有天然的融合性,适用于系统维护,例如网页游戏的后台服务。

②缺点:不具有完整的语法检查,效率较差。

7. Objective-C

Objective-C是扩充C语言的面向对象编程语言,不仅完全兼容标准C语言,而且在其基础上增加了面向对象编程语言的特性以及Smalltalk消息机制。

Objective-C主要用于Mac OS和GNUstep这两个使用Openstep标准的系统。它是编写IOS操作系统(如i Phone、i Pad等苹果移动终端设备)应用程序和Mac OS X操作系统应用程序的利器。由于i Phone手机的强大市场感召力,Objective-C的身价也随之倍增,成为近年来手游市场的宠儿。

①优点:编写IOS操作系统应用程序的唯一途径。

②缺点:语法复杂难以学习,虽然是C语言的超集,但与流行的编程语言风格差距太大。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈