Visual C++游戏开发案例实战(光盘内容另行下载,地址见书封底)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-12 21:44:45

点击下载

作者:王浩

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Visual C++游戏开发案例实战(光盘内容另行下载,地址见书封底)

Visual C++游戏开发案例实战(光盘内容另行下载,地址见书封底)试读:

前言

现在的电脑游戏软件开发都是依靠大量的设计和测试人员共同合作完成的,而如何能够有效控制成本,提高项目开发效率才是重中之重。但在现有大多数的电脑游戏开发教程中,只对游戏中的算法和程序进行了详细讲解,而忽略了现代软件开发最基本的内容,即项目过程管理。本书的目的就是为了让更多的C++语言游戏开发初学者,除了对游戏算法和程序能够充分掌握外,还能够对游戏开发中的项目管理有一个系统、全面的认识。同时为今后参加游戏项目开发打下良好的基础。

笔者结合自己多年的实际项目和团队管理经验精心编写了这本书,目的是让更多的人知道如何编写项目管理文档,同时提高实际项目开发经验,尤其是为电脑游戏开发的新手进入游戏开发行业提供一个项目知识的阶梯。本书也是广大初中级游戏开发人员提高自己的游戏开发水平、完善自己的知识结构、扩展自己的项目知识面的好参谋。

阅读完本书,读者可以有以下收获:

❑ 让游戏开发初学者能够真正掌握游戏开发的基本知识;

❑ 建立起基本的项目管理知识,丰富实际项目开发经验;

❑ 可以单独完成游戏项目管理文档,并能够对用户的需求进行初步分析;

❑ 可以利用游戏开发的知识,设计简单的VC++游戏程序;

❑ 可以开发联机的网络游戏,提高游戏开发水平;

❑ 了解一些完整的项目实例,为以后参加实际项目开发打下一个坚实的基础。

本书特色

本书深入浅出地讲解了各种电脑游戏的基本理论和方法,以及目前流行的各种游戏开发技术和常用的开发工具。本书对游戏开发的基础知识和项目管理的介绍比较详细,而且考虑很多读者在 Windows 编程和开发语言方面还是个新手,所以给出了很多简单的、用C++编程语言来开发的Windows程序实例,介绍的比较清晰、易懂。对于一些常见问题,本书给出了套路式解决问题的方法,为初学者学写游戏程序提供了一个练习的途径,并对软件项目管理与软件测试方法进行了详细的讲解,便于读者对这些不熟悉的知识点进行学习。同时,本书采用大量的项目开发实例来对游戏开发过程进行详细讲解,以提高读者的实际项目经验。本书区别于市面上其他的游戏开发类书的特色主要有:

1.配多媒体语音教学视频光盘

笔者专门为本书录制了12个小时高清多媒体教学视频,以便读者更加直观地理解本书内容,提高学习效率。另外,配书光盘中还提供了本书涉及的案例源程序,并赠送了大量的进阶开发视频和源代码,相信对读者的学习会有很大的帮助。

2.由浅入深,循序渐进

本书从游戏开发的基础知识开始讲解,然后从项目开发的角度全面介绍一个完整的五子棋游戏项目案例的开发,最后给出几个各具特色的游戏案例的实现。

3.项目案例丰富、典型

本书中完整实现了五子棋(网络版)、贪吃蛇、俄罗斯方块、连连看、黑白棋、扫雷、推箱子等多款经典游戏项目案例的设计和实现。它们涵盖了多种游戏的经典算法,非常有代表性。

4.代码经典,注释详细

本书详细地讲解了每个项目案例的设计和实现过程,并且给出了详细的核心代码和代码注释,读者只要按照书中的操作步骤和代码解释就可以毫无障碍地阅读本书,并在本书的启发下开发出自己的游戏。

5.注重项目的设计思路

本书并不是简单地给出游戏项目的实现过程,而是在每个项目具体开发前都给出详细的项目分析和设计思路,便于读者从整体上把握项目,提高项目开发水平。

6.注重软件工程思想在实际游戏项目开发中的应用

本书将软件工程的思想渗透到了每个游戏项目开发中,而且每个项目都按照软件工程规范给出了项目开发文档,方便没有项目开发经验的读者了解实际项目开发过程。

7.重点介绍了游戏项目的测试

对于游戏的功能测试是游戏开发中所必须具备的基本知识。因此本书的项目案例都给出了整合测试的相关内容,读者可以在实际开发中随时翻阅,不受基础知识的限制。

8.提供教学PPT,方便老师教学

本书适合能力培养型的院校和职业学校作为教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。

本书内容介绍

本书分为3篇,共16章,从游戏分类讲起,再进一步介绍了各种游戏项目开发需要准备的基础知识。最后结合笔者的经验讲解如何进行实例游戏项目开发,让读者的游戏项目开发水平得以不断的提高。

第1篇 游戏开发基础

(1~6章)

本篇主要介绍了游戏开发相关的编程知识。包括电脑游戏的分类及经典作品介绍、常用技术介绍、演示Visual C++开发Windows游戏、C++编程开发语言基础、游戏网络编程知识简介、简单Windows多媒体示例程序开发、游戏项目管理相关内容及文档。

第2篇 五子棋游戏案例分讲(7~10章)

本篇通过分步讲解五子棋游戏开发实例来介绍游戏项目的开发过程。包括五子棋游戏的各种文档的制作、游戏界面的设计、网络通信协议介绍、五子棋游戏核心算法的设计、游戏规则的实现、测试用例文档的编写、相关文档表格的填写及五子棋游戏整合测试的演示。

第3篇 高级篇(11~16章)

本篇主要介绍多个游戏项目开发实例来丰富读者的相关经验。包括贪吃蛇游戏实例开发项目介绍、俄罗斯方块游戏实例开发项目介绍、连连看游戏实例开发项目介绍、黑白棋游戏实例开发项目介绍、扫雷游戏实例开发项目介绍和推箱子实例开发项目介绍。

本书内容由浅入深,理论结合实践,尤其适合初级读者逐步学习和完善自己的知识结构。

本书代码注释约定

❑ 针对单行代码的注释,都是放在代码的后面;

❑ 如果单行注释内容过长,与代码无法放置在一行中,则单行注释放在代码的上面;

❑ 针对函数的注释,统一放在函数开始的{(大括号)右侧并与其他注释上下对齐;

❑ 针对一段代码的注释,统一放在该段代码的上方,并与其他注释上下对齐。

本书读者对象

❑ Visual C++游戏开发初学者;

❑ 没有任何游戏开发学习经验的读者;

❑ 需要进一步学习游戏核心算法和数据结构的读者;

❑ 没有参加过项目开发,但想了解项目开发管理的读者;

❑ 想学习C++游戏项目开发知识的各大院校计算机专业和非计算机专业的学生;

❑ 正在学习电脑游戏开发的读者;

❑ 具备一定编程理论知识,但缺乏实践操作的初级程序人员;

❑ 从其他语言转向学习C++游戏程序设计的初中级编程人员。

本书作者

本书由王浩主笔编写。其他参与编写的人员有陈晓建、陈振东、程凯、池建、崔久、崔莎、邓凤霞、邓伟杰、董建中、耿璐、韩红轲、胡超、黄格力、黄缙华、姜晓丽、李学军、刘娣、刘刚、刘宁、刘艳梅、刘志刚、司其军、滕川、王连心、沃怀凯、闫玉宝。

如果你在学习中遇到什么问题,可以通过bookservice2008@163.com和我们取得联系。编著者第1篇游戏开发基础因为计算机可以存储各种信息,会按人们事先设计的程序自动完成计算、控制等许多工作,而且还可以模仿人脑的许多功能,代替人脑的某些思维活动,所以计算机又被称做电脑。近年,随着计算机技术的发展,越来越多的家庭拥有了自己的电脑。使用电脑来玩游戏,已经成为很平常的事情。但亲爱的读者朋友们,在玩别人开发的游戏时,是否想过自己亲手开发出一套游戏呢?作为游戏迷,笔者也有过这样的想法。为了使读者快速了解并掌握游戏开发的相关编程知识,本篇的第1章将讲解游戏的大体分类,包括动作游戏、策略游戏、角色扮演游戏、体育游戏、模拟游戏、即时战略游戏、冒险游戏和益智游戏。除此之外,还加入了游戏中涉及的常用技术介绍,让读者对游戏与游戏设计有一个整体概念。考虑到很多读者在Windows编程方面还是个新手,所以笔者特意在本篇的第2章,向读者讲解如何用Visual C++ 6.0来开发Windows游戏,并且给出了简单的例子。在学习如何使用Visual C++ 6.0之后,读者可以阅读第3章,在这一章中会学习到关于C++编程开发语言的基础知识。目前,网络游戏非常流行,在第4章中就有关于游戏开发中使用网络通信的相关内容。在这里读者将学习到游戏网络编程开发方面的知识。而在本书的第5章中,读者就可以根据笔者提供的案例和代码,开发出简单的Windows音乐和图像等多媒体程序。第6章是游戏项目管理,主要讲解游戏项目管理相关的内容及各种文档的介绍。第1章游戏开发者都应该掌握的知识

本章采用传统游戏分类的方法,即按游戏类型分类(这里所指的游戏全部是指电脑游戏,以后不作单独说明),对各种不同游戏类型进行简单介绍,并把游戏开发中常用的技术和游戏设计的基本概念进行简单讲解。

本章主要涉及的内容如下:

❑ 各种不同种类的游戏介绍:让读者了解各类游戏的特点及主要代表作。

❑ 游戏相关技术的介绍:让读者了解游戏中各种常用的技术及其发展过程。1.1 各种游戏类型

在游戏世界里,玩家通常会遇到许多不同类型的游戏,这些游戏因为其操作方法、使用人数、人物视角、游戏目的及制作风格特点的不同,可以有很多不同的游戏分类。但这种分类目前尚无统一标准。说明:现在大部分的游戏分类方法,是按照游戏内容的主题进行分类。

本节中将根据笔者自己的认识对这些游戏进行类别划分,如下所示。

❑ 角色扮演游戏:Role-Playing Game,简称RPG。

❑ 冒险游戏:Adventure Game,简称AVG。

❑ 动作游戏:Action Game,简称ACT。

❑ 策略游戏:Strategy Game,简称SLG。

❑ 格斗游戏:Fighting Game,简称FTG。

❑ 即时战略游戏:Real-Time Strategy Game,简称RTS。

❑ 射击游戏:Shooting Game,简称STG。

❑ 第一人称射击游戏:First Personal Shooting Game,简称FPS。

❑ 益智游戏:Puzzle Game,简称PZL。

❑ 体育游戏:Sports Game,简称SPT。

❑ 竞速游戏:Racing Game,简称RAC。

❑ 模拟游戏:Simulating Game,简称SIM。

❑ 养成游戏:Education Game,简称EDU。

❑ 卡片游戏:Card Game,简称AG。

❑ 音乐游戏:Music Game,简称MSC。

除对将这些游戏分类外,笔者还将简单介绍这些分类中包括的经典代表作品。1.1.1 角色扮演游戏

角色扮演类游戏,绝对是大多数游戏玩家接触得最多的游戏之一。其主要特点是:由玩家负责扮演一个或多个角色;角色如同真实人物一般成长,有完整的故事情节;并且有关于人物本身的很多属性供玩家调整。

角色扮演类游戏按其游戏风格又可划分为日式 RPG 和美式 RPG。它们的主要区别在于文化背景和战斗方式不同。(1)日式风格的重点在于故事情节本身,即把整个游戏当成一个长长的故事。而玩家的任务在于展开故事的时间线,而且日式RPG多采用回合制或半即时制战斗。其中有两款经典的日本游戏作为代表:“勇者斗恶龙”与“最终幻想”系列。而国产的角色扮演游戏,大多数也可以归属于日式风格,例如“仙剑奇侠传”和“剑侠”系列,如图1.1所示。(2)美式风格的重点在于不同的世界观,在游戏中增加了人工智能等要素。玩家的主要任务是控制主角人物做出选择,如同真实生活中的社会一样。美式风格的RPG经典游戏的代表作品是“魔法门”(如图1.2所示)、“创世纪”和“博德之门”系列。其特点是力图营造一个虚拟的真实社会,提供极高的玩家选择自由度,而剧情方面则明显淡化,以史诗类型的剧情为主。图1.1 仙剑奇侠传游戏截图图1.2 魔法门游戏截图注意:不管哪种风格的游戏,其内容才是吸引玩家的主要手段。

角色扮演类游戏还可以根据战斗进行方式分类,例如:1.动作角色扮演游戏(Action RoIe-PIaying Game,简称ARPG)

ARPG的战斗方式为即时动作形,其不存在切换画面的过程,是直接在地图上进行即时的战斗。而传统RPG战斗方式一般是由地图画面切换至战斗画面,然后进行回合制或半即时、即时的战斗。其代表作品是“暗黑破坏神”系列,如图1.3所示。2.战略角色扮演游戏(Strategy RoIe-PIaying Game,简称SRPG)

SRPG的战斗方式是以回合制战斗为基础,以战棋模式进行战斗的RPG。此类游戏不仅具有了策略游戏(后面将对其进行介绍)的战斗要素,同时又具备RPG的重要元素人物与情节。其会淡化战斗以外的游戏操作,整个游戏流程基本就是“剧情——战斗——准备——剧情”的循环。此类游戏以日本、国产居多。其代表作品有“炎龙骑士团”、“三国志英杰传”和“火焰之纹章”系列(如图1.4所示)。图1.3 暗黑破坏神游戏截图图1.4 三国志英杰传和火焰之纹章游戏截图3.电子化桌上角色扮演游戏(Computerized RoIe-PIaying Game,简称CRPG)

在介绍 CRPG 之前,还需要向读者介绍一下其前身“桌上角色扮演游戏(TRPG)”,在TRPG中除了几个玩家以外,还必须存在一个游戏的“主持人”,其负责设定游戏世界、维护游戏规则、制作游戏的场景,安排剧情、操控非玩家人物及怪物等。而在电子化的这类游戏中,则由电脑扮演主持人的角色。这些游戏一般会忠实地还原TRPG的规则。

CRPG就是在这个基础上发展而来的,所以其战斗系统既非ARPG的完全即时,亦非SRPG的完全回合化。这类游戏的代表作有“博德之门”(如图1.5所示)、“无冬之夜”和“冰风谷”系列。其都是构建于桌面角色游戏“龙与地下城规则”之上的CRPG。图1.5 博德之门游戏截图4.大型多人线上角色扮演游戏(MassiveIy MuItipIayer OnIine RoIe-PIaying Games,简称MMORPG)

MMORPG是现在最为流行的、通常所谓的“网络游戏”,实际上是线上游戏的一种。基本模式是设置一系列的“任务”供玩家完成,玩家从中获取各种“报酬”以提升主角的等级、各种能力、技能等属性。通常玩家可以自由选择各种属性升级的方向。

而RPG中的剧情要素在MMORPG中被极度淡化,因此可以说MMORPG是美式RPG游戏系统方面的升级版本。MMORPG通常提供传统RPG所不具备的社交系统,如设置行会、工会等供玩家加入和交流,也可以设置好友、师徒及婚姻等多种人际关系。另一方面,MMORPG由于是基于互联网的,其社交的范围很大,所以能举行远比传统RPG要多的游戏活动(如攻城、物品交易等),游戏中的商业氛围也远比单机游戏浓厚。其中的代表作品有“传奇世界”、“魔兽”、“A3”等(如图1.6所示)。图1.6 魔兽和传奇世界游戏截图说明:正是由于网络游戏具有高交互性能和精致的界面,所以其在国内的市场占有率达到70%以上。1.1.2 动作游戏

动作游戏是由玩家控制游戏人物消灭敌人以过关的游戏,没有具体的故事情节和人物成长。现在电脑上的大多数动作游戏都是以早期的街机游戏和动作游戏为基础发展而来的。其纯粹是面向普通玩家的,以纯娱乐休闲为目的。

该游戏角色的操作方式简单,可以让玩家快速融入游戏之中,并通过角色的各种动作来考验玩家的反应能力。随着游戏难度的增加,会给玩家带来相当大的成就感。这是属于“大众化”游戏,也是较受欢迎的游戏种类,其中一小部分还包含简单的解谜内容。

该类游戏的代表作品有“合金弹头”、“波斯王子”、“魂斗罗”、“三国志”系列(如图 1.7所示)。这些代表游戏中有一些含有射击操作,如“合金弹头”系列。不过由于此类游戏中更注重对游戏角色身体的控制而非射击技术,所以仍属于ACT分类。图1.7 波斯王子和合金弹头游戏截图1.1.3 冒险游戏

冒险游戏,其与前面介绍的RPG游戏一样存在主角,由玩家控制游戏主角进行虚拟冒险的游戏。AVG的特点是故事情节往往是以完成一个任务或解开某些迷题的形式出现的,在游戏过程中强调解开谜题的重要性,减少了较多的战斗场景,同时角色能力的成长较之RPG也相对简单。说明:正是由于冒险游戏的特点,其又可细分为动作类冒险游戏、解谜类冒险游戏及文字类冒险游戏。1.动作类冒险游戏

这类游戏以第三人称的视角进行游戏,一般包含较多的格斗或者射击等动作要素,主要考验玩家的游戏操控能力。该类游戏的战斗场景不算太多,但也有人物的等级或者技能等属性的成长,同时还包含少量的解迷元素,其中最具有代表性的作品是“生化危机”、“古墓丽影”和“恐龙危机”系列(如图1.8所示)。图1.8 古墓丽影和生化危机游戏截图2.解谜冒险游戏

这类游戏以第一或第三人称的视角进行游戏,主要是解谜冒险活动。其基本抛弃了战斗场景和人物操控能力,纯粹依靠解谜拉动剧情的发展。通常仅需要移动场景、选择对话,以及解开谜题。该类游戏难度系数较大,其中经典代表作品有“神秘岛”系列,如图1.9所示。3.文字类冒险游戏

此类游戏以第一人称的视角进行游戏,以剧情主导,在游戏时,相当于在看一本小说。游戏中通常还会引入诸如 CG、音乐等收集要素。一般的模式是通过主角在剧情中的选择产生不同的结局。

其中最主流的题材是侦探和恋爱类两种。如图1.10所示,侦探文字类的代表作是“侦探神宫寺三郎”和“逆转裁判”系列,恋爱类的代表作是《秋之回忆》系列。这里需要注意的是,恋爱文字类与后面将要介绍的恋爱模拟游戏是有所区别的。恋爱文字的冒险游戏在剧情的深度与广度上远远胜于后者。图1.9 神秘岛游戏截图图1.10 逆转裁判和秋之回忆游戏截图1.1.4 策略游戏

策略游戏,大多数是以战争故事题材为背景,其要求玩家“拥有”做出决策的能力。在策略游戏中,除了需要玩家的熟能生巧外,头脑的灵活性往往也会对游戏的结果产生至关重要的影响,当然其中也包含很多运气成分。

大部分策略游戏最大的特点就在于:如何充分调动玩家的智慧来配置游戏中的各种资源达到游戏目标,或统一全国,或开拓外星殖民地,或取得局部战役的胜利。策略游戏可以细分为如下两种。1.回合制

这类SLG中,玩家只能在自己的回合时间内,才能进行各种动作,如发展经济、经营军备等。其中经典的代表作品有“三国志”、“魔法门之英雄无敌”(如图1.11所示),以及“信长之野望”和“文明”系列。前面提到过的SRPG,就是借用SLG战斗模式的RPG。图1.11 三国志和魔法门之英雄无敌游戏截图2.即时制

这类SLG中,玩家可以和其他玩家及电脑同时进行各种战略活动,进行实时的较量。这也是后面将要讲解的即时战略游戏(RTS)的前身。其中经典的代表作品有“帝国时代”、“沙丘魔堡”、“红色警戒”、“星际争霸”系列等。1.1.5 即时战略游戏

即时战略游戏是由SLG发展而来。本来属于策略游戏SLG的一个分支,但由于其在世界上的迅速风靡,使之发展成了一个单独的类型,知名度甚至超过了SLG。其各方面与SLG相仿,但在经济、兵种方面往往比较简单,讲究情报、资源、操作等优势。注意:很多时候在划分策略游戏时,即时战略游戏也是被划分在策略游戏分类之中的。这里只是为了讲解需要才单独划分出来。

该类游戏经典的代表作品有“帝国时代”、“星际争霸”、“魔兽争霸”系列等。而其中“帝国时代”更是以历史文化演变为背景,把历史故事加入到游戏之中,任务玩法多变,场景细腻丰富,满足了不同玩家的需求,征服了整个游戏市场。

后来,从即时战略游戏之上又衍生出了所谓的“即时战术游戏”,多以控制一个小队完成任务的方式,突出游戏中战术的作用,其以“盟军敢死队”系列为经典代表作品,如图 1.12所示。图1.12 帝国时代与盟军敢死队游戏截图1.1.6 格斗游戏

格斗游戏,是动作游戏的某种简化与强化形式,其主要由玩家操纵各种角色与电脑或另一玩家所控制的角色进行格斗的游戏。此类游戏谈不上有什么剧情,最多有个简单的场景设定或背景展示。人物的操控较易掌握,但操作难度较大,主要依靠玩家迅速的判断和微操作取胜。

按其显示技术,该类游戏可再细分为2D和3D格斗两种,如图1.13所示。其中,2D格斗游戏有著名的“街霸”、“侍魂”、“拳皇”系列等。3D格斗游戏有“铁拳”、“高达格斗”系列等。图1.13 拳皇和铁拳游戏截图1.1.7 射击游戏

射击游戏,这里所说的射击类,并非是类似“VR 战警”的模拟射击(枪战)游戏,而是指纯粹的空战类射击游戏。一般由玩家控制各种飞行物(主要是飞机)通过射击消灭敌人、击中目标,完成任务最后过关的游戏。

根据操作的角色和可控性又可细分为纵轴射击、横轴射击两类。纵轴射击的代表作如“雷电”系列,横轴射击代表作如“沙罗曼蛇”系列,如图1.14所示。图1.14 雷电和沙罗曼蛇游戏截图1.1.8 第一人称射击游戏

第一人称射击游戏,其属于动作游戏的一个分支,但和RTS一样,由于其在世界上的迅速风靡,使之发展成了一个单独的类型。这类游戏限定了玩家必须以第一人称的视角来处理游戏中所有相关画面,以射击作为战斗的第一要素。正因为这类游戏通常都是以3D画面呈现游戏的界面,所以很大程度上引领着游戏引擎技术的发展潮流。

其中经典的代表作品有DOOM、“雷神之锤”、“虚幻”、“半条命”、CS系列等,如图 1.15所示。此外与此类型相仿的,还存在着第三人称射击游戏,但数量稀少,著名作品如“英雄本色”系列。图1.15 CS和雷神之锤游戏截图1.1.9 益智游戏

益智类游戏,Puzzle的原意是指以前用来培养儿童智力的拼图游戏,引申为各类有趣的益智游戏,也可以叫做休闲游戏。其特点是通常规则简单、操作简易,目的是让玩家得到休息与放松。一般也将“中国象棋”、“围棋”和各种牌类游戏划分到益智游戏中。最经典的休闲类游戏当属“俄罗斯方块”、“五子棋”等游戏,如图1.16所示。图1.16 俄罗斯方块和五子棋游戏截图1.1.10 竞速游戏

竞速游戏,其是在电脑上模拟各类竞速运动的游戏,通常是在比赛场景下进行,非常讲究图像音效技术,往往是代表电脑游戏的尖端技术。惊险刺激,真实感强,题材多以赛车为主,所以深受车迷玩家的喜爱。其中代表作品有“极品飞车”、“山脊赛车”、“摩托英豪”等系列,如图1.17所示。目前,RAC 内涵越来越丰富,也出现了另一些其他模式的竞速游戏,如赛艇,赛马等。图1.17 极品飞车和摩托英豪游戏截图

竞速类游戏本应划归体育类游戏(SPT),但由于其流行程度大致与体育类游戏相当,而且游戏方式大异于各类以双方对垒为主的体育类游戏,故单独成为一类。目前这类游戏还称为Driving Game。1.1.11 体育游戏

体育游戏,是指在电脑上模拟各类竞技体育运动的游戏。从篮球、足球到雪上运动,甚至高尔夫球运动都被引入到游戏中。其花样繁多,模拟度高,所以广受欢迎。

这类游戏也让玩家有着另外一种很奇妙的感情,例如,许多玩家可能会因为支持真实世界中的某个团队而爱上这类体育游戏,甚至为让所支持的队伍打败其他队伍,不惜日夜苦练支持的队伍,以此满足自己的好胜心。

体育游戏的代表作品有FIFA、NBA Live、“实况足球”系列等,如图1.18所示。现在市面上几乎所有体育运动游戏均可以在EA Sports的作品中见到。图1.18 FIFA和NBA游戏截图1.1.12 养成游戏

养成类游戏,顾名思义,就是玩家以养成为主要目的的游戏,多数以强化自身能力、培养人际关系,或者增强感情、提高他人能力为题材。有些人将养成类游戏与恋爱类游戏等同。实际上并不存在单一的“恋爱类游戏”这一类型,恋爱游戏多以AVG和EDU的形式存在。

目前,这类游戏主要是为男性玩家服务的(可以训练追求的技术等),也有个别是面向女性玩家的。其代表作品有“心跳回忆”、“明星志愿”系列,如图1.19所示。图1.19 心跳回忆和明星志愿游戏截图1.1.13 模拟游戏

模拟游戏,就是指在电脑上模仿出现实中的各种事物或者事件发生的游戏。其最大的特点就是模拟力求完美,游戏操作指令较为复杂,重点突出物理原则及给玩家的真实感受,让玩家在玩游戏中获得置身其中的真实感,并可以让玩家在特定状况中完成真实世界中难以完成任务。根据模拟对象的不同,其又可以细分为模拟经营类和飞行模拟类。其各自特点如下所述。1.经营模拟类(又称模拟策略游戏)

玩者须妥善规划游戏中金钱的运用以达到成功目标,其中涉及资金调度与投资策略。取材自真实世界,所以此类游戏有着各式各样的模拟题材,例如,大到一个国家小到一间农场的建设与管理,模拟的对象很广泛。其代表作品有“模拟城市”、“铁路大亨”、“模拟人生”系列,如图1.20所示。图1.20 模拟城市和模拟人生游戏截图2.飞行模拟游戏(ReaI-SimuIation Game,简称RSG)

该类游戏以现实世界为基础,以真实性取胜,追求拟真,达到身临其境的感觉。所以设计上较重视物体的数学及物理反应。简单地说,在这类游戏中,一颗铅球从半空中落下,绝不会像羽毛那样随风飘动,任何物体的移动都要符合物理学上的原理。其代表作品有“王牌空战”、“模拟飞行2002”系列等,如图1.21所示。另外,还有一些模拟其他对象的游戏也可归为STG,比如模拟潜艇的《猎杀潜航》,模拟坦克的《钢铁雄师》等。图1.21 王牌空战和模拟飞行2002游戏截图1.1.14 卡片游戏

卡片游戏,又称卡牌对战游戏,是指玩家操纵角色通过卡片战斗模式来进行的游戏。丰富的卡片种类使得游戏富于多变化性,给玩家无限的乐趣,代表作品有“信长的野望”、“游戏王”系列,也包括卡片网游“武侠Online”,从广意上说“王国之心”也可以归于此类,如图1.22所示。图1.22 信长的野望游戏截图1.1.15 音乐游戏

音乐游戏,培养玩家音乐敏感性,增强音乐感知的游戏。伴随美妙的音乐,有的要求玩家翩翩起舞,有的要求玩家手指体操。大多数都是以某种小游戏的形式配合玩家的节奏感来进行。其中的代表作品有“跳舞机”、“太鼓达人”,还有目前的人气网游“劲乐团”,如图1.23所示。但要注意,目前的热门网游“劲舞团”虽然具备音乐要素,但其音乐与游戏进行几乎完全无关,所以不能算作MSC,只能划入PZL。图1.23 劲乐团和跳舞机游戏截图1.2 游戏开发技术

毫无疑问,现代游戏开发需要涉及许多方面的技术。就像很多相关书籍中所提到的那样:游戏开发是同时满足美术、音乐、声音,以及核心编程的完美结合等众多要求而且还要使这些要求之间不会相互发生冲突的技术。在游戏开发中需要艺术和科学同时存在,也只有这里才能实现创造力和边缘科学的真正结合。笔者将在本节中,把游戏开发中涉及的一部分常用技术进行简单地讲解和介绍,让读者们有一个初步的了解。1.2.1 图像显示技术

电脑游戏中的图像、视频的显示和输出,都是依靠电脑中的显卡来实现的。显卡接受电脑内部的数字信息并把其转化为肉眼可见的显示信号。绝大多数的电脑里,显卡将数字信息转换为能够在显示器上显示的模拟信息。当然现在采用DVI接口的液晶显示器,其数据仍然保持数字信号形式。

根据游戏中图像呈像方式的不同,一般可以把图像的显示技术分为2D和3D显示两种。但对于玩家而言,2D技术和3D技术只是显示数据的方式而已,玩家都是通过二维的平面显示器来观看的。

所以在真正开始讲解图像显示技术之前,还是先来认识一下图像中的2D 坐标系统,一种是平面几何中的XY坐标系统,另一种是电脑显示屏上的XY坐标系统。

在平面几何的 XY 坐标系统中,X 坐标轴代表的是象限中的横坐标轴,坐标值由左向右线性递增;Y 坐标轴代表的是象限中的纵坐标轴,从标值由下向上线性递增,如图1.24所示。

如果在一个很近的距离内观察电脑的显示屏,就会看到屏幕上所有的物体都是由一个一个的点所构成。这些点被称为像素(Pixel),每一个像素都由红、绿、蓝三色组合而成。一般的屏幕分辨率为1024×768或者图像的分辨率为1024×768,这都是指的屏幕或者画面在宽度(X轴)上可以显示1024个点,而高度方向(Y轴)上可以显示768个点。在显示屏上的平面坐标系统如图1.25所示。图1.24 平面几何中的XY坐标系统图1.25 显示屏上XY坐标系统

在显示屏上,所有平面坐标都只有正坐标,而没有负坐标,而且都是以屏幕左上角为原点的,X轴仍然是从左向右线性递增,而Y轴则是由上向下线性递增。虽然其也可以接受负值,但如果X或者Y坐标为负值,那么这些对应的点就位于屏幕外,而不会显示在屏幕中,也没有实际意义。

屏幕中坐标系统的大小由显示器的分辨率来决定,一般经常使用的有640×480、800 ×600、1024×768及1280×720等,其都是屏幕上对应的坐标点。例如,800×600就是说明X坐标轴上有800个像素点,Y坐标轴上有600个像素点。1.2D和3D图像显示技术的概念

图像的显示都是在二维平面坐标系中,是平面的,没有立体感,只有x轴和y轴。所有图形元素是以平面图片的形式制作和显示的,这就是2D图像显示技术。如图1.26左图所示,就是一个2D图像的显示。

2D图像中的动画是以一帧的形式预先存在的。这些图形元素最终都会以复杂的联系方式在游戏中进行调用,而实现游戏世界中丰富的内容。

而图像的显示都是在三维立体标系中,物体是真实占有空间的,即有立体感。而且可以以任何人的视点(摄像机)来任意移动并改变视角。这就是3D图像显示技术。如图1.26右图所示,就是一个3D图像的显示。

3D技术把游戏世界中的每个物体看做一个个立体的对象,由若干个几何多边体构成。为了显示对象,在文件中存储的是对对象的描述语句。3D图像在显示时,程序通过对这些语句的解释来实时地合成一个物体。通过若干个立体几何和平面几何公式的实时计算,玩家在平面的显示器上还能以任意的角度来观看3D 物体。即使仅仅是图形显示上的变化,在3D引擎下世界构成的任何事物也要以3D世界观来对待。图1.26 2D和3D显示例图2.2D和3D图像显示技术的比较分析

3D技术相对于2D技术的优点有如下几个方面。

❑ 3D技术在三个重要的方面显得非常灵活,首先就是表现在你

眼前的世界3D游戏能够让玩家以任意的角度来观看世界,并可

以让玩家在其中以任意角度观察。显然通过2D技术是实现不了

的,因为表现的结果有上万种可能性。

❑ 3D技术在动画制作方面有独特的优势。如果用2D技术来实现,

那么在视角的转换上就会非常受限,而且存储这些动画会超过所

能承受的最大空间。3D动画能够很轻松地越过这些困难,只要

先给3D对象定义变形和运动的规律。实际运行时,程序就会让

3D对象按照预定的规律来运动,形成3D动画。但是在现有的游

戏中,还没有很好地发挥这一优势。

❑ 3D对象易于修改,因为其由若干个多边形组合而成,可以像

搭积木一样重新搭建。这些多边形可以像橡皮泥一样任意地揉捏,

来符合最终的要求。而2D图像是由手工绘制而成,修改非常不

便,一些大的改动往往导致已有的工作成果作废,需要重新绘制。

例如,有时需要表现游戏中的人物在四个方向上行走时的动作,那么2D 就必须预先画好起码四幅图像,游戏运行时分别从不同的文件中调用行走时的图像,来表现行走动作。如果这时人物需要能在八个方向上行走,那么工作量就会增加一倍,在制作一些动画时,工作量更是急剧地增长。这时,使用3D技术就能省下不少的时间。

但2D技术也不是一无可取,2D技术相对于3D技术,也有其优点。

❑ 2D 的图像能够画得很精致,可以把一些细节完美地表现出

来。3D 虽然也能通过增加多边体来更细致地表现对象,但与2D

图像所能达到的最高水准还是相差一段距离。如果你的游戏不需

要诸如旋转视角等功能的话,那么采用2D技术会给你的玩家带

来更好的视觉享受。

❑ 2D技术在屏幕上显示和处理都很快,因为所有的图像都已经

预先处理好了,设计者所要做的只是把其从文件中调出来并显示

到屏幕上。利用显卡来做这些工作是绰绰有余的。在实时的游戏

中,你能够轻易地获得每秒几十帧的显示速度,这就为处理器节

省了大量的时间,使其有充裕的时间来做显示以外的其他工作。

例如,对即时战略游戏来说,电脑控制方必须具有一定的人工智

能才有挑战性,所以其游戏算法就比较复杂,会占用较多的处理

器时间去计算过程。现在3D加速卡的速度已经变得越来越快

了,但如果要模拟一个真正的3D世界,这点速度还远远不够。

所以至少在未来的几年内,2D图像的显示速度还将占有较大的

优势。

❑ 使用2D的图像技术来做一个显示引擎很容易,但对于3D图像

来说,制作显示引擎就困难得多了。随着技术的普及,这一优势

会渐渐消失。

❑ 一般的3D游戏具有较高的操作自由度,对有经验的玩家来说

是没问题的。但对一些新手来说,自由度越高就感到越难以控制。

2D游戏一般具有较少的操作自由度,新手容易在设计者的引导

下一步步地进行下去。

总之,作为游戏设计者,需要决定采用哪种技术。如果设计的游戏需要比较自由的空间,倾向于动作化,并且有强大的技术力量,那么3D 引擎将是最好的选择。如果只是想制作具有精美图像的游戏,不需要太高的自由度,那么2D技术是最好的选择。注意:事实上,3D技术与2D技术并不存在什么孰优孰劣的问题,只存在着哪种技术能更好地为玩家和设计者服务的问题。1.2.2 游戏引擎技术

在游戏开发中也有类似赛车的“引擎”,其相当于游戏的核心,决定着整个游戏的速度的稳定性。玩家在游戏中体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的。其把游戏中所有的元素捆绑在一起,并指挥这些元素有序地工作。

引擎就是“用于控制所有游戏功能的主程序,从计算物体的碰撞物理系统和图像的显示,到接受玩家的输入,以及按照正确的音量输出声音等”。简单地说,游戏引擎就是指通过游戏设计的模型构建一个“平台”,能够方便地支持游戏开发的后续工作。根据不同的游戏类型,可以分为STG引擎、RPG引擎、ACT引擎等类型。同样,也可以根据采用显示技术的不同,分为2D引擎和3D引擎。

除此以外,引擎还有一个重要的职责就是负责玩家与电脑游戏之间的沟通,处理来自键盘、鼠标、摇杆和其他外设的信号。如果游戏支持联网特性的话,网络代码也会被集成在引擎中,用于管理客户端与服务器之间的通信。

其实,说了这么多,引擎就是经过不断的进化,由多个子系统共同构成的复杂系统,游戏中的引擎是整个游戏的框架,在框架打好后,编剧、美工、关卡设计师、建模师、动画师只需要往里填充内容就可以了。所以,一般游戏开发中,引擎的开发占全部开发总量的50%以上。

下面笔者将介绍一下整个游戏引擎的进化过程。

1992年,Wolfenstein 3D引擎,其作者是大名鼎鼎的约翰·卡马克。这个引擎开创了第一人称射击游戏的先河,更重要的是,其在X轴和Y轴的基础上增加了一根Z轴,在由宽度和高度构成的平面上增加了一个向前和向后的纵深空间,这根 Z 轴对那些看惯了2D游戏的玩家造成的巨大冲击可想而知,如图1.27所示。

1993年,Doom 引擎,其同样是出自 id Software 公司,在技术上大大超越了前面的Wolfenstein 3D引擎,因为Wolfenstein 3D引擎的所有路径之间的角度都是直角,是说玩家只能笔直地前进或后退,而Doom引擎中路径之间的角度可以为任意,而且墙壁的厚度也可以为任意的,如图1.28所示。图1.27 Wolfenstein 3D游戏截图图1.28 Doom游戏截图

1995年,Quake引擎,也是出自id Software公司,是当时第一款完全支持多边形模型、动画和粒子特效的真正意义上的3D引擎,而不是和Doom一样的2.5D引擎。此外Quake引擎还是连线游戏的始作俑者,把网络游戏带入大众的视野之中,促成了电子竞技产业的发展,如图1.29所示。

1997年,Quake II引擎,其充分地利用3D加速和OpenGL技术,在图像和网络方面与前作(Quake)相比有了质的飞跃,也确定了id Software公司在3D引擎市场上的霸主地位,如图1.30所示。图1.29 Quake游戏截图

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载