编者序
游戏开发对于一般软件开发者来说,总像蒙上了一层神秘面纱。这可能是由多个原因造成的。首先,游戏开发的技术范畴比较广,一些技术如计算机图形学、物理模拟、实时网络同步等比较少应用在一般软件开发中。其次,游戏开发属于创意工业,对各类型游戏的需求有很多区别,不少技术没有形成标准,各家的技术方案、工作流程等也会有不少差异。最后,公司之间甚至公司之内也可能有技术壁垒,影响知识和技术的流通。这些情况不利于有兴趣的朋友进入此行业,从业者的进步也会受限,长远影响行业的发展,难以面对全球的激烈竞争。
编者在20世纪90年代的香港,互联网未普及之前,只能通过BBS收集一些国外“漂流”过来的游戏开发技术文档,例如《德军总部3D》的三维室内场景渲染及纹理贴图技术、如何使用非标准的Mode X去做VGA 256色双缓冲区渲染等。在那个资讯匮乏的年代,每次遇到新技术的解密文档,编者都兴奋得如获至宝。
而在国内做游戏开发的“老鸟”,大概都会翻过千禧年代的《游戏编程精粹(Game Programming Gems)》系列丛书。这套丛书影响了一整代的开发者,让我们能一窥世界各地游戏开发者的各种秘技,解决在游戏开发中遇到的各种共同问题,同时可以激发灵感,研发比书中更好的解决方案。
进入互联网信息爆炸的年代,我们能在网上接触无数的博客、问答等信息,可以更快速地知悉各种新技术。但同时,网上信息相对于传统出版来说,通常较为零散,品质参差不齐。从业者也基于保密原因,不会随便公开一些游戏开发中使用到的新技术。
本书受《游戏编程精粹》系列丛书的启发,希望鼓励腾讯游戏的工程师与业界同行分享一些实际应用在游戏里的技术,与行业共享。通过内部审核及编辑等机制,尽量筛选可对外公开、高品质的文章,也保证技术具有一定的通用性及时效性。对国内业界而言,希望这本书能成为一小步,促进更开放的未来,提升整体技术水平。
本书从提案到出版长达一年半的时间,除了依靠各位作者在忙碌的开发任务中抽空撰文,还必须感谢腾讯游戏学院院长夏琳女士的大力支持,也要感谢腾讯游戏学院的董磊、刘雅和陈若毅使项目成功推进。我也衷心感谢本书的编委郭智、刘安健、匡西尼、安柏霖、王杨军和沙鹰(排名不分先后),他们都是腾讯游戏各个部门的技术专家,悉心为文章的内容把关。也非常感谢电子工业出版社的张春雨和葛娜协助出版事宜。
最后,希望本书能对读者有所帮助,如有任何意见请不吝通过邮件反馈给我们:tencentgamesgems@tencent.com,期望在续篇再见。
叶劲峰
《腾讯游戏开发精粹》主编
腾讯互动娱乐 魔方工作室群技术总监