究竟是
究竟是3D游戏的发展带动显卡的进步,还是显卡的发展带动3D游戏的革新,这个问题恐怕谁也说不清楚。
要是没有卡马克的DOOM和QUAKE,谁也无法想像目前显卡会发展成为什么样。反过来,如果没有GPU和VPU这些芯片的性能不断提高,也不会有这么多出色的3D游戏来供广大玩家“大开杀戒”。这个问题就像“先有鸡还是先有蛋”,绝大多数情况下永远也纠缠不清。
当然,我们在本文里并不需要继续讨论这个问题,只是想借此强调一下游戏在整个3D图形技术发展中的重要推动性作用。虽然严格说,玩游戏在我们当前的社会环境下仍然属于“不务正业”,但是游戏的确是3D显示芯片不断进化的最根本动力之一。
游戏对于显卡的要求本身就是多方面的,这样才能保证玩家能够充分体会到游戏所带来的快乐。
一方面,游戏要求显卡的处理速度越来越快,在运行游戏的情况下能够保证流畅的帧率。这反映在具体的指标上就是fps值要达到一定幅度。帧速率达到什么样的标准才能让玩家感到“平滑”呢?对于没有交互的画面,24fps以上就能够让人接受。而对于大量实时交互画面,通常需要达到60fps才能勉强接受。特别是在主视角射击游戏中,玩家需要更高的帧速率才可以满足要求。
另一方面,对于游戏的画质,要求显示卡能够显示出更加细小的细节,一方面要求显卡的分辨率越来越高,同时也要求显示卡能够提供全屏抗锯齿的功能以满足更真实的效果。
游戏中的场景已经几乎和照片无异
这些当然只是对显示卡的要求,一款游戏是否能满足玩家还有很多其他的因素,这其中包括游戏的可玩性、自由度、AI的设计等等方面,这些特性都需要游戏开发者的智慧去解决。
巧妙的解决方案,引擎和资源独立处理
话说起来总是简单的,如果付诸实施就要难得多了,3D游戏如果在前面提到的要求中都能够达到一定的层次,确是非常难于实现的,特别是如何让显卡发挥出比较高的性能,同时保证游戏的帧速率达到一定的值,还要让游戏性非常强。这对于任何一个开发游戏的团队来说都是非常困难的一件事,因为工作量太大了。
解决这个问题的方法就是根据“分而治之”的原则,将游戏开发过程中的大量的工作分为不同的部分,以解决游戏开发过程中工作量过大的问题。在实际的游戏开发中,目前最为流行的一种方法就是先开发出一套独立的游戏引擎(Engine),然后再根据这套引擎提供的功能将游戏完成。游戏引擎提供的通常是游戏运行最基本的内核程序,就像是一台汽车的发动机一样,但是光有发动机的汽车也是没有办法跑的,同样,只有引擎的游戏也是不能称之为游戏,必须加上相应的游戏剧情,丰富的资源文件以后才能称之为游戏。
这样做的好处显而易见,游戏的开发者再也不用了解游戏底层的运行方式是怎样的,也不需要知道如何实现的绚丽的效果了,只需要利用引擎提供的功能来将游戏做的丰满就可以了。这就像是你只需要知道当你供给发动机以燃油和空气的时候就会输出动力一样,具体的引擎内部的运作原理根本不需要知道。游戏开发人员只需要利用提供给自己的功能就能在比较短的时间内完成游戏了。
我们熟知的很多游戏都采用了这样的开发方式,Quake系列的引擎,Unreal引擎,HalfLife2引擎,Farcry采用的CryEngine等等,这些著名引擎都获得了非常大的成功,应用的范围也非常广,RTCW、COD、HalfLife、CS采用的Quake系列引擎,Unreal、UT、分裂细胞、XIII等等游戏都采用的是Unreal引擎。