游戏编程精粹.7
基本信息
- 原书名: Game Programming Gems 7
- 原出版社: Charles River Media
推荐阅读
内容简介回到顶部↑
作译者回到顶部↑
本书提供作译者介绍
Scott Jacobs从1995年起就在游戏行业工作了。当前他是Destineer的高级软件工程师。在进入Destineer之前,他作为软件工程师在严肃游戏公司VirtuaI Heroes,以及包括Redstorm Entertainment在内的两家Ubisoft工作室工作,并在Interactive Magic正式进入游戏开发行业。他也是《游戏编程精粹6》中网络和多人游戏章节的编辑。他现在与他的妻子以及一些小动物住在北卡罗来纳。
项周臻,hermitab@qq.com,毕业于上海大学计算机工程系。8年网络游戏开发经验,在游戏制作流程管理、游戏质量管理、网络编程、.. << 查看详细
项周臻,hermitab@qq.com,毕业于上海大学计算机工程系。8年网络游戏开发经验,在游戏制作流程管理、游戏质量管理、网络编程、.. << 查看详细
目录回到顶部↑
第1章 通用编程
简介 2
adam lake, 图形软件架构师,高级视觉计算(avc)小组,英特尔
1.1 使用年龄和成本指标的高效率缓存替换 3
colt“mainroach”mcanlis,微软ensemble工作室
1.1.1 概述 3
1.1.2 缓存替换算法 4
1.1.3 年龄和成本指标 5
1.1.4 结论 9
1.1.5 致谢 10
1.1.6 参考文献 10
1.2 高性能堆分配器 11
dimitar lazarov, luxoflux
1.2.1 简介 11
1.2.2 相关工作 11
1.2.3 我们的解决方案 12
1.2.4 参考文献 18
1.3 用网络摄像头玩的视频游戏的光流 19
arnau ramisa, institut d’investigació en intelligència artificial
enric vergara, geovirtual
简介 2
adam lake, 图形软件架构师,高级视觉计算(avc)小组,英特尔
1.1 使用年龄和成本指标的高效率缓存替换 3
colt“mainroach”mcanlis,微软ensemble工作室
1.1.1 概述 3
1.1.2 缓存替换算法 4
1.1.3 年龄和成本指标 5
1.1.4 结论 9
1.1.5 致谢 10
1.1.6 参考文献 10
1.2 高性能堆分配器 11
dimitar lazarov, luxoflux
1.2.1 简介 11
1.2.2 相关工作 11
1.2.3 我们的解决方案 12
1.2.4 参考文献 18
1.3 用网络摄像头玩的视频游戏的光流 19
arnau ramisa, institut d’investigació en intelligència artificial
enric vergara, geovirtual
前言回到顶部↑
游戏编程精粹丛书出到现在已经有6卷了。每一卷都包含许多有用且实际的思路和技术。根据网上的讨论、好奇读者的期望、业余以及专业游戏开发者的咨询,我相信前作起到了让游戏更富有创意,更富有娱乐性和更加令人满意的促进效果。在第7卷里面,我们投入了大量努力来继承这一传统。
游戏开发的激情
游戏开发正越来越成为一个充满幻想的历程。它是一个真正的能让激情与才华闪耀的知识精英的竞技。学位和经验也许能让你进入这个大门,但最终还是要看结果。你的代码容易维护吗?它的效率达到甚至超过目标了吗?视觉和听觉效果令人震撼吗?游戏玩法有趣吗?在这些方面超越别人的挑战毫无疑问让游戏开发令人兴奋,我猜想这也是激发书中文献作者们分享想法和经验的动机。我希望同样是这种向往超越的渴望把你引向这本书,因为这一卷的意义,同时事实—卜也是这整个系列的意义,就是提供给你提供工具和灵感来做到这一点。
没有几个行业能够像游戏业这样,开发者工作的激情如此之高,以至于在经历了5天的工作后,专业开发者们还会与业余爱好者聚集一起,为了周末的“果酱”继续做和工作日一模一样的事情。也许我在电视上看到的伐木工竞赛和这有点近似。但是有多少伐木工会在家里安排一个伐木计划,却只是为了尝试一些新点子来获得乐趣和经验呢?
专业领域知识的必要性意味着通常游戏开发者被划分到专门的角色上:图形程序员、人工智能程序员之类。这本书的章节也毫无疑问能反映出各方向之间常用的分界线,尽管我必须尊重一些抱怨有个别分类并不总是完全正好属于某一个方向的意见。在我希望专注于某一领域的人能在这些文献里找到他们感兴趣的东西的同时,我十分兴奋于这本书覆盖范围和专业技能的广泛多样,能够展现在对每个方向都充满激情的游戏开发者面前。我希望图形程序员能够阅读音频的文献,反之亦然!
想做游戏的渴望
业内游戏开发者的热情也许可以帮助解释为什么那么多人殷切地想加入游戏开发者行列。虽然独立自学的“勇士”也能踏进游戏行业的大
门(有时候他们甚至制造出他们自己的传奇大门),但对于想把游戏开发作为第一份职业的人来说,合格的教育越来越多的能起到帮助作用。除了传统的数学和计算机科学教育路线和大量高质量对高级出版物的介绍外,全世界的中学和大学里面的专门游戏的开发学位、课程可供使用,有些还是与专业开发工作室紧密合作而设立的。已发行游戏的多种组成都可以被修改,这提供了前所未有的进入使用最前沿技术,价值好几百万美元的游戏引擎,并扩展你的游戏体验或者原型库的机会。不仅如此,对大部分题材的游戏,你都能在高质量的开源游戏或者引擎里面找到灵感、实验方法和扩展方法。
拥有一定量非游戏相关软件开发经验的同时充满热情的业余人士,能够参与游戏开发的机会也相当多的。我们可以使用他们。随着游戏设计、目标硬件和开发团队自身正变得越来越大而且复杂,游戏业继续欢迎来自其他软件开发行业的各种新鲜想法。你的开发团队里面有数据库管理员(DBA)吗(小点声,MMO开发者们)?在这些人里面,你能找到会给出把你的对象系统整合到关系数据库的天才。我们有一个网络达人,他能把一些网络管理员用的工具用到多玩家模块的开发上,但是在业界这种做法还没有流行起来。当认识到广义领域软件开发的趋势和成功后,游戏开发团队正越来越多地引入正式的项目管理和产品方法论,比如敏捷和Scrum,在这些领域我们可以受益于游戏业外的同行们。做游戏和做文字处理软件不同,但是优秀的管理日益增长的团队的方法、增强团队内部交流的途径和管理客户(发行商)关系的方案,一定与业外同行们的解决方案相似,因为他们也遇到同样的问题。多核平台的移植,不论是PC还是今天的家用机平台,要求开发者超越传统C/C++编程语言才能解决并行和同步的问题,我们正积极的从精通Haskei或者Erlang的程序员身上找出能借鉴的经验。
向往快乐的激情
游戏的吸引在于它们充满挑战、恶搞和娱乐。这本书里面的许多文献都是关于幕布背后的灯光道具脚手架,尽管它们并不是制造快乐的直接因素。一个被重定义者(redefiner)一遍又一遍玩弄的类型与一个在打第一个boss前丢掉的战车也许使用的是同一套碰撞检测系统或者C++到脚本语言的接口。真正产生快乐的是玩游戏的体验。所以,除了解决核心难题的文献,书里还有关于直接影响玩家体验的文章,包括音频处理文献和人机互动。人们总是对新的游戏交互方式充满热情且乐于尝试。近来流行乐队(Rock Band)、吉他英雄(Guitar Hero)、劲舞革命(Dance Dance Revolution)当然还有仍天堂的Wii的成功,毫无疑问地显示了这点。新的人机接口让长寿的游戏题材有了新的体验,而且也让那些平时不会被游戏诱惑的人产生了想尝试的冲动,从而给那些人带来全新的娱乐方式,顺便也给我们带来新的市场份额。我很骄傲这本书里面能有3篇文献是关于尚未采用的人机交互的想法,同时也很想知道当这些点子被尝试并进一步完善后会有什么东西出来。
在这充满激情的开发者的世界里,殷切的新手、多种多样的产品需求、对创意且娱乐的游戏玩法与设计的渴望创生了这一卷。让一本书符合所有兴趣的需求是一个很高的目标,但是我自信,也希望你会同意,本书后面的内容会作为自己说话。当你的游戏发行的时候通知我一声,我想试试看。
游戏开发的激情
游戏开发正越来越成为一个充满幻想的历程。它是一个真正的能让激情与才华闪耀的知识精英的竞技。学位和经验也许能让你进入这个大门,但最终还是要看结果。你的代码容易维护吗?它的效率达到甚至超过目标了吗?视觉和听觉效果令人震撼吗?游戏玩法有趣吗?在这些方面超越别人的挑战毫无疑问让游戏开发令人兴奋,我猜想这也是激发书中文献作者们分享想法和经验的动机。我希望同样是这种向往超越的渴望把你引向这本书,因为这一卷的意义,同时事实—卜也是这整个系列的意义,就是提供给你提供工具和灵感来做到这一点。
没有几个行业能够像游戏业这样,开发者工作的激情如此之高,以至于在经历了5天的工作后,专业开发者们还会与业余爱好者聚集一起,为了周末的“果酱”继续做和工作日一模一样的事情。也许我在电视上看到的伐木工竞赛和这有点近似。但是有多少伐木工会在家里安排一个伐木计划,却只是为了尝试一些新点子来获得乐趣和经验呢?
专业领域知识的必要性意味着通常游戏开发者被划分到专门的角色上:图形程序员、人工智能程序员之类。这本书的章节也毫无疑问能反映出各方向之间常用的分界线,尽管我必须尊重一些抱怨有个别分类并不总是完全正好属于某一个方向的意见。在我希望专注于某一领域的人能在这些文献里找到他们感兴趣的东西的同时,我十分兴奋于这本书覆盖范围和专业技能的广泛多样,能够展现在对每个方向都充满激情的游戏开发者面前。我希望图形程序员能够阅读音频的文献,反之亦然!
想做游戏的渴望
业内游戏开发者的热情也许可以帮助解释为什么那么多人殷切地想加入游戏开发者行列。虽然独立自学的“勇士”也能踏进游戏行业的大
门(有时候他们甚至制造出他们自己的传奇大门),但对于想把游戏开发作为第一份职业的人来说,合格的教育越来越多的能起到帮助作用。除了传统的数学和计算机科学教育路线和大量高质量对高级出版物的介绍外,全世界的中学和大学里面的专门游戏的开发学位、课程可供使用,有些还是与专业开发工作室紧密合作而设立的。已发行游戏的多种组成都可以被修改,这提供了前所未有的进入使用最前沿技术,价值好几百万美元的游戏引擎,并扩展你的游戏体验或者原型库的机会。不仅如此,对大部分题材的游戏,你都能在高质量的开源游戏或者引擎里面找到灵感、实验方法和扩展方法。
拥有一定量非游戏相关软件开发经验的同时充满热情的业余人士,能够参与游戏开发的机会也相当多的。我们可以使用他们。随着游戏设计、目标硬件和开发团队自身正变得越来越大而且复杂,游戏业继续欢迎来自其他软件开发行业的各种新鲜想法。你的开发团队里面有数据库管理员(DBA)吗(小点声,MMO开发者们)?在这些人里面,你能找到会给出把你的对象系统整合到关系数据库的天才。我们有一个网络达人,他能把一些网络管理员用的工具用到多玩家模块的开发上,但是在业界这种做法还没有流行起来。当认识到广义领域软件开发的趋势和成功后,游戏开发团队正越来越多地引入正式的项目管理和产品方法论,比如敏捷和Scrum,在这些领域我们可以受益于游戏业外的同行们。做游戏和做文字处理软件不同,但是优秀的管理日益增长的团队的方法、增强团队内部交流的途径和管理客户(发行商)关系的方案,一定与业外同行们的解决方案相似,因为他们也遇到同样的问题。多核平台的移植,不论是PC还是今天的家用机平台,要求开发者超越传统C/C++编程语言才能解决并行和同步的问题,我们正积极的从精通Haskei或者Erlang的程序员身上找出能借鉴的经验。
向往快乐的激情
游戏的吸引在于它们充满挑战、恶搞和娱乐。这本书里面的许多文献都是关于幕布背后的灯光道具脚手架,尽管它们并不是制造快乐的直接因素。一个被重定义者(redefiner)一遍又一遍玩弄的类型与一个在打第一个boss前丢掉的战车也许使用的是同一套碰撞检测系统或者C++到脚本语言的接口。真正产生快乐的是玩游戏的体验。所以,除了解决核心难题的文献,书里还有关于直接影响玩家体验的文章,包括音频处理文献和人机互动。人们总是对新的游戏交互方式充满热情且乐于尝试。近来流行乐队(Rock Band)、吉他英雄(Guitar Hero)、劲舞革命(Dance Dance Revolution)当然还有仍天堂的Wii的成功,毫无疑问地显示了这点。新的人机接口让长寿的游戏题材有了新的体验,而且也让那些平时不会被游戏诱惑的人产生了想尝试的冲动,从而给那些人带来全新的娱乐方式,顺便也给我们带来新的市场份额。我很骄傲这本书里面能有3篇文献是关于尚未采用的人机交互的想法,同时也很想知道当这些点子被尝试并进一步完善后会有什么东西出来。
在这充满激情的开发者的世界里,殷切的新手、多种多样的产品需求、对创意且娱乐的游戏玩法与设计的渴望创生了这一卷。让一本书符合所有兴趣的需求是一个很高的目标,但是我自信,也希望你会同意,本书后面的内容会作为自己说话。当你的游戏发行的时候通知我一声,我想试试看。
【插图】








点击看大图






加载中...
