FarCry开发者访谈 技术分析及新版前
FarCry这款游戏不仅本身可玩性很强,更由于其基础CryENGINE引擎支持的新特性众多,对硬件要求超高,所以成为了显卡乃至处理器产品角逐的战场。近期FarCry 1.2补丁的发布,加入了对Shader Model 3.0的支持,因为该特性目前只有GeForce 6800系列显卡支持,所以让这款游戏更加备受瞩目。
日前FiringSquad网站有幸对CryTek(FarCry开发公司)CEO兼主席Cevat Yerli进行了一次访问。下面的谈话中涉及到了CryTek未来的发展计划,以及未来FarCry对HDR(high dynamic range)、AMD64以及ATI 3Dc等技术的支持,推荐大家看一看。
FiringSquad:在FarCry 1.2中主要采用了Shader Model 3.0技术哪些方面的优势。
Cevat Yerli:我们主要使用了SM3.0中的循环和分支,当然同时使用了浮点FP16和FP32。我们主要是保证让更多的光照能够通过流控制和分支来完成,这样我们可以在一个通道中完成4条光照的编码,显然在渲染的速度方面将有所提升。我们利用SM3.0本质体现的是性能上的增进。举例说,在之前的SM2.0下,一个通道只能渲染一条光照,而现在则可以渲染4条。
另外一方面,我们使用了几何场景(geometry instancing)技术,这将可以让性能有巨大提升,尤其是一些户外场景。在户外场景中当描述如树、草和其他植物体时,我们在不同的位置和方位使用了相同或相似的网孔,这些可以在顶点着色单元中的一个draw call内渲染,从而大幅度降低draw call。
FiringSquad:对于光照,你们是使用动态还是静态分支技术呢?
Cevat Yerli:我们使用的是静态分支,因为动态分支会造成性能上的一些问题。先前我曾经说过,SM3.0是十分强大的,但你必须灵活的去应用。有些时候使用静态分支反而能够取得更好的效果。
FiringSquad:何时SM3.0才能真正与FarCry相结合呢?
Cevat Yerli:第一个版本将在两周内完成并可以运行,但总体上我们还需要大约4个星期时间。
FiringSquad:请问FarCry 1.2中使用的Shader 2.0指令条数是多少?Shader 3.0又会是多少?你认为何时该游戏将达到Shader 3.0的最大支持指令数。(注:Shader3.0应该不再限制指令条数)
Cevat Yerli:目前距离Shader3.0还很遥远,但是我们已经达到了Shader2.0所支持的最大指令数,也就是96条。
FiringSquad:真的吗?你们已经达到了Shader2.0支持限制的96条指令?
Cevat Yerli:是的,同时我们不会使用更多,因为我们并不需要。目前的Shader 2.0已经可以达到你想要的画质效果。而Shader 3.0的作用将主要体现在性能提升方面,而不是画质提升。<
FiringSquad:NVIDIA GeForce 6800系列显卡加入了对HDR的支持,那么NVIDIA和ATI的方案又何区别呢?
Cevat Yerli:我想这更多的是FP16和FP32的对抗,我们在实现HDR时使用的是FP32,但这是ATI所不支持的。HDR将可以提供非常高质量的画面,但我必须告诉你的是,官方并没有宣布HDR是Farcry1.2的一部分。
HDR带来的效果!
FiringSquad:那么你们是否计划未来将HDR纳入?
Cevat Yerli:这是肯定的。未来的1.3补丁将正式支持HDR,该补丁将会比很多人预期的早更多发布。1.2没有将其开启是因为在画质方面还存在一定问题,虽然现在该技术也同样起作用,但会出现感光过度现象。可能游戏截图的效果看上去非常好,但玩起来则并不是那么回事,所以我们需要对其进行进一步调整。
FiringSquad:那么你们目前主要工作是什么?只是对1.3补丁进行调整直到画质正常?
Cevat Yerli:是的,但是我们不可能在短时间内完成。所以我们决定在下一版补丁中加入对HDR的支持,新的1.2则只会在性能方面带来提升。
FiringSquad:那么HDR的基本要求是FP32?
Cevat Yerli:是的,需要FP32。
FiringSquad:5900系列显卡同样支持FP32,那么这些显卡是否支持HDR,或者说HDR仅仅适用于6800?
Cevat Yerli:是的,HDR仅仅适合6800系列显卡,因为它需要很强的FP32处理能力,只有6800能够实现。<
FiringSquad:你们是否有计划将3Dc引入到FarCry中呢?
Cevat Yerli:是的,在1.3补丁中将加入对3Dc纹理压缩技术的支持。
FiringSquad:Oh!真的会在1.3中实现吗?能具体谈谈吗?
Cevat Yerli:Yeah,我们目前已经获得该技术的支持。但是要说的是,3Dc是一项对内容敏感的压缩技术,为了保证让整个游戏都取得好的画质效果,我们还需要继续研发。但是我们计划在1.3中加入对3Dc的支持。
FiringSquad:OK,就是说1.2是一款着重性能提升的补丁,而1.3则注重的是画质……
Cevat Yerli:不,我并没有这么说。因为1.3同样将带来性能的提升。由于该补丁还没有发布,所以我也不好过多的描述。但是基本上1.3补丁将支持3Dc、HDR以及带来性能提升,也许还有更多的新特性。就如现在的1.2,其性能提升明显同时也修正了很多BUG。
FiringSquad:那么抛开1.3补丁不谈,我们将可以从其他哪些方面取得额外的性能提升呢?
Cevat Yerli:让我想想……,我觉得我们已经达到了shader model 3.0所能够带来的性能提升的极限。如果再想继续提升,则需要借助如提高填充率、压缩算法或者其他技术,不过目前谈这些仍然言之过早。<
FiringSquad:除了SM3.0之外,FarCry也将会吸取AMD64架构方面的优势,那么64位版本的FarCry将会有如何改变呢。
Cevat Yerli:64位FarCry方面我们已经进入到了内容开发和模型创建阶段,64位环境将可以带来诸多好处,同时也会加入一些新的特效内容。我们将会发布64位版本的FarCry,并且是独立版本。它专门为64位系统优化,和32位相比将会有些许的性能提升。
FiringSquad:64位FarCry是否会看起来更好,或者你们仅仅是希望通过64位来增强性能?
Cevat Yerli:肯定的,你将在64位FarCry中得到更好的游戏体验。其中将加入更多的环境对象,你将在屏幕上看到更多的内容。
总结:目前的FarCry非常优秀,而不久的将来其表现将更出色。从上面的采访我们了解到,FarCry 1.3将支持AMD64、3Dc、HDR以及获得更大的性能提升。FarCry将保持支持非常先进的游戏技术,这将令该游戏不仅仅是玩家的最爱,同时预计很多游戏开发者也将会采用CryENGINE作为明年游戏的引擎。<