关于游戏c 程序语言设计问题

用于编写游戏的主要编程语言的介绍及其优缺点
我的图书馆
用于编写游戏的主要编程语言的介绍及其优缺点
这是每个游戏编程FAQ里都有的问题。这个问题每星期都会在游戏开发论坛上被问上好几 次。这是个很好的问题,但是,没人能给出简单的答案。在某些应用程序中,总有一些计算 机语言优于其他语言。下面是几种用于编写游戏的主要编程语言的介绍及其优缺点。希望这 篇文章能帮助你做出决定。
如果说FORTRAN和COBOL是第一代高级编 译语言,那么C语言就是它们的孙子辈。C语言是Dennis Ritchie在七十年代创建的,它功能 更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。C语言 被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统 。在此之前,操作系统是使用汇编语言编写的,而且不可移植。C语言是第一个使得系统级代 码移植成为可能的编程语言。
C语言支持结构化编程,也就是说C的程序被编写成一些 分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代 码使用GOTO语句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的"空心粉式代码 "代码要简单得多。事实上,C仍然具有GOTO语句,不过它的功能被限制了,仅当结构化 方案非常复杂时才建议使用。
正由于它的系统编程根源,将C和汇编语言进行结合是 相当容易的。函数调用接口非常简单,而且汇编语言指令还能内嵌到C代码中,所以,不需要 连接独立的汇编模块。
优点:有益于编写小而快的程序。很容易与汇编语言结合。具 有很高的标准化,因此其他平台上的各版本非常相似。
缺点:不容易支持面向对象技 术。语法有时会非常难以理解,并造成滥用。
移植性:C语言的核心以及ANSI函数调 用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有 关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函 数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。
用C语言编写的游戏:非常非常多。
资料:C语言的经典著作是《The C Programming Language》,它经过多次修改,已经扩展到最初的三倍大,但它仍然是介绍C的 优秀书本。一本极好的教程是《The Waite Group''s C Primer Plus》。
C++语言是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构 化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对 象库存在,这使得编程简单得只需要将一些程序"建筑材料"堆在一起(至少理论 上是这样)。比如说,有很多的GUI和数据库的库实现为对象的集合。
C++总是辩论的 主题,尤其是在游戏开发论坛里。有几项C++的功能,比如虚拟函数,为函数呼叫的决策制定 增加了一个额外层次,批评家很快指出C++程序将变得比相同功能的C程序来得大和慢。C++的 拥护者则认为,用C写出与虚拟函数等价的代码同样会增加开支。这将是一个还在进行,而且 不可能很快得出结论的争论。
我认为,C++的额外开支只是使用更好的语言的小付出 。同样的争论发生在六十年代高级程序语言如COBOL和FORTRAN开始取代汇编成为语言所选的 时候。批评家正确的指出使用高级语言编写的程序天生就比手写的汇编语言来得慢,而且必 然如此。而高级语言支持者认为这么点小小的性能损失是值得的,因为COBOL和FORTRAN程序 更容易编写和维护。
优点:组织大型程序时比C语言好得多。很好的支持面向对象机 制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。
缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把 整个语言正确的实现。
移植性:比C语言好多了,但依然不是很乐观。因为它具有与C 语言相同的缺点,大多数可移植性用户界面库都使用C++对象实现。
使用C++编写的游 戏:非常非常多。大多数的商业游戏是使用C或C++编写的。
资料:最新版的《The C++ Programming Language》非常好。作为教程,有两个阵营,一个假定你知道C,另外一个 假定你不知道。到目前为止,最好的C++教程是《Who''s Afraid of C++》,如果你 已经熟知C,那么试一下《Teach Yourself C++》。
3、我该学习C++或是该从C开始
我不喜欢这种说法,但它是继"我该使用哪门语言"之后最经常被问及的问 题。很不幸,不存在标准答案。你可以自学C并使用它来写程序,从而节省一大堆的时间,不 过使用这种方法有两个弊端:
你将错过那些在游戏中可能是更有效的数据建模 方式。
不用马上开始学习 OO 编程,但可能要强制你改掉最终必须忘掉的编程坏 习惯,这一点请相信我。
最大的商业游戏,包括第一人称射击游戏很多并没 有使用C++。但是,这些程序的作者即使使用老的C的格式,他们通常坚持使用面向对象编程 技术。如果你只想学C,至少要自学OO(面向对象)编程技术。OO是仿真(游戏)的完美方法 ,如果你不学习OO,你将不得不"辛苦"的工作。
4、汇编语言
显然 ,汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式 表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语 且有相关的自我说明的语言,这不是你想要的。
确切的说,任何你能在其他语言里做 到的事情,汇编都能做,只是不那么简单 - 这是当然,就像说你既可以开车到某个地方,也 可以走路去,只是难易之分。话虽不错,但是新技术让东西变得更易于使用。
总的来 说,汇编语言不会在游戏中单独应用。游戏使用汇编主要是使用它那些能提高性能的零零碎 碎的部分。比如说,毁灭战士整体使用C来编写,有几段绘图程序使用汇编。这些程序每秒钟 要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。而从C里调用汇编写的函数是 相当简单的,因此同时使用两种语言不成问题。
特别注意:语言的名字叫"汇编 "。把汇编语言翻译成真实的机器码的工具叫"汇编程序"。把这门语言叫做 "汇编程序"这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出 发。
优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的 程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。
缺点:难学、 语法晦涩、坚持效率,造成大量额外代码 - 不适于心脏虚弱者。
移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使用了某个特殊处理 器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是 无法移植到其它奔腾系列的处理器上的)。
使用汇编编写的游戏:我不知道有什么商 业游戏是完全用汇编开发的。不过有些游戏使用汇编完成多数对时间要求苛刻的部分。
资料:如果你正在找一门汇编语言的文档,你主要要找芯片的文档。网络上如Intel 、AMD、Motorola等有一些关于它们的处理器的资料。对于书籍而言,《Assembly Language: Step-By-Step》是很值得学习的。
5、Pascal语言
Pascal语言是由Nicolas Wirth在七十年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学生的结构化编程感 到很失望,"空心粉式代码"变成了规范,而当时的语言又不反对它。Pascal被设 计来强行使用结构化编程。最初的Pascal被严格设计成教学之用,最终,大量的拥护者促使 它闯入了商业编程中。当Borland发布IBM PC上的 Turbo Pascal时,Pascal辉煌一时。集成 的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写 小程序的首选语言。
然而时日不久,C编译器变得更快,并具有优秀的内置编辑器和 调试器。Pascal在1990年Windows开始流行时走到了尽头,Borland放弃了Pascal而把目光转 向了为Windows 编写程序的C++。Turbo Pascal很快被人遗忘。
最后,在1996年, Borland发布了它的"Visual Basic杀手"- Delphi。它是一种快速的带华丽用户界 面的 Pascal编译器。由于不懈努力,它很快赢得了一大群爱好者。
基本上,Pascal 比C简单。虽然语法类似,它缺乏很多C有的简洁操作符。这既是好事又是坏事。虽然很难写 出难以理解的"聪明"代码,它同时也使得一些低级操作,如位操作变得困难起来 。
优点:易学、平台相关的运行(Dephi)非常好。
缺点:"世界潮流 "面向对象的Pascal继承者(Modula、Oberon)尚未成功。语言标准不被编译器开发者 认同。专利权。
移植性:很差。语言的功能由于平台的转变而转变,没有移植性工具 包来处理平台相关的功能。
使用Pascal编写的游戏:几个。DirectX的Delphi组件使 得游戏场所变大了。
资料:查找跟Delphi有关的资料,请访问:Inprise Delphi page。
6、Visual Basic
哈,BASIC。回到八十年代的石器时代,它是程序初 学者的第一个语言。最初的BASIC形式,虽然易于学习,却是可怕的无组织化,它义无返顾的 使用了GOTO充斥的"空心粉式代码"。当回忆起BASIC的行号和GOSUB命令,没有几 个人能止住眼角的泪水。
快速前进到九十年代早期,虽然不是苹果公司所希望的巨人 ,HyperCard仍然是一个在Windows下无法比拟的吸引人的小型编程环境。Windows下的 HyperCard克隆品如ToolBook又慢又笨又昂贵。为了与HyperCard一决高下,微软取得了一个 小巧的名为Thunder编程环境的许可权,并把它作为Visual Basci 1.0发布,其用户界面在当 时非常具有新意。这门语言虽然还叫做Basic(不再是全部大写),但更加结构化了,行号也 被去除。实际上,这门语言与那些内置于TRS-80、Apple II及Atari里的旧的ROM BASIC相比 ,更像是带Basic风格动词的Pascal。
经过六个版本,Visual Basic变得非常漂亮。用户界面发生了许多变化,但依然保留着"把代码关联到用户界面"的主旨。这使 得它在与即时编译结合时变成了一个快速原型的优异环境。
优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的DirectX插件, DirectX 7已准备提供Visual Basic的支持。
缺点:程序很大,而且运行时需要几个 巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序 却比较难。调用Windows的API程序非常笨拙,因为VB的数据结构没能很好的映射到C中。有OO 功能,但却不是完全的面向对象。专利权。
移植性:非常差。因为Visual Basic是微 软的产品,你自然就被局限在他们实现它的平台上。也就是说,你能得到的选择是:Windows ,Windows或Widnows。当然,有一些工具能将VB程序转变成Java。
使用Visual Basic 编写的游戏:一些。有很多使用VB编写的共享游戏,还有一些是商业性的。
资料:微 软的VB页面有一些信息。
Java是由Sun最初设计用于嵌入程序的可移 植性"小C++"。在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门 语言迅速崛起。事实证明,Java不仅仅适于在网页上内嵌动画 - 它是一门极好的完全的软件 编程的小语言。"虚拟机"机制、垃圾回收以及没有指针等使它很容易实现不易崩 溃且不会泄漏资源的可靠程序。
虽然不是C++的正式续篇,Java从C++ 中借用了大量 的语法。它丢弃了很多C++的复杂功能,从而形成一门紧凑而易学的语言。不像C++,Java强 制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写"空心粉式代码 "一样困难。
优点:二进制码可移植到其他平台。程序可以在网页中运行。内含 的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代 码例程。
缺点:使用一个"虚拟机"来运行可移植的字节码而非本地机器码 ,程序将比真正编译器慢。有很多技术(例如"即时"编译器)很大的提高了Java 的速度,不过速度永远比不过机器码方案。早期的功能,如AWT没经过慎重考虑,虽然被正式 废除,但为了保持向后兼容不得不保留。越高级的技术,造成处理低级的机器功能越困难, Sun为这门语言增加新的"受祝福"功能的速度实在太慢。
移植性:最好的 ,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是,很多UI及新功能 在某些平台上不稳定。
使用Java编写的游戏:网页上有大量小的Applet,但仅有一些 是商业性的。有几个商业游戏使用Java作为内部脚本语言。
资料:Sun的官方Java页 面有一些好的信息。IBM也有一个非常好的Java页面。JavaLobby是一个关于Java新闻的最好 去处。
8、创作工具
上面所提及的编程语言涵盖了大多数的商业游戏。但是也 有一个例外,这个大游戏由于它的缺席而变得突出。
"神秘岛"。
没错,卖得最好的商业游戏不是使用以上任何一门语言编的,虽然有人说" 神秘岛"99%是使用 3D建模工具制作的,其根本的编程逻辑是在 HyperCard 里完成的。
多数创作工具有点像Visual Basic,只是它们工作在更高的层次上。大多数工具使用 一些拖拉式的流程图来模拟流程控制。很多内置解释的程序语言,但是这些语言都无法像上 面所说的单独的语言那样健壮。
优点:快速原型 - 如果你的游戏符合工具制作的主 旨,你或许能使你的游戏跑得比使用其他语言快。在很多情况下,你可以创造一个不需要任 何代码的简单游戏。使用插件程序,如Shockware及IconAuthor播放器,你可以在网页上发布 很多创作工具生成的程序。
缺点:专利权,至于将增加什么功能,你将受到工具制造 者的支配。你必须考虑这些工具是否能满足你游戏的需要,因为有很多事情是那些创作工具 无法完成的。某些工具会产生臃肿得可怕的程序。
移植性:因为创作工具是具有专利 权的,你的移植性以他们提供的功能息息相关。有些系统,如Director可以在几种平台上创 作和运行,有些工具则在某一平台上创作,在多种平台上运行,还有的是仅能在单一平台上 创作和运行。
使用创作工具编写的游戏:"神秘岛"和其他一些同类型的探 险游戏。所有的Shockwave游戏都在网络上。
资料:Director、HyperCard、 SuperCard、IconAuthor、Authorware。
你可能希望得到一个关于 "我该使用哪种语言"这个问题的更标准的结论。非常不幸,没有一个对所有应用 程序都最佳的解决方案。C适于快而小的程序,但不支持面向对象的编程。C++完全支持面向 对象,但是非常复杂。Visual Basic与Delphi易学,但不可移植且有专利权。Java有很多简 洁的功能,但是慢。创作工具可以以最快的速度产生你的程序,但是仅对某一些类型的程序 起作用。最好的方法是决定你要写什么样的游戏,并选择对你的游戏支持最好的语言。"试用三十天"的做法成为工业标准是件好事情。
喜欢该文的人也喜欢从玩游戏到写外挂,C语言程序员是怎样做到的!从玩游戏到写外挂,C语言程序员是怎样做到的!maye百家号今天和大家分享一下我自己的C语言学习的过程,与大家共勉。嗯,由于我本人水平有限,出现错误在所难免,希望大家看到后能够指出来,以便大家共同进步。首先我来讲讲为什么要学c语言:第一C语言是一门基础语言,是学习其他语言的基础。据说java和.Net的底层都是用C语言来编写的,windows和linux内核也是C语言来编写的。第二C语言功能强大。因为C语言拥有指针这一强大的工具,所以有着更高的权限可以让我们使用更多的功能,像java就不能操作其他程序,不能用于写外挂,写一些黑客工具什么的。第三C语言程序员的薪水比较高。(^-^)也是楼主学习的动力哦。啦啦啦啦。想要更深入学习的可以加下我自己建的C/C++学习交流群,欢迎喜欢C/C++的各位大神小神前来学习交流,每天晚上群里面也会有大佬直播企业项目开发学习,更有各种项目案例供你自己学习哦。下面介绍下学C的基本要求:学习C语言,不需要多少英语。你只需要记得32个关键字。一天10个,也就3天学完。auto 局部变量(自动储存)break无条件退出程序最内层循环case switch语句中选择项char单字节整型数据const定义不可更改的常量值continue中断本次循环,并转向下一次循环default switch语句中的默认选择项do 用于构成do.....while循环语句double定义双精度浮点型数据else构成if.....else选择程序结构enum枚举extern在其它程序模块中说明了全局变量float定义单精度浮点型数据for构成for循环语句goto构成goto转移结构if构成if....else选择结构int基本整型数据long长整型数据registerCPU内部寄存的变量return用于返回函数的返回值short短整型数据signed有符号数sizoef计算表达式或数据类型的占用字节数static定义静态变量struct定义结构类型数据switch构成switch选择结构typedef重新定义数据类型union联合类型数据unsigned定义无符号数据void定义无类型数据volatile该变量在程序中执行中可被隐含地改变while用于构成do...while或while循环结构然后你在记住9种控制结构就OK。goto语句:无条件转向;if语句:判断语句;while循环语句;do-while语句:先执行循环体,然后判断循环条件是否成立. 之后继续循环;for语句:循环,可替代while语句; 只是用法不同;break语句跳出本层的循环;(只跳出包含此语句的循环)continue语句:继续(一般放到循环语句里,不在执行它下面的语句,直接跳到判断语句例:for语句,就直接跳到第二个分号处,while语句,就直接跳到while()的括号里;switch语句:多相选择;return语句:返回;数学要不要多好?不要,你只要初二毕业,会用+加 -减 *乘 /除 %取余即可。正式进入C语言学习俗话说得好学C不学hello blueshell1949,学C也白学了。所以我们的第一个也是学习的东西也是一个简单的hello程序。你可能会说:天呀,楼主又在讲这么乏味的东西了,这个东西我TMD早就从老谭的烂书上学会了,还屁用没有,不就是用个printf么?我TMD连printf的中文意思是打印都知道了还要你教,这楼主肯定是个坑货,尽教点没用的东西,我要走了。看官且慢,我今天要讲hello blueshell1949 我肯定要带大家玩出个新意啦,才能不负大家的看帖功夫呀,下面且看看慢慢道来:第一个呀,我们先用vs2013玩玩,先看一个这就是我们的第一个hello blueshell1949.怎么样很神奇吧。摆脱了黑窗口哦。下面我们贴出代码。int main(){MessageBoxA(0, "HELLO blueshell1949", "First C", 0);return 0;}我们来看看是怎么实现的在这里我们使用了一个windows库,这里面是window系统函数。在第一课里我们不需要知道这里面有什么,怎么用的,按我写的就行了。我们使用messageboxA这个函数,作用是弹出一个系统对话框,第一个参数是0由系统弹出,第二个参数是文本内容,第三个参数是标题,第四个参数吗,嘿嘿,我来给大家演示一下。我改动了一个参数,大家发现有什么差异了么?是弹出的对话框的选项差异。大家还可以自己改一改,看看能有多少种变化哦!嘿嘿。下面我们对着这个基础上我们加一点东东,我们先来看一看效果:是不是在左上角看到一个hello blueshell1949呀。我们是怎么做到的了?下面我们来看代码#include#includeint main(){printf("Hello blueshell1949");MessageBoxA(0, "HELLO blueshell1949", "First C", 1);return 0;}我们与上面代码的区别是什么了?是不是只是多了一行printf(“hello blueshell1949”);Printf()函数的功能就是打印出来。好了玩玩这个以后我们在换一个玩,在longlongago以前,大神们还买不起电脑,怎么办了,我们还是要学习编程的,于是乎我们左思右想,终于我们想到了,我们可以去网吧呀。那里有机子可以用的。于是咱们就兴高采烈的跑到旁边XXX网络会所。诶呀,为了学编程,怎么不能不下ide了,于是咱么就去msdn下了一个vs2013,我嚓嘞,这货竟然有7个g,怎么办了,只有等呗,哎,等待的时间是漫长的,还有78%没下,我们干什么去消磨下时间了。听说麻生希老师又出新片了。。。。口水。。。。我们去找找吧。。。。。。。。。seaching。欸,这个网站有片,,嗯?要下载播放器,那就下吧,,,,,,下载ing,,,,,,,,安装,,,,麻生希老师你等我,,,口水,,,我擦勒,,,,,病毒,,,,重启了。。。。。。。。。。。马丹,老子下的ide 。。。。。。。。。。。。。。。。。开机重新下,这回咱不看了,,,,时间总是漫长的,,,,,我门去打一盘dota2吧。。。。。。。。。嘿嘿嘿,,,我要超神了。。。。卧槽,,,黑屏了。。。。。什么破网吧,,,连data2都带不起。。。。。。。tmd我又重新开机了。。。。。。。。。。。。。这回我不弄其他的了,我等你下完。。。vs2013,,,,,,编个程好难呀。。。。终于下完了,,,啦啦啦,,,,安装ing ,安装完成请重新启动计算机让vs2013生效。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。我去年买了个表。我TMD不用ide了。我们用记事本编程吧。教大家一个小技巧哦。win+R 然后输入notepad就可以打开记事本哦。好了,我们在记事本里输入以下代码:我们保存为1.c然后打开我们进入我们开始的1.c所在路径C/C++学习交流群我们输入cl 1.c我们就可以得到编译后的文件。等同与ide里的编译运行。我们输入1.exe,我们可以看到效果我们刚才是手动打开记事本的,好麻烦呀,我们能不能自己写个程序自动打开记事本了?答案是可以的。我们来试试:我们输入以下代码。我们在来cl一下。。。。我们可以得到以下结果我们可以看到我们输出了blueshell1949真幽默,我要给他生猴子。并且打开了一个记事本。我门比较下,我们与上面的代码有哪些差异。多了两行代码#include 《stdlib.h》System(“notepad”);我在这里解释下概念,stdlib是C语言的标准库。System是个函数可以调用其它功能。比如notepad就是记事本,calc就是计算器。。。如此总总。在这里我们只学习了两三个函数就可以做出很多东西来了。那么大家还对C入门感觉困难么?本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。maye百家号最近更新:简介:当时间的主人,命运的主宰,灵魂的舵手。作者最新文章相关文章为什么多数游戏服务端是用 C++ 来写呢,是历史原因还是性能方面的考虑? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="9,456分享邀请回答7718 条评论分享收藏感谢收起64985 条评论分享收藏感谢收起一种C语言小游戏程序设计(程序已经附上)_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
一种C语言小游戏程序设计(程序已经附上)
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
&#xe64e;加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢游戏编程_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
游戏编程指利用计算机编程语言,如C编程语言、、java等,编写计算机、手机或游戏机上的游戏。 目前流行的游戏编程语言为C++编程语言,游戏编程接口为9.0、和SDL(Simple DirectMedia Layer)等。现在手机上玩的游戏分为Android与IOS两种平台,分别是用java和object-c(或swift)。当然时下也流行一些跨平台的编程,例如cocos2d-x、unity 3D等。
游戏编程简介
游戏编程指利用计算机编程语言,如C编程语言、编程语言、等,编制计算机、手机或游戏机上的游戏。
游戏编程角色扮演游戏
由玩家扮演游戏中的一个或数个角色,有完整的故事情节的游戏。玩家可能会与冒险类游戏混淆,其实区分很简单,RPG游戏更强调的是剧情发展和个人体验。一般来说,RPG可分为日式和欧美式两种,主
要区别在于文化背景和战斗方式。日式RPG多采用或半即时制战斗,以感情细腻、情节动人、人物形象丰富见长,如《》系列、《》系列、《XX传说》系列,大多国产中文RPG也可归为日式RPG之列,如大家熟悉的《》、《》等;欧美式RPG多采用即时或半即时制战斗,特点是游戏有很高自由度,严谨的背景设计,开放的地图和剧情,耐玩度较高,如《创世纪》系列、《》系列。
RPG游戏是最能引起玩家共鸣的游戏类型。其诞生以ENIX的《》发售为标志,开始了漫长的RPG时代。RPG游戏能把游戏制作者的世界完整的展现给玩家。架构一个或虚幻,或现实的世界,让玩家在里面尽情的冒险,游玩,成长,感受制作者想传达给玩家的观念。RPG游戏没有固定的游戏系统模式可寻,因为其系统的目的是构建制作者想象中的世界。但是,所有的RPG游戏都有一个标志性的特征,就是代表了能力成长的升级系统,而程序构建的世界就是各个RPG游戏的个性所在。与其他游戏类型不同,虽然RPG游戏的表现是立体,多元的,但其根本都是为故事情节的表现。根据战斗形式的不同,RPG还可以分为依照《勇者斗恶龙》、《》等游戏的回合制战斗系统发展而来的正统RPG,融合ACT要素的如《塞尔达传说》、《辐射》等的A·RPG,还有融合SLG要素如《》、《》等的S·RPG。此外欧美式RPG元素较多(创新从哪来.就是不停地在RPG里加进一些别的,如ACT、SLG、FGT、FPS甚至RTS等等等等),系统比较复杂,特征不算明显,争议较大,并还有游戏内容皆即时进行的即时RPG这一类别如《上古卷轴4》。
游戏编程动作游戏
玩家控制游戏人物用各种方式消灭敌人或保存自己以过关的游戏,不刻意追求故事情节,如《》、《》等等。电脑上的动作游戏大多脱胎于早期的街机游戏如《》、《》等,设计主旨是面向普通玩家,以纯粹的娱乐休闲为目的,一般有少部分简单的解谜成份,操作简单,易于上手,紧张刺激,属于“大众化”游戏。
ACT游戏讲究打击的爽快感和流畅的游戏感觉,其中日本CAPCOM公司出的动作游戏最具代表性。在2D系统上来说,应该是在卷动(横向,纵向)的背景上,根据代表玩家的活动块与代表敌人的活动块以攻击判定和被攻击判定进行碰撞计算,加入各种视觉,听觉效果而成的游戏,其中经典有《》、《》。到3D游戏发展迅速的今天,ACT类游戏获得了进一步的发展,逼真的形体动作、火爆的打斗效果、良好的操作手感及复杂的攻击组合,代表作品为称作三大ACT的《》系列、《》系列、《战神》系列。
游戏编程冒险游戏
由玩家控制游戏人物进行虚拟冒险的游戏。与RPG不同的是,AVG的特色是故事情节往往是以完成一个任务或解开某些迷题的形式来展开的,而且在游戏过程中着意强调谜题的重要性。AVG也可再细分为动作类和解迷类两种,解迷类AVG则纯粹依靠解谜拉动剧情的发展,难度系数较大,代表是超经典的《神秘岛》系列、《》系列;而动作类(A·AVG)可以包含一些ACT、FGT、FPS或RCG要素如《生化危机》系列、《》系列、《》系列等。
AVG才出现时,指的是类似《神秘岛》系列那样的平面探险游戏,多根据各种推理小说,悬念小说及惊险小说改编而来。在当时,其系统基本就是载入图片,播放文字,音乐,音效,然后循环。或者会有玩家的互动,但是也很有限。玩家的主要任务是体验其故事情节。直到《生化危机》系列诞生以后才重新定义了这一新类型,产生了融合动作游戏要素的冒险游戏(A·AVG),最具代表性的作品就是CAPCOM的《生化危机》系列。
游戏编程第一人称射击游戏
第一人称射击游戏(First-Person Shooting)FPS游戏在诞生的时候,因3D技术的不成熟,无法展现出它的独特魅力,就是给予玩家及其强烈的。《》的诞生带来了FPS类游戏的崛起,却也给现代医学带来了一个新的名词——DOOM症候群(即)。随着3D技术的不断发展,FPS也向着更逼真的画面效果不断前进。可以这么说,FPS游戏完全为表现3D技术而诞生的游戏类型。代表作品有《虚幻竞技场》系列、《半条命》系列、《彩虹六号》系列、《》系列、《》系列。(红遍我国大江南北的《》是《半条命》的一个MOD游戏,是开发厂商发现其商业价值后才独立出来游戏,故未列入此行列)
游戏编程第三人称射击类游戏
第三人称射击类游戏指游戏者可以通过游戏画面观察到自己操作的人物,进行射击对战的游戏。
与的区别在于第一人称射击游戏里屏幕上显示的只有主角的视野,而中主角在游戏屏幕上是可见的。这样可以更直观的看到角色的动作、服装等第一人类游戏中表现不出来的部分,更有利于观察角色的受伤情况和周围事物,以及弹道。
第三人称游戏比第一人称游戏增加了更多的动作元素,比如翻滚、攀爬、疾跑、格斗等,在使用各种技能的同时,玩家还能观察到自己角色流畅的动作,增加了游戏整体的流畅感与爽快感。
第一人称游戏摄像机的角度是以自身为基准,视野覆盖比较小,虽然带入了真实的感觉,但是在战斗中,由于视野狭窄,经常无法看见处于自身视野死角的敌人,如果是第三人称射击类游戏,可以在视野上提供更多的选择——能看见来自后方的弹道,当自己身处掩体后面,还能从更广阔的角度观察处于第一人称死角的敌人等。
代表作:无间地狱、细胞分裂、失落的星球、马克思佩恩。
游戏编程格斗游戏
由玩家操纵各种角色与电脑或另一玩家所控制的角色进行格斗的游戏,游戏节奏很快,耐玩度非常高。按呈画技术可再分为2D和3D两种,2D格斗游戏有著名的《街头霸王》系列、《》系列等;3D格斗游戏如《铁拳》、《》等。此类游戏谈不上什么剧情,最多有个简单的场景设定或背景展示。场景布置、人物造型、操控方式等也比较单一,但操作难度较大,对技巧要求较高,主要依靠玩家迅速的判断和微操作取胜。
2D FTG游戏的系统就是在固定背景画面下的活动块碰撞计算,是动作游戏的战斗部分的进一步升华。现今的2D FTG系统可以说是由CAPCOM的《街头霸王》系列定义的,对战中的各种判定,摇动摇杆后按下相应的按键使出威力强大的必杀技(日本词汇,从此流入中国)。《拳皇》系列成功的定义了“超必杀技”系统。玩家在达到了某种相对而言比较苛刻的条件后就可以使出有可能逆转对战结果的“超必杀技”,增加了对战结果的多变性。
游戏编程体育类游戏
在电脑上模拟各类竞技体育运动的游戏,花样繁多,模拟度高,广受欢迎,如《实况足球》系列、《》系列、《》系列、《2K》系列、《ESPN体育》系列等。
游戏编程竞速游戏
在电脑上模拟各类赛车运动的游戏,通常是在比赛场景下进行,非常讲究图像音效技术,往往是代表电脑游戏的尖端技术。惊险刺激,真实感强,深受车迷喜爱,代表作有《》、《》等。另一种说法称之为&Driving Game&。RAC内涵越来越丰富,出现了另一些其他模式的竞速游戏,如赛艇,赛马等。
RAC以体验驾驶乐趣为游戏述求,给以玩家在现实生活中不易达到的各种“汽车”竞速体验,玩家在游戏中的唯一目的就是“最快”。2D RAC的系统就是系统给定的路线(多为现实中存在的著名赛道)内,根据玩家的速度值控制背景画面的卷动速度,让玩家在躲避各种障碍的过程中,在限定的时间内,赶到终点。由于2D的制约,很难对“速度”这一感觉进行模拟,所以成功作品相当有限,日本任天堂公司的《F ZERO》应该是其中最有代表性的作品。到3D RAC时代,RAC在3D技术构建的游戏世界中终于充分发挥了其速度的魅力。代表作品有:EA的《极品飞车》系列,NAMCO的《山脊赛车》系列,SCE的《》系列。
游戏编程即时战略游戏
本来属于策略游戏SLG的一个分支,但由于其在世界上的迅速风靡,使之慢慢发展成了一个单独的类型,知名度甚至超过了SLG,有点象国际足联和国际奥委会的关系。RTS一般包含采集、建造、发展等战略元素,同时其战斗以及各种战略元素的进行都采用即时制。代表作有《》、《魔兽争霸》系列、《》系列等等。后来,从其上又衍生出了所谓“即时战术游戏(RTT)”,即RTS的各种战略元素不以或不全以即时制进行,或者少量包含战略元素。RTT多以控制一个小队完成任务的方式,突出战术的作用,以《》为代表。
RTS游戏是战略游戏发展的最终形态。玩家在游戏中为了取得战争的胜利,必须不停的进行操作,因为“敌人”也在同时进行着类似的操作。就系统而言,因为CPU的指令执行不可能是同时的,而是序列的,为了给玩家照成“即时进行”的感觉,必须把游戏中各个势力的操作指令在极短的时间内交替执行。因为CPU的运算足够快,交替的时间间隔就非常小。RTS游戏的代表作品有WESTWOOD的《》系列、《》系列,BLIZZARD的《星际争霸》、《魔兽争霸》系列,目标的《傲世三国》系列。
游戏编程射击类游戏
这里所说的射击类,并非是类似《VR战警》的模拟射击(枪战),而是指纯粹的飞机射击,或者在敌方的枪林弹雨中生存下来,一般由玩家控制各种飞行物(主要是飞机)完成任务或过关的游戏。此类游戏分为两种,一叫科幻飞行模拟游戏(SSG=Science-Simulation Game),非现实的,想象空间为内容,如《》、《星球大战》系列等;另一种叫真实飞行模拟游戏(RSG=Real- Simulation Game),以现实世界为基础,以真实性取胜,追求拟真,达到身临其境的感觉。如《》系列、《苏-27》等等。另外,还有一些模拟其他的游戏也可归为STG,比如模拟潜艇的《猎杀潜航》,模拟坦克的《》等。STG也可以按照视角版面分为:纵版、、主观视角。
纵版:最为常见,如街机中的《》、《鲛鲛鲛》、《空牙》等,都堪称经典之作。
横版:横轴射击,如《沙罗曼蛇》系列、《战区88》
主观视角:仿真,模拟战机就属此类。
一般指的是卷轴式射击游戏,出现的相当的游戏类型。纯2D STG的系统是在卷动的背景图片上,玩家自机的活动块与敌方子弹(和战机)的活动块,自机子弹的活动块和敌战机的碰撞计算。玩家在游戏中的目的就是获得最高分数的记录,或者是在敌方的枪林弹雨中成功存活。代表作品有的《194X》系列,CAVE的《首领蜂》系列,IREM的《雷电》系列。伪3D的作品有《》系列,《》系列。
游戏编程策略游戏
SLG是指玩家运用策略与电脑或其它玩家较量,以取得各种形式胜利的游戏,或统一全国,或开拓外星殖民地。SLG的4E准则为:探索、扩张、开发和消灭(Explore、Expand、Exploit、Exterminate)。SLG可分为回合制和即时制两种,如《英雄无敌》系列、《》系列;即时制策略游戏如《文明》系列、《命令与征服》系列、《帝国》系列、《》系列等。广义概念下的SLG是非常庞大的,模拟类游戏亦在其广义范畴之内,但有别于SIM(Simulation Game:生活模拟),经过长时间演变,SLG包含四类:战棋类(如《梦幻模拟战》、《风色幻想》)、回合制类、即时制类、模拟类(《》、《空中三角洲》)。
有多种含义,一是指对飞机,坦克,机器人等一般玩家接触不到的设备的虚拟体验,以及对某种现实生活的体验,也是专门指战棋式战略游戏。就系统而言,模拟类是对设备(或某类型的现实生活)的各种操作及其产生的结果进行模拟,根据模拟对象而定;而战棋类游戏的系统主要是在模拟地图(棋盘)上,玩家根据行动顺序的指定自方角色行动,与敌方角色进行虚拟战斗。模拟类型的游戏,具有代表性的有微软的《模拟飞行》系列,NAMCO的《皇牌空战》系列,KONAMI的《空中三角洲》系列;经营模拟类的有的《》系列、《卧龙吟》、微软的《》系列;战棋类的有INTELLIGENT的《火焰之纹章》系列,ENTERBRAIN的《泪之指环传说》系列,宇峻的《》系列。
游戏编程音乐游戏
培养玩家音乐敏感性,增强音乐感知的游戏。伴随美妙的音乐,有的要求玩家翩翩起舞,有的要求玩家,例如大家都熟悉的,就是个典型,人气网游《》也其列。
MUG游戏的诞生以日本的《复员热舞革命》为标志,初诞生便受到业界及玩家的广泛好评。其系统说起来相对简单,就是玩家在准确的时间内做出指定的输入,结束后给出玩家对节奏把握的程度的量化评分。这类游戏的主要卖点在于各种音乐的流行程度。这类游戏的代表作品有《复员热舞革命》系列,《太鼓达人》系列,《DJ》系列。
游戏编程生活模拟游戏
区别于SLG(策略游戏),此类游戏高度模拟现实,能自由构建游戏中人与人之间的关系,并如现实中一样进行人际交往,且还可联网与众多玩家一起游戏,如《模拟人生》。
游戏编程育成游戏
以前GB系列泛用,一般大家都用 EDU(Education)来指代该类游戏,以便于和“Trading Card Game”区分开。 顾名思义,就是玩家模拟培养的游戏,如《》、《》、《零波丽育成计划》等等。
游戏编程卡片游戏
玩家操纵角色通过卡片战斗模式来进行的游戏。丰富的卡片种类使得游戏富于多变化性,给玩家无限的乐趣,代表作有著名的《》系列、《游戏王》系列,包括卡片网游《武侠Online》,从广义上说《》也可以归于此类。 此外还有TCG游戏,TCG全称是“Trading Card Game”,即“”,是把特定主题的卡牌构成自己的卡堆,利用各种卡牌和战略跟对方进行对战的卡牌游戏。目前全世界最热门的TCG当属公司所出品的以西方的神话传说为背景的“万智牌”。
游戏编程恋爱游戏
玩家回到初恋的年代,回味感人的点点滴滴,模拟恋爱的游戏。恋爱不是游戏,但偏偏有恋爱游戏,恋爱类游戏主要是为男性玩家服务的,也有个别的。可以训练追求的技术,学会忍耐。代表作有日本的《心跳回忆》系列、《思君》,国人的《青涩宝贝》、《秋忆》等。
游戏编程美少女游戏
GALGAME是一类走极端的游戏,它几乎放弃了所有游戏性,而仅以剧情取胜,是以其在人物塑造、情节张力方面有着它类游戏所无可企及的高度,如《AIR》、《Fate/stay night》、《School Days》等。GALGAME还可以细分,纯电子剧本类如《秋之回忆》等,半电子剧本半其他类如《》(半SLG)等。GALGAME盛产于日本,伟大于中国,不过由于该类游戏的极端性,要么极端喜爱、要么就是极端厌恶。
游戏编程手机游戏
手机上的游戏。游戏随处可以玩,连手机也必带休闲游戏,网民最喜欢手机游戏的种类,益智类比率最高,其次依次为动作类、战略类、模拟类、射击类。列举几个手机游戏例子:《金属咆哮》、《前传》等。但《最终幻想7 前传》由于制作厂商SE改变策略,后来改在PSP平台上发布。
游戏编程大型多人在线角色扮演游戏
举几个典型的例子:《网络创世纪》、《无尽的任务》、《A3》、《魔兽世界》、《Ⅱ》等。
游戏编程动作角色扮演类游戏
所谓ARPG 即从英文Action Role Playing Game 中翻译而来。中文含义为“动作”。ARPG代表作为:《》系列 《》系列 《龙与地下城》系列等。
游戏编程其他类游戏
指玩家互动内容较少,或作品类型不明了的游戏类型。常见于种类丰富的游戏,如音乐小说《》系列等。还有某些游戏的周边设定集(如《》屏保壁纸集)等,电脑游戏中较少出现,即使有也多是移植自家用机游戏。
游戏编程动漫游戏
以同名动漫为原型而制作的游戏,但也有一些动漫游戏纯粹的以动漫人物与类似动漫的情节为主板;其中以同名动漫为原型而改编的游戏可能占得比例多些,例如《手机少女》、《新世纪福音战士 钢铁的女友》、《致命伪装》以及《狼与香辛料 我与赫萝的一年》等;而另外一些纯粹的以动漫人物与类似动漫的情节为主板的游戏例如《》等。
清除历史记录关闭

我要回帖

更多关于 非unicode程序语言 的文章

 

随机推荐