其他大多数文章都是“制作游戏而不是引擎”,但我将假设您要制作一个特定的游戏,并想知道何时从其他人的代码开始是个好主意。基本或从头开始。
除非您知道自己需要推出自己的技术,否则不应该推出自己的技术。听起来可能有些轻率,但这实际上是唯一正确的答案。与大多数决定一样,也要权衡取舍。只有您可以为自己的特定情况确定成本/收益分析。
您应该对以下内容有所了解(此列表几乎不包含所有内容)。
- 可以使用哪些中间件(“引擎”或其他)
- 中间件带来的好处是明智的。
- 中间件的成熟程度/成熟度,尤其是在您关心多平台支持的情况下
- 中间件提供或不提供什么样的工具来帮助加快开发速度(不要用自己的技术打折工具)
- 中间件有什么局限性(举一个简单的例子,Unity 3.x并没有在iOS上动态阴影中进行实时阴影处理)
- 您的特定游戏有哪些特定功能 必须具备。
- 您的截止日期是什么,以及您需要花费多少时间才能达到中间件将为您带来的收益以及中间件的成本。
- 中间件的可扩展性(例如,您可以通过使用blob阴影来解决iOS中Unity上的阴影问题。或者可以使用投影阴影。)
(请注意,我没有特别在其中放置“更多控制权”。这是一个加载的短语,范围从“我不喜欢我不写的代码”到“我需要能够看到,理解和调整物理引擎中的所有变量以达到特定的效果。“第一个并不是真正的考虑,但第二个是。)
就个人而言,我发现为低预算游戏开发自己的技术几乎是不值得的。这些天来,您获得廉价发动机的功率实在可笑。您现在还没有决定要获得数百万美元的Triple A发动机许可证的地步。您将无法击败Unity提供的$ 3k优惠。或Cocos2d收取任何费用(不是免费吗?)。
现在,如果您的游戏主要集中在其他引擎无法提供或无法以合理帧速率提供的某种技术上,那么可能值得研究一下您可以做什么。但是,这并不意味着您会完全淘汰其他中间件。仅仅因为您需要自己的渲染器,并不意味着您不能将其他中间件用于物理或声音或UI或已有的东西。