本书以作者10余年游戏开发的经验为基础,用生动易懂的语言,介绍了面向对象游戏开发中的程序设计要素,特别是游戏引擎的团队开发的基本知识。内容包括:以商业软件代码为例说明实用的面向对象设计方法、实用的设计模式、必要时编写可重用代码、使用组件技术编写游戏代码、使用迭代技术进行编程开发和进度安排等。
人生如戏。每个人的一生都充满未知因素,然而,游戏可以重来,人生却无法存盘。从某种程度上说,计算机游戏可以在短短的数十小时之内,模拟人在一生中几乎所有的探索、活动、思维、幻想等等一切,玩家可以在游戏提供的虚拟世界中体验丰富多彩的生活,不可谓不动人。对计算机游戏的策划、开发和设计者而言,提供玩家这种体验无疑是巨大的挑战。而要成为一个合格的计算机游戏程序设计人员,不仅需要掌握程序设计技巧和多种专业领域知识,还需要对计算机游戏的基本内涵、开发过程和游戏产业发展状况有个基本的了解,才能有所作为。
在国外,游戏开发经历了20余年的风风雨雨,现已经成长为一个高技术、高利润和高速发展的行业。在中国,一方面,游戏特别是网络游戏,构成了IT行业中新兴的利润增长点,国际数据公司和中国出版工作者协会游戏工作委员会的2003年中国游戏产业报告指出:2002年中国游戏市场的规模为10.2亿元人民币,2003年的市场规模为17.8亿元,2004年上半年已达15.5亿元,全年可达到35亿元,并预计到2007年,中国游戏市场的规模将达到67亿元,年复合增长率将达到49.2%,如此之高的增长率充分表明了中国的游戏产业正处于快速发展时期。
另一方面,由于历史的原因,我国的游戏产业尚处于起步阶段,国内游戏开发水平低,人才匮乏,而优秀叫座的游戏都是舶来品,本土市场的利润大部分流向国外。因此,着手游戏开发的教育、研究和开发工作势在必行。2004年,浙江大学、四川大学、山东大学等高校的计算机学院相继开出了计算机游戏程序设计方面的课程,浙江大学、中国美术学院等高校还设立了与游戏开发相关的专业。然而,目前优秀的计算机游戏程序设计教程、参考资料在市面上仍不多见。
计算机游戏程序设计涉及的知识面极广,包括软件工程、面向对象的程序设计、数据结构、游戏引擎、图形动画、音频、网络、人工智能等方面。优秀的计算机游戏程序员不仅需要具有计算机编程方面的知识,还需要掌握图形、美术、物理等方面的相关内容。本书以生动易懂的语言,以作者10余年的游戏开发经验为背景,介绍了面向对象游戏开发中的程序设计要素,特别是游戏引擎的团队开发的基本知识。本书主要介绍的内容包括:以商业软件代码为例说明实用的面向对象设计方法、实用的设计模式、必要时编写可重用代码、使用组件技术编写游戏代码、使用迭代技术进行编程开发和进度安排。本书的潜在读者,攻读游戏开发方面学位的学生、对游戏引擎设计感兴趣的硕士生,已经在游戏公司工作的程序员、制作人、设计师和艺术家,都将在本书中阅读到大量满足现实需要的实用技术,了解游戏开发的基本理念,熟悉游戏开发的基本技巧和流程,从而有助于其在使用不断更新的技术开发越来越复杂的娱乐软件时按时按预算完成任务。
本书的翻译工作由陈为博士组织,由陈为(浙江大学计算机学院)、周骥(上海威盛公司)、杨珂(浙江大学计算机学院)、董兆华(浙江大学计算机学院)和邹林灿(浙江大学计算机学院)负责翻译。其中第l到第3章由陈为、邹林灿负责翻译,第4、5章由周骥负责翻译,第6、7章由董兆华负责翻译,第8、9、10和ll章由杨珂负责翻译,附录、序言和封底等由陈为负责翻译,全书由陈为负责定稿、审校,感谢朱沭红、顾慧芳、张龙、赵爱东等在翻译过程中的大力协助,在此一并致谢。
本书原版英文比较口语化,并夹杂了大量的俚语和网络用语,这给翻译工作带来了一定困难,但是我们经过多次审校,克服了这些困难。由于译者水平和学识所限,译本中难免存在错误和不妥之处,在此我们恳请读者批评指正。译者联系电子邮件:shearwarp@hotmail.com。
译 者
2005年1月28日于浙江大学计算机学院