代码改变世界

天朝GDC 2009归来(二):学习,学习

2010-06-02 15:11  六水  阅读(780)  评论(1编辑  收藏  举报
天朝GDC 2009归来(二):学习,学习

文:六水 2009年7月25日

今天是CGDC第二天了,跟昨天相比,我主要都听了技术类的讲座。由于是在世纪厅(该厅门票才100),因此陪同一起听的朋友不少,感觉很好。

第一个是电脑报做的报告《中国网络游戏数据统计:玩家需要什么样的游戏》
该讲座电脑报的副主编进行演讲,会上他以电脑报做的有关网络游戏的调查的报告,以下列举几个值得参考的数据:
1.  玩游戏的目的是什么?
释放工作和生活压力:      43.95%
享受游戏带来的乐趣:      42.22%
从这个结果来看,大量的玩家需要释放压力才选择玩游戏,不可否认,这些玩家中有很多借助网络游戏来逃避压力巨大的现实世界。
2.  玩家在玩游戏中,最不能容忍的问题是:
游戏运行不流畅        19.31%
外挂和漏洞多          19.21%
玩法雷同            18.86%
练级打怪枯燥          17.51%
看来玩家最不能容忍的是游戏本身存在的质量问题,其次才是游戏内容。
3.  玩家玩的最多的游戏类型:
角色扮演类(MMORPG)    70.85%
对战类型            28.81%
其它类型            0.34%
大多数玩家玩的还是MMORPG,这跟游戏公司推出众多的MMORPG也是存在一定的关系。
4.  玩家喜爱的游戏题材:
武侠类            26.71%
历史类            12.1%
神化类            12.13%
魔幻类            34%
近代、现代战争类        7.7%
科幻、未来类          6.5%
5.  玩家希望在游戏中添加哪些自动功能?
不需要任何自动功能      20%
自动寻路功能          67.66%
自动杀怪功能          35.99%
自动拣物功能          56.42%
自动聊天功能          12.55%
最后一个功能很有意思,当然现在的电脑还没有智能到能和人类很好的聊天,但如果这个技术已经不成问题,那这个数字就有些意味深长……

CryEngine:60分钟创建游戏关卡
CryEngine是目前世界上视觉效果最强的引擎,屡获最佳图像等大奖:2007年获得了4次大奖,2008年获3次,2009年1次。
Crytek的技术指导经理Sascha Gundlach在一个小时内演示了编辑一个新关卡的过程,大多数操作我还是比较熟悉的,不过在他掩饰过程当中,我注意到几个平时竟没发现的细节(下面1、2两点)。另外Crytek还在一定程度上解放了策划的生产力(3):

1. 编辑器里,地形可以根据各种参数自动生成mesh,包括影子,基础植被,海岸,海底纹理等。这些基础数据可以作为低精度的地形来渲染。

2. 用笔刷编辑地形纹理的时候,可以设置一定的倾斜角度范围,刷地形的时候笔刷只影响到设定倾斜范围内的地形。这一点对于画岩石很有效。

3. 编辑器里有Flow Graph工具,通过图形(元件)界面,把逻辑可视化,功能流程可视化,有利于策划人员测试和实现游戏逻辑。FG另一方面也相当于是把脚本(剧本)可视化,制作者可以方便地通过编辑FG以达到制作剧情动画的目的。

除了游戏以外,目前CryEngnie也有虚拟现实方面的授权。从2009年开始,Crytek将增强本地支持,陆续会在美国,中国,日本,英国,韩国建立本地支持点,每个支持点大概会有近10人的团队。文档方面,也会在2009年发布韩语,中文和日语版本。

搜狐畅游最近已经授权了cryengine3,并计划用于开发下一个游戏项目。
很期待畅游用cryengine3搞的游戏,倒底会成什么样子

讲完后,我鼓起勇气上去跟Sascha交换名片,我说,你的讲的很棒,我们交换一下名片好吗,他听了貌似还比较开心“oh,that is a nice idea”,于是我还要他签名。后来他跟我说了几句,我觉得他说的太快,我压根没听懂,大概是说我们在外面还有展台,到时候可以过来交流。我生怕他继续跟我说下去(囧),就开始扬起手说谢谢,再见。

总的来说,这次演讲听的比较清楚,原因是他们有一个非常好的翻译(长的也挺漂亮,演讲完毕,就看到好几个人立马上去跟她交换名片了)。当时我还和Xu熊讨论过这位翻译的来头,她能那么及时地进行那么专业的翻译,会不会是Crytek内部的人。Xu坚持认为她是Crytek的一位有身份的人。我不大相信,Crytek在中国尚未成立分公司,何来中国团队成员。后来我去Crytek的展台,主动和她交换了名片,发现她果然是Crytek内部人员,蔡影,Crytek大中华区商务总监,倒地,难怪翻译那么流。后来跟她交谈了几句,她说Crytek也有虚拟现实方面的授权。
Crytek还给每个听众一份资料包,里面除了手册之外,还有个很好有的U盘,手感不错,而且跟手表似的可以戴上。后来发现它还有2G的容量,里面放满了视频和pdf。

Unreal Engine:工具、技术与授权
Epic (英佩)大中华区副总裁***劲翀

Epic成立于1991年,它多年来开发了Unreal Engine。迄今已经有150多个游戏使用了Unreal Engine,全球前20家游戏开发商和发行商里有19家都使用了Unreal Engine,据称Unreal Engine拥有世界上80%的市场分额。作为世界上最成熟的游戏引擎,虚幻引擎有着多个优秀特性,特别是她在今年3月发布的大型多人在线游戏开发套件Atlas Technology。该套件拥有支持大型网络游戏的服务器端技术,以及与虚幻引擎3协同工作的游戏内容创建和管理工具。 Atlas Technology将为开发者开发大型网游、休闲与回合制游戏、在线社区以及更多商业应用提供坚实的基础。
***总花费了大量时间讲了关于在引擎面前如何做抉择的问题。他首先说明,自主开始开发次时代的引擎比直接购买引擎花的钱会更多,而且风险会很大。 他还提到,2008年,游戏次时代已经到来了,如果本公司里目前并没有次时代引擎,那还是尽快购买商业引擎为好。现在才开始开发自己的次时代引擎,必然落后于其他拥有次时代引擎的公司;而如果你购买了次时代引擎,就很快能领先于其他没有次时代引擎的公司了。而一个公司如果已经拥有了自己的次时代引擎,那就要深入考虑了:
第一,  自己的引擎是否还能再用3~5年?现在技术更新的速度很快,用户的需求也更新的很快,你的引擎是否还能再满足未来几年市场的需求?你的引擎是否能比竞争对手更迅速快地响应市场的需求?
第二,  第二,还存在一个开发上的问题的,自己的引擎是否还能用于下一个游戏的开发?目前许多公司在开发引擎的时候,往往会优先考虑缩短开发周期,而在引擎设计上比较欠缺,经常使用各种投机取巧(或曰猥琐、山寨)的伎俩,用这样的办法设计(开发功能,进行优化等)出来的引擎往往很难通用,可能做当前的游戏可以,但做下一个游戏就很可能不行了。
***总还提到,拥有自主开发的引擎,是有一定优势的,毕竟自己的团队对这个引擎非常了解,能快速地使用它来进行制作游戏。如果这个引擎还是比较前沿的,那继续投入研发对其升级也是个好方案。但如果对于以上问题,你的回答是否定的,那就建议马上购买次时代的商业引擎。

但是购买了次时代引擎,如何保证能快速地消化它,快速地使用它进行制作游戏,或者对其进行修改以适应游戏项目的需求?这一点也是众多开发商关注的。引擎购买进来,还得投入大量资金,聘请大量优秀的人才来消化它,运用它。就这一点来说就存在高投入高风险的问题了,用了这个引擎,游戏开发不出来怎么办?***总提到,这就需要慎重考虑引擎开发商的技术支持以及培训系统的问题了。他提到,Epic在技术支持方面做得很优秀,公司里建立了反馈系统,每次都会对接收到的客户的问题进行内部分发,由各个专门的人员进行分析并当天给出回复。同时Epic已经在和一些教育机构合作,上海建立了GA游戏教育基地,这能有力地帮引擎用户解决培训的问题。文档方面,UE也是采用了世界先进的文档系统,给出合理的、详细的文档,包括本地文档和在线文档。另外还有一个问题就是,引擎的提供商(支持团队)是否稳定。如果提供商不能保证在未来5年内都能正常运营,那购买该引擎就存在很大的风险了。

接下来***总开始解释UE的各种优势。据称UE是完整的游戏客户端解决方案,是一个为美工、策划量身订做的可视化工具。不过我印象最深刻的就是这一点:“让程序员,美工,策划都使用各自熟悉的方式来工作”我觉得这一点理念很值得借鉴,我们平时开发各种工具都需要考虑到这一点。他提到,譬如许多游戏开发过程中,程序需要和美术解释shader的概念,程序往往是以程序的思路来解释,美术又以自己的方式去思考,这里就存在断层。总不能强迫美术去学习程序,培养其逻辑思维吧?因此如何设计出符合美工思维和操作习惯的工具也是关键了。UE在这方面是经过了大量的考虑,大量的设计,解决了这种问题。策划方面,UE也提供了大量和Crytek Sandbox 2 类似的Flow graph工具,把脚本,逻辑可视化,达到直观地编辑的目的,能让策划快速地测试和实现自己的想法。
另外***总还强调了UE的通用性。UE是久经沙场,多年磨练,在通用性上做了很好的设计,没使用任何short cut (可以理解成“伎俩”),因此能胜任多款游戏,这往往是许多公司自主研发的引擎无法达到的。

我第一天来听讲座就碰上***总了,后来吃饭也碰上了,没想到他也有演讲。既然那么有“缘分”,我决定向他问个问题。是协同制作方面的问题。工具使用方面,UE是否提供了一个协同的开发环境?他的答案是肯定的。他说,UE拥有数据库,能实现开发团队内部资源管理。对游戏地图进行分块,实现多人同时编辑一张地图。UE还提供了分布渲染的功能,能让多个机器同时烘焙美术数据。

金山软件《剑网三》开发经验:针对各高中低配置机器的图形特效优化

杨林,金山公司高级技术经理

所有讲座里,我个人认为杨林是讲的最详细的。杨林给人感觉很好,演讲完了后我和朋友去跟他交换名片了,意外的是,他是第一个和我握手的演讲人。

对于网游戏来说,杨林把高中低配置定义如下:
高:GeForce GTX 260+以上
中:GeForce 8600GT
低:GeForce 6600GT
在每种配置下的优化策略如下(根据他谈到的优化策略,7950GT,8800GT也是列入高端):

1.  高端机器
这时候渲染的瓶颈在于Input assembly。对于高端机器,显卡在计算能力上比较强,但PCIE的瓶颈还是很难突破,减少渲染批次就是重中之重。
a)因此clip&cull就需要特别注意了, 面积小于一个pixel的三角形尽量不要存在,这意味着引擎的lod系统需要做好。
b)另外mesh本身也是需要优化,可以使用DXMESH::Optimize进行,主要是把mesh的面和顶点整理的比较有序,以提高绘制速度。
c)顶点格式方面,顶点属性个数不要太多,能合并在一起的就尽量合并在一起。
d)可以利用高端显卡的优势,多使用vertex texture,以减少input assembly。据称在8系列的显卡上,vertex texture fetch的效率比较高。
2.  中端机器
这时候pixel shader 和填充率就很可能成为瓶颈了。
这时候pixelshader里多使用discard,clip()提前结束,跳过复杂操作。
在ps比较简单的情况下,填充率将成为瓶颈。这时各种RT的分辨率就需要考虑降低了。
另外,渲染批次也可能成为瓶颈。也需要做优化的考虑。
3.  低端机器
低端机器上, ps,贴图采样也会成为瓶颈。这时候要总是使用mipmap,以提高cache命中率。但要注意不要使用mipmap 的lod bias。
也不要动态创建大资源,最好使用pool来管理。

他还提到了以下几条经验:

1.  关于shadow map,他提到剑网3里使用了CSM,多层阴影贴图,游戏里使用了3层,每层最大的shadow map最大支持1024*1024。采用16次texlod采样的PCF实现柔和阴影。
2.  关于使用遮挡查询,他提出先渲染投影面积比较大的物体, 然后查询比较小的(比较可能被挡住的)物体。查询的时候是使用上一帧的数据进行,因此效率很高。然而这样在镜头移动的很快的时候可能会导致bug,因此这时候可以禁用遮挡查询。
3. 据称,剑网3进行了比较少见的特效: 锐化。具体实现使用了直方图技术。

另外,我后来去金山剑网3的展台上看了一下他们的游戏,他们的游戏支持nvidia的3d眼镜,带上之后立体感变强,特别是文字层和3d层分的很开。他们的树木做得确实很优秀,很细腻,当时还问了一下现场人员关于那个树木的实现,他说,做的过程中借鉴了speedtree的思想。

DX11与游戏应用
其中介绍到DX11的一个叫tesslation的技术比较有用。可以做非常细腻的模型效果,实现光滑曲面。同时还可以很方便地根据距离做tesslation的lod。演讲者(NVIDIA)当时拿了个demo出来做演示,后来我去AMD的展台上也看到了类似功能的demo,效果确实比较好,从模型表面和轮廓线光滑度来看,真正有影视级别的感觉。

NVIDIA APEX:为游戏集成物理效果
据了解,2009年3月26日,美国加利福尼亚州旧金山市—(GDC),NVIDIA®公司正式发布了NVIDIA® APEX。NVIDIA® APEX是PhysX®技术开发软件开发包(SDK)中的一个全新功能,它能够为艺术家、游戏关卡设计师以及游戏开发人员提供一套易于使用的工具。得益于此类工具,基于多种平台的下一代游戏中可扩展的物理效果都将得以更为流畅得实施。
Apex可以实现物体爆炸,柔体布料动画等高级效果,而且可以方便美工编辑和容易整合到程序里来。在美术和程序员之间的整合主要是通过Apex的一种数据。美工可以现在Apex提供的编辑器里编辑想要的物理效果,然后生成数据文件,程序运行的时候在加载这个数据文件。至于生成过程比较关键,Apex提供美术设置接口,以调节动画的程度,譬如布料的摆动范围等等。根据演讲者的说法,在生成过程中,apex会自动产生一些新的三角形,以方便计算和表示动画效果。至于动画时候的材质,譬如爆炸,材质可能会发生变化,编辑器里也提供了相关的设置。GameBryo的Lightspeed已经集成了Apex,演讲过程中也有Emergent的工程师上来示范。
另外就是Apex在植物方面的表现。据称,IDV首席执行官Chris King表示:“我们正在SpeedTree 5.0中加入对PhysX的支持,SpeedTree 5.0是我们屡获殊荣的Foliage软件的最新版本。 通过集成对全新NVIDIA PhysX APEX植物模块的支持,SpeedTree 5.0为开发人员提供了一种简化的方式在其游戏环境中添加具有惊人互动效果的、自然的树木以及植物。 下一轮游戏将实现令人难以置信的全新逼真效果,我们非常自豪能够参与到这些游戏的设计中来。”