星际随想谈设计

来源:互联网 发布:java学生成绩查询系统 编辑:程序博客网 时间:2024/04/29 01:16
2007年03月23日 01:15:00

最近在迷上了看星际直播。《游戏风云》上一直播放G联赛上的比赛,都是非常的精彩。看得多了,思绪就开始飘了。

最让我有感触的就是星际大师们的各种策略对抗,大呼过瘾。想想我们的设计工作,其实也是希望很多精彩出现,刚好星际可以给我一点启示。当然了,这些启示不是技巧上的,而是方法学上的。

会想起自己学星际的历史,以及现在所处位置,再展望一下星际大师们的方向。星际争霸这个游戏之所以这么火热,而且经久不衰,就是因为玩星际不再是消磨时间,那已经可以说是在玩一门艺术,而Blizzard公司精心打造着这个给大家展现能力的平台。

也正是因为可以谈一门艺术,星际才具备了和设计这样的艺术进行对比。他们的方法学上必然也是有相通的地方。下面就说说我对这方面的浅薄陋见,大家姑且听之。我将星际的几个境界,描述成五点:

  1. 一招到底
  2. 招招致命
  3. 见招拆招
  4. 天外飞招
  5. 无招生招

一招到底

招不在精,有兵则行!很多人在初期学打星际的时候,都是在和电脑较量。在打败电脑的过程中进行学习。这个时候,电脑很笨,对我们来说,有一点非常有效,那就是采集资源,所有的都用来造上兵!只要你有足够的兵,你基本就可以赢了。据说此类战法,在红警中早就不以为怪了。

设计也有这个时期。这在架构师刚刚学习设计一个系统的时候,经常容易使用的方式:分解完所有的功能,然后一个一个实现了。你可以说是没有设计的设计。但也确实是从程序员中成长起来的架构师们刚开始最迷茫的事。

刚开始的时候,要看很多架构方面的书。但是,由于种种原因,在脑海里印象最深的就是那些类图了。于是就将整个系统所有的地方,都用类图进行完整表述一遍。这样设计也就完了。

和玩星际一样,你作为这样的架构师,不会感觉设计是一件美妙的事情。你只是因为种种原因而需要设计而已。对你来说,设计是一件枯燥的事情。

招招致命

对于星际玩家,一个非常打的好处,就是有广泛的社区支持。论坛、网站、校园网、竞技队伍等等,这上面有各种各样的介绍,还有战报,录像等等。我们可以从中看到各种各样的战胜的招术。整天可以为这些战术而津津乐道。

这在我们设计里也一样。这个时候,我们设计的时候,往往同一个问题,面对着多个方案。几个设计师之间吵得最多的是各自的方法的优点。慢慢地知道了,只说明自己的优点只会引起更多的争吵。因此慢慢学会,各自说明自己方法的缺点。这样,大家在说出自己方法的同时,也慢慢开始接纳其他人的意见。这在我们成长期间是不可缺少的一步。

这个时候,设计等价于权衡。

见招拆招

对于各星际玩家来讲,都知道光知道这些招数的是不够的。关键在于探路。前期农民是最重要的,保住不死,取得对方重要信息。中期还得使用各种方式来获取信息。高手从来都不是靠猜对方的招术来赢的。我不是高手,往往是猜,所以总是要输...

这个时期在我们设计中也有对应。当设计师到达一定的程度的时候,提供解决方案已经不是关键问题了,而更重要的在于发现系统中的问题所在。系统中的变化点、难点、扩展点都是需要有敏锐的能力来发现的。

这正如大家在讨论设计模式一样。设计模式中的最关键的词在于:"变化"。创建的变化、结构的变化、行为的变化。所有模式都是基于这些变化而提出的。

所以在解决实际系统的时候,发现问题非常重要。当然了,在发现问题后,处理问题的能力也往往能够继续深化下去。

天外一招

好了,大家都是星际高手。前期情报获取也很充分。大家最后的兵戎相见还是不可避免地要发生了。双方现在都有相当规模的军队。他们冲在一起,会出现什么情况呢?

高手显然不愿意将胜负交给偶然的因素。也不会接受胜利是因为碰巧。他们有各自的方式。最典型的就是多兵种配合。高科技辅助。最典型的就是天上地下,前沿后方,立体化战斗。而这里面,不得不掌握的就是几个高科技兵种。比如说神族的金甲,人族的地雷,虫族的地刺。当然了,神族的魔法兵种多,方案比较多。

设计中对于一些比较流行的架构和方案也应该有足够的了解。并且在适合的时候,将这些方案用到自己的系统中。使用这些新技术,不需要太拘泥于方式。关键在于解决问题。

所以说,好的架构师一定是能够熟练讲述流行框架和设计的。这对于架构师的成长非常重要。不管培训也好,看书也好,泡论坛也好,这方面一定要关注。

无招生招

如果双方的各种兵种配合得都不错,或者说,对方的兵,看上去,简直就是无懈可击!你要怎么办呢?这也是我最前面提到的非常有感触的地方。大家在战斗的时候,如果发现问题就是非常棘手。那么往往会采取很多策略来破坏目前的状态,而状态的改变,往往就是弱点出现的时候。

我认为大多高手都是在使用毛主席的优势兵力的策略。在兵力扯动的过程中,让对方发生错误,也要保证自己少犯错误。一旦发现问题,然后就集中优势兵力攻击小股兵力,逐步转变优势情形。到最后占绝对优势的时候,胜利就是看你兴致了。

设计的最高境界是不是这样,我不知道。可是架构师难免会遇到类似的问题。看上去,怎么都是非常难啃的骨头!真正的高手应该是去推动事情变化,从中再发现系统中的问题所在。从而找到问题的解决方案。另外,集中优势兵力,也是设计中的原则之一。但是,这点并不是简单地说,真正遇到问题的时候,如何集中优势兵力?这可能已经超出了架构的界限,但是确实是事情运营之道啊。

总结

我上面妄谈了一些设计的想法,主要是想借星际的学习过程,来描述设计的成长过程。说的不是技巧,而是状态。个人以为,状态的理解,能够给我们成长指出很多重要的方向。这也正是我的一点私念,希望能借此对大家有点帮助。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1538162


原创粉丝点击