您的位置:首页 > 其它

不使用引擎,如何开发游戏

2014-04-15 16:35 239 查看
本文起始于知乎的一个提问:不使用游戏引擎,如何开发游戏?

这个问题让我回忆起了从业这么多年从不懂到懵懂,从懵懂到了解的一系列概念。因为从来没有看到有对此问题的解释和探讨,所以一下就写了不少。把回答的内容也贴在此,愿与同行一起探讨,也希望能对刚入行的新人能起到一定的帮助作用。不涉及任何技术,纯粹是概念的澄清。

问题:

不使用游戏引擎,如何开发游戏?

回答:

首先澄清引擎这个概念。 @kubisoft(这个是在知乎上的一个网友的网名,该朋友提到了引擎只会带来更出色的画面、更细腻的动画)提到引擎只会带来更出色的画面、更细腻的动画,是不全面的。这么说的话只是说到了“渲染引擎”而已。一个游戏,还有物理引擎、AI引擎等很重要的几个引擎。而所谓的引擎,很大的程度上,是一个”专注于某个功能的模块“。软件中有很多的模块,为什么只有渲染、物理等才被成为引擎,跟汽车的引擎一样,因为这个模块可能比较核心,在所有的组件中功能更有决定性,所以才被叫做引擎。有人可能会说,现在的游戏,决定性的是游戏的内容、逻辑,那为什么没有逻辑引擎这个说法。这个的关键之处在于,逻辑不能成为一个很通用的模块。所以,才没有逻辑引擎这个说法。

另外,严格的说来,引擎和解决方案是两个概念,对unity3d来说,即使官方也用engine的字眼,但是,如果硬要用引擎(engine)和解决方案(solution)来区分,那么其实unity3d更是一个solution,而不是engine。因为它本身包含了很多的engine(渲染、物理、AI、audio等),在这些engine的周围,又集成了一个团度协作需要的各种工具(动画、材质、物理、场景编辑器等等)。相对而言,ogre更偏重是一个纯粹的engine:它只负责渲染。另外一个很好的案例是现在的cocos2d-x,原先它只是一个engine,后来它开始出编辑器了,那么慢慢就演变成一个完整的解决方案(现在显然还没有到这个级别)。

然后回到题目,回答是:直接写。甚至现在还有很多的公司还是直接写。基于OpenGL或者Direct3D,自己写场景的解析器,自己写渲染器。为了跟美术和策划合作,至少还得写一个场景编辑器,后来发现老是手工改材质配置非常繁琐或者是容易出错,就需要再写个材质编辑器。后来又发现缺个啥,再写个什么。如果完完整整都写下来,那么写出来的这些个工具,就成了一套完整的3d引擎了。现实中,有的游戏很小,根本不需要那么多的工具。有些公司很小,没有那么多的协作,或者各个力量都很牛,打开个文本编辑点东西不是什么问题,那么也就没有那么多的工具。因为最终目的是出游戏内容,而不是周边工具。

而游戏引擎,只是有人发现了这是个市场,所以专门针对内容开发团队做了相应的产品:保证他们可以协同,保证他们可以用不是很技术的方式产生高质量的内容。但是因为3d游戏引擎最好的卖点就是渲染,所以会比较注重渲染这一块的技术。

正文完。有同好者,愿意探讨者,可加QQ群:291633884
深入讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐