Melody19 | 最终还是哲学

C++/ Algorithm/ Graphics/ Game/ 大牛Orzing.../ Effort++

对上层架构和游戏底层的看法|Decorator Pattern |装饰器模式

 

        这是我的第一篇文章,因而再说Decorator Pattern 的时候,大致说一下,这些时间来我对上层架构和游戏底层的看法。可能有些朋友也会遇到我这样类似的问题,给一个指引,可能也是个帮助。

        一直以来也很纠结,因为一直是想搞游戏方面的,从mfc/win32 programming 到opengl , dx ,再到ogre 一直是想做底层的,而且对算法是感兴趣的,并且也对自己的算法和数学很有信心,本来一直就这么学来,挺好。但后来想找工作的原因,关注一些企业的职业需求,慢慢了解了些设计模式,系统架构方面,其实主要是我一个同学在看,他是学java的,大家都知道java不适合做底层的,而且之前想进的是淘宝或者阿里,所以比较关注高层架构方面。所以我也一直以来,耳濡目染中也看过一些,只是局限在对这些的一些基本了解,并没有深入的去看。

        然后是8月份末,在学校实验室给某老师做项目时发现,当系统结构开始庞大起来后,类之间如果没有良好的设计,会导致难以扩展,并且会导致扩展时需要修改很多地方的代码,直至代码乱的你都不知道怎么改了,这才发现高层的架构是多么的重要。也让我有了系统学习设计模式的想法。但遗憾的是,后来为了找工作的方面的原因,那个项目没有继续写下去了,希望后面利用大四的时间可以继续完成,到时也写一些感想什么的,交流一下。

 

        再后来,让我深信不疑的是,合肥完美研发的某经理在宣讲会时除基础外写了5点:1,设计模式2,系统架构,3,性能,4,代码规范,5,通信,并说,他面试的时候很喜欢有人能跟他谈论这些方面,特别是你曾在项目中遇到的,然后怎么解决问题的。

        而这,就直接跟我心目中的游戏公司的职业需求有很大的不同。可能是我很喜欢独立游戏,可能也是我特别有个人崇拜的观点。在我心里,做游戏的核心团队的人基本上是属于数学或者图形学大牛的类型,能独当一面的人物。可能也是我在意的游戏,是那种做的简单但很精致,渲染的很漂亮,可玩性好,不像网络游戏那种,这也是宁愿花时间玩这个也不愿玩rpg的原因(魔兽除外)。比如粘粘世界,popcap的作品,等等。这种团队,这可能就是我心目中的游戏制作。这也是驱动我大二时候就开始看这些的原因之一。

        这也是我一直以来纳闷的问题,到底是底层还是架构。说到这有点多了,当然是都能学会当然更好了,但你知道光就底层来说,opengl,完了,图形学图像算法,渲染方面的书,如果是做3d或者引擎方面,要看游戏方面的数学,就光这么我随口能说出来的就有这么多,你说如果再加上c++方面的书(当然要看的是深度探索c++对象模型这种层次的书籍了),算法方面的书,多到数不过来。。所以我一直以来不知道怎么来分配这两者之间的时间或者精力比重。实验室里有个研究生学长说如果继续读研得话,肯定还是要看底层的。所以一直以来很犹豫,可能也是由于国内游戏大公司对引擎方面的人才需求减少(可能是当代引擎已趋于完善或者用的不是自主**的**  :-) 我什么都没说),基本上是只有游戏架构工程师,我知道的中只有巨人好像是有3d引擎开发工程师。

        然后这次面试,我特地问了一下面试官对这个方面的看法。他说,设计模式以及系统架构是经验的产物,是实践之上的,也是我们的前辈在失败中,血和泪中总结出来的,有利于软件开发维护的一系列的情形和解决方案。当然,理论知识是必须要掌握的,马克思主义理论说“理论指导实践,实践检验理论”,先把理论了然于胸,然后实践碰到的时候就有更深的理解,而不至于实践中遇到了然后去查。再就是说,肯定还是要坚持高低层,毕竟游戏的底层是很难的,而且在实现的时候也完全可以把设计模式和系统架构的思想用在其中。

        引用一句话“一个好的架构师肯定是个优秀的程序员”。呵呵。

        这些只是个人对游戏架构和底层的一些理解,希望大家勿喷,我只是菜鸟,但希望大家有什么见解,意见或建议能提一下,希望能好好交流。

        太晚了,没想到这段能写这么长,那装饰器模式明天再说吧。其实装饰器我也没有准备说很多的,以后的模式我也不会说很多,简单的就不讲了,因为网上很容易就能搜到,我只讲一些可能曾经对某个模式的误解或者见解或者备忘,或者比较容易误解的模式,还有网上不是各个博客都能讲清楚的模式。比如Decorator 和 Vistor 模式。

        这次虽然我的博客第一篇文章是从设计模式讲起,但我想后面,特别是我读研及以后的时间更新博客,可能涉及到更多的是底层了,算法什么的,也是我喜欢的部分。从我的副标题就可以看出。之所以有这个博客,就是希望有个分享和交流的空间和渠道。能认识一些志同道合的人,交朋友。

        这绝对是受Pongba 和Matrix67 大神的影响,在此再次Orz之。虽然自己还很水。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭