1.1.3 游戏开发工具
游戏的开发是一个相当庞大的工程,不但有大量程序开发的工作,还涉及图像(2D/3D)、音乐、人机交互以及项目组织、编辑策划等各方面的工作。本书主要学习游戏程序的设计,围绕本书所学的内容,这里简要介绍一下本书中进行游戏程序开发所用到的工具。
1.游戏开发工具Visual C++ 6.0
C++语言是当今使用最广泛的面象对象程序设计语言,它的底层控制能力强,代码执行效率高,尤其是早期的 DirectX,根本就是为 C++而做的,因此,C++无疑是游戏开发的首选,大多数的商业游戏是使用C/C++编写的。
Visual C++是Microsoft 公司开发的、基于Windows 操作系统的C++语言程序的可视化编程工具,由于同为 Microsoft 公司的产品,在 Windows 操作系统强有力的支持下,Visual C++ 6.0 的执行速度和对操作系统的访问权限之高,是其他许多的编程工具所无法比拟的,因此,Visual C++成为众多游戏开发者在Windows下开发游戏的首选工具。
同时,用Visual C++ 6.0 开发的程序代码简练,运行速度较快。在Visual C++ 6.0 中,可以直接调用Windows API完成开发。由于Visual C++ 6.0功能强大,应用范围广泛,底层控制力强,开发者可以完全掌握 Windows 下的资源。用 Visual C++ 6.0 开发的游戏数量众多,包括《星际争霸》、《暗黑破坏神》、《魔兽争霸》、《命令与征服》和《FIFA》等众多知名游戏。
Visual C++ 6.0是Microsoft的Visual Studio 6.0组件之一,Visual C++ 6.0集成开发环境界面如图1-1-20所示。
2.DirectX开发工具包
(1)DirectX 简介。微软的 DirectX 软件开发工具包(SDK)提供了一套优秀的应用程序编程接口(API),这些编程接口可以基于 Windows 平台的游戏或多媒体程序获得更高的执行效率,增强 3D 图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为不同的硬件来写不同的驱动程序,也降低用户安装及设置硬件的复杂度。
对于游戏设计初步者来说,了解DirectX是非常有必要的。
图1-1-20 Visual C++ 6.0 集成开发环境
图1-1-21 DirectX标识
从 Windows 98 开始,DirectX 就是 Windows 操作系统中不可缺少的核心成员。Windows 98 中集成了 DirectX5, Windows 2000 中集成了 DirectX 6,Windows Me 中集成了DirectX 7,Windows XP集成了DirectX 8,而最新的Vista则集成了DirectX 10。
微软开发的 DirectX,其最主要的目的之一是促进在Windows 操作系统上的游戏和多媒体应用程序的发展。在DirectX 出现以前,主要的游戏开发平台是 MS-DOS,游戏开发者们为了使他们的程序能够适应各种各样的硬件设备而绞尽脑汁。自从有了 DirectX,游戏开发者便可以获益于 Windows平台的设备无关性,而又不失去直接访问硬件的特性。
此外,微软公司开发 DirectX 是为了在当前或今后的计算机操作系统上提供给基于Windows 平台上的应用程序以高表现力、实时的访问硬件的能力。DirectX 在硬件设备和应用程序之间提供了一套完整一致的接口,以减小在安装和配置时的复杂程度,并且可以最大限度地利用硬件的优秀特性。通过使用 DirectX 所提供的接口,软件开发者可以尽情地利用硬件所可能带来的高性能,而不用烦恼于那些复杂而又多变的硬件执行细节。
DirectX 的另外一个重要的目的是给开发商提供开发策略,使硬件开发商可以遵从DirectX 技术规范开发相应的硬件,而软件开发人员可以遵从 DirectX 技术规范开发相应的软件,依靠 DirectX 所提供的标准接口,开发人员可以方便地对硬件进行操作而完全不必去理会具体的硬件是什么。
(2)DirectX 的组件。DirectX SDK 是为开发者提供的程序开发组件包,它为基于Windows平台的应用程序提供了以下多种组件。
● DirectDraw:通过直接访问显示硬件来提供高级的图像处理能力。
● DirectSound:提供软硬件的低延迟声音混频和回放、硬件加速,以及直接访问音频设备的能力。
● DirectPlay:提供网络环境连接能力来简化应用程序之间的通信服务。
● Direct3D:提供实时的、交互的3D技术。
● DirectInput:简化应用程序访问鼠标、键盘和操纵杆设备的能力。
● DirectSetup:提供安装DirectX部件的功能。
这些组件按照使用范围分类,可以分为4大部分:显示、声音、输入和网络。
显示部分担任图形处理的关键任务,分为 Direct Draw 和 Direct 3D(D3D)。前者主要负责 2D 图像加速,它包括很多方面的内容,例如,播放影片、浏览图像、2D 游戏等。后者则主要负责3D效果的显示,例如,3D游戏中的场景和人物、3D动画制作、模拟现实环境等。
声音部分中最主要的是 DirectSound,除了播放声音和处理混音之外,还加强了 3D 音效,并提供了录音功能。
输入部分主要是 DirectInput,可以支持多种游戏输入设备,它能够让这些设备充分发挥最佳状态和全部功能。除了键盘和鼠标之外还可以连接手柄、摇杆、模拟器等。
网络部分 DirectPlay 主要是为了具有网络功能游戏而开发的,提供了多种连接方式, TPC/IP,IPX,Modem,串口等,让玩家可以用各种连网方式进行对战,此外也提供网络对话功能及安全保障功能。
有一点应该注意,不同版本的DirectX需要相应的软硬件环境才能运行,Windows中提供了“DirectX 诊断工具”,可以查看当前系统中的 DirectX版本,及其是否能够正常工作。单击“开始”→“运行”菜单命令,在弹出的“运行”对话框中输入dxdiag.exe,如图1-1-22所示。单击“确定”按钮,即可打开“DirectX诊断工具”,如图1-1-23所示。
图1-1-22 输入dxdiag.exe命令
图1-1-23 DirectX诊断工具
使用“DirectX 诊断工具”可以查看当前 DirectX 的版本,也可以诊断系统是否能正确运行DirectX程序,如图1-1-24所示。如果不能进行3D测试,除了硬件原因外,还应该查看显卡加速功能是否启用,具体操作方法是:在 Windows 桌面空白处单击鼠标右键,在弹出菜单中单击“属性”命令,打开“显示属性”对话框。在“显示 属性”对话框的“设置”选项卡中单击“高级”按钮,此时将打开“即插即用监视器”和“ATI Radeon X1250属性”对话框(根据用户的显示器和显卡类型的不同,这里的对话框标题有所不同),在该对话框中的“疑难解答”选项卡中将“硬件加速”设置为“完全”,如图1-1-25所示。最后,单击“确定”按钮,即可启用显卡加速功能。
图1-1-24 测试DirectX
图1-1-25 启用显卡硬件加速
3.图形图像制作软件
游戏的开发离不开图像,因此,图像制作软件也是游戏开发中必须用到的。制作游戏图像的软件主要有两类:制作平面图像的软件(如Photoshop和Corel Painter)和制作3D图像、动画的软件(如3DS MAX和Maya)。
Photoshop和Corel Painter软件主要用于平面设计,在游戏中主要用于游戏CG、二维场景、地图和人物的绘制,以及三维物体材质贴图的设计等。图 1-1-26 是 Photoshop 和 Corel Painter的设计界面。
图1-1-26 Photoshop和Corel Painter的设计界面
3DS MAX 和 Maya 软件主要用于三维场景和角色,以及在三维动画、游戏片头的设计。图1-1-27是3DS MAX和Maya的设计界面。
图1-1-27 3DS MAX和Maya的设计界面