http://research.scee.net/files/presentations/developliverpool/Cutting_Edge_Techniques_Develop_Liverpool_09.pdf
对ps3上面一些技术的一个overview,比较喜欢最后一句话:
"Think of the system and your game as a whole"
的确游戏的项目变得越来越庞大和复杂,而我们做事仍然是一行一行的写和调试优化,这需要每个人focus在一块来做,然后多个人合作完成。
但这并不妨碍可以从总体去看待和把握像ps3这样的整个系统,并由此出发去看游戏开发的系统,进而由这个视角去决定某一块的做法。
当然这需要大量的学习和实践。
首先是processor多核化带来的改变,进而形成的类似指令流水线的模式,把engine分成多个stage,然后再多个processor上pipeline起来:
这样基本思想就pipeline一样了,可以非常好的并行化。
文章还是讲render居多,包括:
- prebuild display list(command buffer chunk
- compressed geometry
- dynamic resolution
- edge usage
- geometry LOD
- shader LOD
- Z prepass
spu的一些东西,
spu的计算能力比较出众,数据访问和来源(只能放在mainmemory)是比较有问题。
基于这个,使用起来真是太灵活了,不同引擎不同理解不同的使用方式,
- ai,
- 物理,
- animation,
- particle update
- edge----decompression, culling, skinning, progressive mesh,
- vertex lighting
- post process
- ssao
- deferred lighting
- ....anything
个人觉得spu的应用比较高端的是底层优化和高层的架构,这也是ps3真正的潜力所在。
可以预见,ps3在接下来的几年,品质会稳步上升,而且ps3上面高端开发者会比普通开发者开发出来的游戏品质高很多。
summary:
总之是需要将硬件平台和游戏系统东西结合起来来看,最后迭代发展出比较酷的引擎。
see the game&hardware as a whole