开发游戏时,人们常常忽视游戏的音效。开发者往往把主要精力花费在游戏的图像和动画等方面,而忽视了背景音乐和声音效果。当他们意识到这一点时,通常为时已晚。这种做法显然是不正确的,因为好的游戏音效和音乐可以使玩家融人游戏世界,并与其情绪产生共鸣。音效的作用还不仅限于此。如果没有高超的游戏音效的映衬,再好的图像技巧也无法使游戏表现摆脱平庸,对玩家没有足够的吸引力。以前,关于游戏音效的书很少,因为那时游戏音效设计都很简单。采用20世纪90年代的声卡,只能让计算机说一段话或播放一段简单的单声道音乐,不言而喻,其实现方法也就比较简单。今天,3D音效、环境音效、MP3播放以及CD音效等技术为游戏音效的开发提供了方便的音效技术支持(即使是设计简单游戏)。当游戏程序员为游戏设计音效时,会面临许多技术问题。《游戏音效编程》的编写目的就是针对这些问题,试图教会读者设计游戏音效的一些基本技能。全书分为两个部分,第一部分讲述在诸如播放音效、装载并分析wAV文件、以及播放不同格式音乐(如MlDI、MP3、CD)等简单设计任务中,如何克服实施中的技术困难。第二部分讲述一些高级的音效技术。在这一部分中,读者将学习如何合成动态音乐并将其应用于游戏中;也将学习关于3D音乐编程、环境音效、音效脚本设计、音乐特效处理及音效可视化方面的基础知识。此外,专门有一章讲述如何使用I)irec!Play语音软件在游戏中实现实时声音对话。《游戏音效编程》的绝大部分内容都基于Directx及I)irectX Audio技术,少数章节基于OpenALAudio或普通Win32音频API。所有代码都采用c++编写,并基于标准模板库(STI。)的低层数据结构(如向量、映射等)。为了学习和理解《游戏音效编程》的内容,必须了解C++,虽然并不需要精通C++;其次,还需要知道windows程序是如何工作的;另外必须知道事件驱动的程序设计以及win32 API的应用,包括如何书写按钮、编辑框、列表框等的GuI(图形用户接口)代码;也必须掌握DirextX的基本知识,熟悉如何获取和释放不同Dirextx组件的接口;理解DirextX的功能和用途以及当你需要时到哪里获得帮助。如果具备了以上所有知识,请从第一章开始逐章依次学习《游戏音效编程》的内容。