牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

引擎向左,游戏向右

引擎向左,游戏向右:一、几个问题

关键词游戏引擎                                          

身边的大部分认识我的人都一眼能看出来这小子是个不知道隐藏自己内心世界的人,我确实不善隐藏,今天心中又有一些事情了,装也装不住,干脆拿出来跟大家一起分享。

口水、板砖我想是会有的,就像一如既往的那样。但这次我不会接招,愿打愿挨,因为这篇文章不是为了自己的利益,既然无关于自己的利益,又何必花那个时间跟别人费口舌呢?

我只由衷地希望,每个耐着性子看完这篇文章的人,都能认真想想,思考思考,并用理性和安逸的声音,来进行辩论。

废话就不多说了,先说几个最近想到的问题……

最让人讨厌的问题:
游戏引擎是什么?为什么?怎么办?

按道理说,对一件事情,最起码需要明白三个问题:是什么?为什么?怎么办?分别是概念性问题、存在性问题和实践性问题,也就是我们常说的“马哲老三段”。但对于人,恰恰这三个问题最难定论,不同人对同一件事物在不同时刻的认识总是千差万别。

三年前的我和现在对引擎的感觉是完全不同的,不知道那些NB公司又当如何,也不知道大家如何,但长期泡BBS的我明明显显地知道:游戏引擎的概念在程序员群中有多种不同的概念,以至于在概念问题上有不少潜藏的争端。

大凡如此,游戏引擎在一部分人那里,只是对各种API集合的再封装;另一部分人眼里,是场景系统和场景编辑功能;还有一些人则各自关注着其他一些零碎的方面:比如扩展性,可维护性和安全性。

在游戏引擎的概念上没有统一的认识,不得不说,游戏引擎,要么不能算作一个专门的学科,要么就是一个刚刚出生的学科,总之,丫就是猪八戒照镜子——左右不是人。

这世界上是有那种把游戏引擎看作专门学科的人的,当然他们自己往往不这么认为。我曾经也是受过这些前辈们影响的,所以现在才会因为这个问题被搞得精神崩溃。

一个引擎必须再封装API,这是常识,但如果一个引擎只是立足于再封装API的话,那它就与工具集无二了:当开发人员拿到引擎的时候,还有很多构架的、逻辑的东西要编码解决,如果是这样的话,这种引擎对于这些开发人员,到底比直接使用API简单多少呢?如果算上熟悉这种引擎花进去的成本和时间的话……

恼人的问题:我还差多远?

2005年开始,无论是NF3D、脚本编译还是PythonLua,每一个小小的进步都会让我的大脑充血,血脉泵张,心脏与灵魂一起脉动着,幸福的兴奋溢于言表。而在这之后的某一天,总会有一个声音,细微但充满杀伤力,从我的灵魂深处冒将出来,将我打击,使得我回到冷静和现实之中。

这句话就是:“离一个真正的游戏,我还差多远?”

而每一次的答案都一样:

“越来越远……”

明明我的这些工具集的概念和模块都在不断完善,API都在不断封装,场景系统也小具规模,以至于一个平常数十句话的代码现在一两句就可以搞定,但是为什么我却打心眼里觉得自己离一个游戏越差越远呢?

最不用怀疑的问题:给你一个引擎,你能作出你心中的游戏吗?

如果不假思索就回答“可以”,我劝您再好好想想。想多了,看多了,你就会发现,任何引擎都只关注其相关的领域,这里所说的引擎不包括那些还没作出游戏来的引擎或者仅做了个Demo的引擎。

为什么这么说呢?因为引擎必须要有的一点是场景的管理,而这部分,大凡是跟场景的需要相关的。当你要做个RTS,而恰恰拿到的是Unreal Engine,我只能默默为你祝福了。

各行其道,好端端的一个人,若和非洲绿猴和果子狸“行道”,那么结果地球人都知道了。世上的道理又何尝不是相通的呢?不同游戏类型,虽然都披着游戏的外衣,但是其内涵和外延均不完全等同,既是如此,又怎么可能在没有一点技术积累的情况下,没有对每种游戏类型的把握的前提下,诞生出一个“全能引擎”呢?难上加难。

从这点上看,游戏,是内涵,引擎,是外延。说得通俗点:没有引擎,游戏照样存在;但没有游戏,引擎?汽车发动机?飞机发动机?还是导弹发动机?

最富哲学意味的问题:是先有鸡还是先有蛋?

鸡蛋问题本身我就不用再介绍了吧,我相信中国像我这种土鳖程序员还是很少的。那么,是先有引擎还是先有游戏呢?

游戏的历史我不是特别懂,如果从概念上说,我到更加倾向于这个观点:当一个人用了一个工具作出了一个游戏,这个工具就可以被称作引擎。因为引擎的终极目标是产品,如果一个引擎连这个终极目标还没有达成,我倒宁可认为这是一个半成品或者残次品。这可能是跟我一向对象牙塔中的理性主义者和研究主义者们有着先天的、野蛮的、邪恶的仇恨有关。但是如果一个引擎连一个游戏都没有做过,它有什么资格让别人相信和认同这个引擎是一个可以用来做游戏的引擎呢?

写到这里,想起了小学的一篇作文题:

“不会下地,怎会种地?VS 不会种地?怎可下地?”

posted on 2006-08-20 12:47 杨粼波 阅读(235) 评论(0)  编辑 收藏 引用 所属分类: 文章收藏


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理