游戏引擎架构笔记之开篇

  此书获誉无数,第一版没看过,直接看的第二版,然后大致看了一眼作者提到的和第一版的区别:

1.C++语言方面的最新进展,也就是C++ 11的标准;第八代主机游戏的架构,XBOX ONE和PS4。想当初,非C++项目不碰,就为追求它的挑战,现在貌似C++已经慢慢淡出视野了,在移动游戏领域由于Unity的带动,C#势头很猛。

2.鉴于音效机制的巨大作用,作者增加了几章关于音效方面的内容。

3.修复了第一版中的一些错误。

我室友才买这本英文书没多长时间,就出新版本了,只能说好贵。

  作者期望这本书能包括以下内容

1.工业级的游戏引擎是如何架构出来的?

2.游戏开发团队是如何被组织起来的,如何运转的。

3.世间有无数的游戏引擎,他们共有的的系统都有啥,另外,都用到了哪些设计模式

4.游戏引擎各个系统的需求都是啥

5.什么样的系统是某个游戏引擎独有的,游戏什么样的特殊的需求产生了这个系统

6.引擎和使用引擎的游戏,这两者之间的边界在哪里

要回答这些问题,真是包罗万象 ,作者的野心真是大。其实做过引擎的话,都能多少了解这几个方向的问题。看到这里相信这本书非常值得CTO去读,或者工作室的技术主管去读,有经验加上有需求才能读得下去。

  关于游戏开发时候用的工具。作者先对版本管理软件做了梳理,像SVN,GIT,CVS等等,然后介绍了Visual studio的一些用法。虽然用过,但是读起来你仍然会觉得很有收获,回头可以详细看看。主要就是跟着作者梳理下过去的使用经验,以及一些自己没有涉猎过的内容。

  关于C++语言,由于作者对此语言经验丰富,而且现在很多大型的游戏都在用这个,所以作者花了很多篇幅介绍语言,要是没写过C++估计会读起来比较难。作者推荐使用UML做程序上的相关设计。作者介绍了大量使用C++语言开发软件时的团队管理经验,如何避免犯错等,值得研究。

  再从全局上看看作者是如何解构游戏引擎的。首先相信所有同行都能认同的一点,游戏引擎系统非常庞大,绝对需要多年的经验,这倒不是说你一定要大学毕业,取决于你的经验,如果你是天才,小学毕业也没人会在乎,所以别指望你没什么经验的时候就能具备搭建的能力,少年,路漫漫其修远兮,别想多了。作者认为游戏引擎是由两大部分组成,分别是工具链和运行时的组件。回想起来经历的项目,端游的工具链的维护,庞大而繁杂的运行期组件的维护的工作量都非常巨大,因此对于一个能成功上线的游戏,都要抱着敬畏的态度去看它,必定有其可取之处。任何软件都要进行分层设计,很奇怪,这么多年,虽然自己也经常这么考虑,但明显深度不够,也许是架构经验太少,尤其是那个网站项目让我深切体会到分层推进工作的重要性,眉毛胡子一把抓,导致自己很快陷入一个混乱的开发状态,因为没有一个清晰的设计规划嘛。

  在进行分层设计时,务必要保证下层的东西不要依赖上层,上层可以依赖下层,不要产生依赖循环。犯错不怕,一旦发现出现这种依赖循环,一定要把相应的层次进行调整,该往下放的放,该往上提取的提。要是发现你团队里的成员犯了错死不承认,死不悔改,一定要拖出去打,打到生活不能自理,然后踢出团队。下一步开始研究游戏引擎的分层。

 

posted @ 2015-02-03 10:49  DesignYourDream  阅读(466)  评论(0编辑  收藏  举报