1、基于 DirectX(SDK)的 Visual C+游戏设计基于 DirectX(SDK)的 Visual C+游戏设计摘 要电脑游戏经过短短 30 年的发展,已经成为影响公众生活,改变公众娱乐方式的重要产业。过去,人们主要是借助电影、电视、音乐等方式来娱乐。而今天,以游戏为代表的电子娱乐正在成为主流娱乐方式。游戏也正在迅速成长为一个庞大的产业。Microsoft Direct X(SDK)是一个基于 COM 技术的多媒体应用程序开发工具包,它代表了未来多媒体应用程序的开发方向。本文详细介绍了游戏设计基本概念和 Direct X 的构架,包括 DirectDraw、Direct 3D、Dire
2、ctSound,并在 Visual C+6.0 环境下使用 Direct X(SDK)开发多媒体游戏作为本论文的实例。关键字Direct X;游戏设计;Visual C+ +Visual C+ Game Design Based On DirectX(SDK)Jianghan University基于 DirectX(SDK)的 Visual C+游戏设计Student Jie Zhou Advisor Prof. Junming ChangAbstractAfter the short 30 years development, the computer games already beca
3、me an important industry which influences the public life and changes the public entertainment way. In the past, people mainly rely on film, television, music and other means of entertainment. Today, with electronic games for entertainment is becoming a mainstream representative entertainment. Games
4、 are rapidly growing into a huge industry. Microsoft Direct X is a multimedia application development SDK (Software Development Kit) based on COM technology. It represents the future of multimedia application development. This paper introduces Game Design in detail and architecture of Direct X, incl
5、uding DirectDraw,Direct3D,DirectSound.Then it describes how to develop multimedia games with Direct X in Visual C+ 6.0 environments.KeywordsDirect X;Game Design;Visual C+ +绪论随着个人电脑以及 Internet 的普及,游戏业迎来了蓬勃发展的时代。数年之前在基于 DirectX(SDK)的 Visual C+游戏设计486 机器上运行的 DOS 游戏已经让人玩的如痴如醉、兴奋不已。现在,由于 CPU 以及显卡等设备的飞速发展
6、,为人们开发更加炫目多彩的游戏提供了可能。一块高性能的显卡能在一秒中内完成数千万个多边形的处理,高速的 CPU 在显卡的辅助下,所营造出的游戏环境几乎可以乱真。美国一个市场研究机构发表的报告显示,到 2002 年底,全球电脑游戏产业已经形成一个 200 亿美元的巨大市场。日本是游戏产业最发达的地区,韩国是新兴的游戏产业发达国家,在这两个国家内,电子游戏已经相继超过以汽车制造为代表的传统制造业而成为国民经济主导产业之一;而在美国,游戏业已经超越拥有百年历史的好莱坞电影业而成为整个电子娱乐产业的龙头。游戏正成为与影视、音乐并驾齐驱的娱乐产业之一。而网络游戏凭借着信息双向交流、速度快、不受空间限制等
7、互联网优势,具有诱人的互动性、仿真性和竞技性,已成为网络业赢利优厚的三大领域之一,游戏产业已被称为“ 阳光产业” 。游戏产业有着丰厚的利润和光辉的前景。而中国的电脑游戏产业才刚刚处于起步阶段,虽然相对落后,但还有很大的潜力可以开发。这就需要国内涌现出更多的游戏制作人和爱好者,大家共同努力开创中国游戏业的明天。本人出于对射击类游戏的爱好,决定制作一个二维平面射击类游戏,玩家在游戏中控制一架飞机,与大量的敌机对战。该游戏最大的特点就是,可玩性很高,操控简单。希望通过该游戏的制作,深入了解游戏制作的过程、方法,并进一步掌握对编程语言的应用,同时也为中国电脑游戏业贡献一份力量。1. 游戏设计概论基于
8、DirectX(SDK)的 Visual C+游戏设计1.1 电脑游戏的历史在 60 年代,第一台台式计算机问世,当时运行在 Unix 机器上的 Core Wars,是最早的计算机游戏之一。在 70 年代的黄金岁月到来时,全世界的台式计算机和小型计算机上流行着文本游戏和粗糙的图片游戏。在 PC 界,有史可考的最早的一款 PC 游戏是斯考特亚当斯1978 年为 TRS-80 开发的文字冒险游戏冒险岛 ,正是这款不起眼的游戏开启了今天近百亿美元的电脑游戏市场。80 年代是电脑游戏升温的年代。第一台 16 位计算机问世,如 IBM PC 及其兼容机、Mac、 Atari ST、Amiga 500 等
9、等,这时候,游戏已变得很好看,甚至有了一些 3D 的游戏如Wing Commander 、 Flight Simulator等。但是,PC 机仍然落后于游戏主机。在 1985 年以前,Atari ST 和 Amiga 500 作为游戏机占有绝对的支配地位。在 90 年代初期,IBM PC 及其兼容机渐渐成为主流,伴随着 Windows 3.0 的发布,Apple Macintosh 寿终正寝。用户从此可以真正的在 PC 上尽行游戏、编程、开发并连接其他的东西。但是,PC 在图像和声音上还依然落后。在 1993 年的后期,随着 Id Software 发行了 DOOM 作为 Wolfestein
10、 3D 的换代产品,PC 机开始成为家用微机市场玩游戏和编程的选择。 DOOM的成功表明了微机上是可以做任何事情的,而Microsoft 敏锐的发现了这一点,并开始制定巨大的计划涉足游戏,由此,DirectX 1.0为游戏而生。但是,一直到 DirectX 3.0,DirectX 才在游戏开发中被广泛的使用,而在此之前许多公司仍然采用 DOS32 平台进行游戏编程。此间,也诞生了如 红色警戒、暗黑破坏神、VR 战士这样的使用 DirectX 2.0 技术的经典游戏。90 年代中后期,伴随着计算机硬件技术和软件技术的发展,经典游戏接连不断,仙剑奇侠传、英雄无敌、星际争霸、暗黑破坏神 2等等都是长
11、盛不衰的经典游戏。与此同时,互连网的发展促使网络游戏也在 90 年代后期兴起,并发展成为一个蕴涵巨大商业价值的新兴产业。图 11 所示的是星际争霸的游戏画面截图。基于 DirectX(SDK)的 Visual C+游戏设计图 1-1星际争霸截图进入 21 世纪,使用大型 3D 引擎架构的游戏逐渐成为市场的主流,并以绚丽的画面和逼真的场景一次又一次的吸引着人们的目光。这时候,代表游戏有DOOM 3 、文明 4 、 使命召唤 2 、 魔兽世界等等。DirectX 技术也成为当今图形处理及多媒体处理的主流技术,目前版本已经发展到了 DirectX 9.0C。图 12 所示的是魔兽世界的游戏画面截图。
12、图 1-2魔兽世界截图基于 DirectX(SDK)的 Visual C+游戏设计1.2 游戏的类型与视角1.2.1 游戏的类型1ACT (Action Game) 动作游戏 ACT 游戏讲究打击的爽快感和流畅的游戏感觉,这类游戏提供玩者一个训练手眼协调及反应能力的环境及功能,通常要求玩者所控制的主角(人或物)根据周围情况变化做出一定的动作,如移动、跳跃、攻击、躲避、防守等。在 2D 系统上来说,应该是在卷动(横向,纵向)的背景上,根据代表玩家的活动块与代表敌人的活动块以攻击判定和被攻击判定进行碰撞计算,加入各种视觉,听觉效果而成的游戏。其中经典有快打旋风 , 龙与地下城系列。到 3D 游戏发
13、展迅速的今天, ACT 类游戏获得了进一步的发展,3D 技术在游戏中的应用使实现更真实、更流畅的动作成为可能。代表作品为Konami 的合金装备系列,Ubisoft 的分裂细胞系列。 2AVG(Adventure Game) 冒险游戏AVG 才出现时,指的是类似神秘岛系列那样的平面探险游戏,多根据各种推理小说,悬念小说及惊险小说改编而来。在当时,其系统基本就是载入图片,播放文字,音乐,音效,然后循环。或者会有玩家的互动,但是也很有限。玩家的主要任务是体验其故事情节。直到生化危机系列诞生以后才重新定义了这一新类型,产生了融合动作游戏要素的冒险游戏(AAVG) ,最具代表性的作品就是 CAPCOM
14、 的生化危机 系列, 鬼泣系列, 鬼武者系列。 3FPS (First Person Shooting)第一人称视角射击游戏第一人称视角射击游戏顾名思义就是以玩家的主观视角来进行射击游戏。玩家们不再像别的游戏一样操纵屏幕中的虚拟人物来进行游戏,而是身临其境的体验游戏带来的视觉冲击,这就大大增强了游戏的主动性和真实感。FPS 游戏在诞生的时候,因 3D 技术的不成熟,无法展现出它的独特魅力,就是给予玩家及其强烈的代入感。 DOOM的诞生带来了 FPS 类游戏的崛起。随着 3D 技术的不断发展,FPS 也向着更逼真的画面效果不断前进。可以这么说,FPS 游戏完全为表现 3D 技术而诞生的游戏类型。
15、代表作品有虚幻系列, 半条命系列, DOOM系列, 雷神之锤系列。基于 DirectX(SDK)的 Visual C+游戏设计4FTG (Fighting Game) 格斗游戏FTG 游戏的系统在固定背景画面下的活动块碰撞计算。玩家通过一定的组合健形成特定的攻击方式,攻击对手,以打倒对手为目的。FTG 游戏是动作游戏的战斗部分的进一步升华。FTG 游戏应该可以视为我国“文斗”概念的最终形态,无论玩家在游戏中如何打个你死我活,游戏外的玩家除了出身汗,手脚酸痛外并不会有实际的伤害。2D FTG 游戏的系统就是在固定背景画面下的活动块碰撞计算,是动作游戏的战斗部分的进一步升华。2D FTG 最具代表
16、性的作品就是街霸系列和格斗之王系列 。5MUG (Music Game) 音乐游戏MUG 游戏的诞生以日本 Konami 公司的Dance Dance Revolution为标志,初诞生便受到业界及玩家的广泛好评。其系统说起来相对简单,就是玩家在准确的时间内做出指定的输入,结束后给出玩家对节奏把握的程度的量化评分。这类游戏的主要卖点在于各种音乐的流行程度。这类游戏的代表作品有Dance Dance Revolution系列, 太鼓达人系列, DJ系列。 6PUZ (Puzzle Game) 益智类游戏PUZ 游戏多需要玩家对游戏规则进行思考,判断。系统表现相当多样化,主要依游戏规则制定。由于对
17、游戏操作不需要太高要求,是现在受众面最广的游戏类型之一。代表作品为俄罗斯方块系列, 泡泡龙系列, 战球王系列。 7RAC (Race Game) 赛车游戏 RAC 以体验驾驶乐趣为游戏述求,给以玩家在现实生活中不易达到的各种“汽车”竞速体验,玩家在游戏中的唯一目的就是“最快” 。2D RAC 的系统就是系统给定的路线(多为现实中存在的著名赛道)内,根据玩家的速度值控制背景画面的卷动速度,让玩家在躲避各种障碍的过程中,在限定的时间内,赶到终点。由于 2D 的制约,很难对“ 速度”这一感觉进行模拟,所以成功作品相当有限,日本任天堂公司的F ZERO应该是其中最有代表性的作品。到 3D RAC 时代
18、,RAC 在 3D 技术构建的游戏世界中终于充分发挥了其速度的魅力。代表作品有:EA 的极品飞车系列,NAMCO 的山脊赛车系列,SCE 的GT 赛车系列。 8RPG(Role Playing Game ) 角色扮演游戏 基于 DirectX(SDK)的 Visual C+游戏设计RPG 游戏是最能引起玩家共鸣的游戏类型。其诞生以 ENIX 的勇者斗恶龙发售为标志,开创了漫长的 RPG 时代。RPG 游戏能把游戏制作者的世界完整的展现给玩家。架构一个或虚幻,或现实的世界,让玩家在里面尽情的冒险,游玩,成长,感受制作者想传达给玩家的观念。RPG 游戏没有固定的游戏系统模式可寻,因为其系统的目的是
19、构建制作者想象中的世界。但是,所有的 RPG 游戏都有一个标志性的特征,就是代表了玩家角色能力成长的升级系统,而程序构建的世界就是各个 RPG 游戏的个性所在。与其他游戏类型不同,虽然 RPG 游戏的表现是立体,多元的,但其根本都是为故事情节的表现。标准 RPG 游戏类型的经典游戏,以软件之星的仙剑奇侠传系列,大宇资讯的轩辕剑系列,智冠的金庸群侠传 , ENIX 公司的勇者斗恶龙系列(被誉为日本的国民 RPG) ,SQUEAR 公司的最终幻想系列为代表。由于战斗表现形式的不同,还有融合了动作要素的 ARPG 游戏,代表作品有 NAMCO 的XX 传说系列,KONAMI 公司的恶魔城 X 月下夜
20、想曲系列(恶魔城系列的作品多为 ACT 游戏类型,只有其中的月下夜想曲 , 晓月圆舞曲 , 月轮是 ARPG 类型,BLIZZARD 公司的暗黑破坏神系列;融合了 SLG(策略战棋式游戏)要素的SRPG 游戏,如SEGA 的光明力量系列。图 1-3 为仙剑奇侠传的截图。图 1-3仙剑奇侠传截图基于 DirectX(SDK)的 Visual C+游戏设计9RTS(Real-time Strategy Game )即时战略游戏RTS 游戏是战略游戏发展的最终形态。玩家在游戏中为了取得战争的胜利,必须不停的进行操作,因为“ 敌人”也在同时进行着类似的操作。就系统而言,因为 CPU 的指令执行不可能是
21、同时的,而是序列的,为了给玩家照成“即时进行”的感觉,必须把游戏中各个势力的操作指令在极短的时间内交替执行。因为 CPU 的运算足够快,交替的时间间隔就非常小。RTS 游戏的代表作品有目标的傲世三国 ,BLIZZARD 星际争霸 , 魔兽争霸系列,WESTWOOD 的命令与征服系列。图 1-4 为魔兽争霸3的截图图 1-4魔兽争霸 3截图10SLG (Simulation Game)模拟/战棋类战略游戏 SLG 游戏有多种含义,一是指对飞机,坦克,机器人等一般玩家接触不到的设备的虚拟体验,以及对某种现实生活的体验,也是指策略战棋类游戏。就系统而言,模拟类是对设备(或某类型的现实生活)的各种操作
22、及其产生的结果进行模拟,根据模拟对象而定;而战棋类游戏的系统主要是在模拟地图(棋盘)上,玩家根据行动顺序的指定自方角色行动,与敌方角色进行虚拟战斗。模拟类型的游戏,具有代表性的有微软的模拟飞行系列,NAMCO 的王牌空战系列,KONAMI 的空中三角洲系列;经营模拟类的有 SIM 的模拟城市系列, 模拟人生系列,微软的动物园大亨系列;战棋类有宇峻的超时空英雄传说系列,INTELLIGENT 的火焰之纹章基于 DirectX(SDK)的 Visual C+游戏设计系列,ENTERBRAIN 的泪之指环传说系列。11SPG (Sport Game) 体育运动游戏 SPG 游戏就是现实中各种运动竞技
23、的模拟。从系统上来说也是五花八门,有靠玩家点击频率,节奏取得胜利的,也有像动作游戏一样要求玩家精确操纵的。这种游戏类型的代表作品是 KONAMI 的实况足球系列,EA 的体育游戏系列,SEGA 的ESPN体育系列, 汤尼霍克滑板系列。 12STG (Shooting GAME) 射击游戏 现在一般指的是卷轴式射击游戏,是出现频率的很高的游戏类型。纯 2D STG 的系统是在卷动的背景图片上,玩家自己战机的活动块与敌方子弹(和战机)的活动块,玩家飞机子弹的活动块与敌战机的碰撞计算。玩家在游戏中的目的就是获得最高分数的记录,或者是在敌方的枪林弹雨中成功存活。代表作品有彩京的194X 系列,CAVE
24、 的首领蜂系列,IREM 的雷电系列。伪 3D 的作品有R-TYPE 战机系列, 雷霆战机系列。 13TAB (Table Game)桌面游戏 一般是现实生活中的玩具的模拟。以大富翁类游戏最具有代表性。如寰宇之星的大富翁系列,明日工作室的虚拟人生系列。 14POLG (Playing Online Game )网络游戏这里所讲的网络游戏并不是可以上网玩的游戏。而是单指那些只能通过互联网进行,不能独自在家里玩的单机版电脑游戏。其最大的优势在于它的“互动性” ,在同一个虚拟社会里朋友们可以互相聊天,在进行游戏的时候有其他的玩家可以帮助你,大家一起战斗,所要面对的也不只是电脑里的对手,而是和玩家们一样真实存在的人。网络游戏的代表作品有传奇 、 奇迹 、 魔兽世界等1.2.2 游戏的视角1. 第一人称视角第一人称视角,即在游戏中,玩家视野内的游戏环境就如同角色眼睛所能看到的一样。