剧透:可能不会!
当我开始制作游戏时,我花了很长时间研究合适的工具。 我知道我想为Windows制作游戏,因为它是我玩的平台,但是即使在这个伞下,也有很多选择。

在本文中,我将首先回顾一下游戏引擎的真正含义,以及构建自己的游戏引擎是否有意义。 在以后的文章中,我计划讨论某些游戏开发工具(专有引擎和用于自己制作的框架)的优缺点,并分别与我分享各自的个人经历。
免责声明时间:我不是游戏开发专家,尽管我必须制作一百多个糟糕的,残破的游戏原型,但我已经发布了完全零个游戏。 但是,在做出任何长期决策时,我都非常神经质-选择正确的开发工具可能需要花费多年的时间。 我一生中浪费了无数小时(例如整整五个小时),这些时间都困扰于这些选择,因此您不必这样做! 现在,我已将您的期望值设定得较低,让我们加油。

到底什么是游戏引擎?
有两种关于游戏引擎的思考方式,您所订阅的定义将可能决定您是应该尝试从头开始制作游戏引擎,还是使用市场上许多商用引擎之一。
游戏引擎是工具
对于诸如Unreal,Unity或CryEngine之类的通用引擎而言,该引擎实质上是超越简单编程语言的工具集合,这些语言合在一起可以大大加快游戏的制作速度。 各个引擎之间的特定工具集差异很大,但通常包括诸如关卡/场景编辑器,处理艺术品和声音的内容管道以及处理诸如碰撞检测,spritesheet动画之类的常见问题的工具套件。 Crysis begat CryEngine是在游戏开发过程中诞生的。 虚幻的生成虚幻引擎。

这些游戏的开发者意识到他们既可以将游戏出售给消费者,也可以将工具出售给其他工作室,从而极大地提高了投资回报率。 其他公司,例如Ubisoft和EA,仅创建供内部使用的通用游戏引擎-他们重复使用在游戏之间构建的工具,从而大大降低了每个连续游戏的成本。
如果您想了解有关游戏引擎作为工具的更多信息,建议您观看TheHappieCat的精彩视频。
游戏引擎就是游戏
在过去的日子里,在通用引擎兴起之前,基本上没有中间件的情况下直接创建游戏,这些中间件直接由图形API进行编码。

开发人员并不是从专心研究工具开始的,他们只是开始构建游戏,而从其开发中成长出来的工具和子系统便构成了引擎。 这些系统有时会在以后的项目中重用,但并非如此。 没关系; 除非您一遍又一遍地制作相同的游戏(看着您,Ubisoft / Warner Bros / Activison /好吧,我想这是每个AAA工作室),否则每个项目的需求都会大相径庭。
如果您想进一步了解这种哲学,请阅读经典文章《写游戏,而不是引擎》。
那么,我应该自己制造引擎吗?
从头开始制作游戏引擎并不是出于胆小,如果您不是一个有经验的程序员,您可能不应该尝试。 如果您是一位经验丰富的程序员,那么您仍然不应该尝试它。 并不是说这是无法实现的-但这可能会浪费大量时间。 考虑您的项目目标:
如果您想尽快创建和发布游戏(无论是牟利还是作为投资组合项目),那么几乎可以肯定使用专有引擎。 他们提供的工具可以极大地减少开发时间,并且可以简化图形编程的许多更复杂的方面。 该规则的(稀有)例外是,如果您的游戏具有超出通用引擎范围/功能的特定性能要求。

如果您的目标是建立自己的程序员技能并加深对基础游戏体系结构的了解,那么制作自己的引擎可能会非常有益。 另外,如果您有必要的额外时间和技能,则滚动自己的引擎可能会有实际的好处。 您将在每个级别上控制游戏逻辑-就像在许多商用引擎中一样,不会混淆或黑盒子。 您无需担心许可,收益共享或每台平台的额外费用。 对于几年后是否仍会支持您的引擎,将没有任何疑问。 最后,当您自己构建所有内容时,发现错误和性能问题会容易得多。 当然,这是假设您将引擎做得很好……设计不良,效率低下的引擎可能无法以稳定的帧速率运行Pong。

希望可以回答您有关游戏引擎的一些问题-如果没有,请在评论中让我知道!
Mo在Microsoft工作,为Windows应用程序开发人员编写API文档。 他将自己的空闲时间花在制作糟糕的电子游戏,糟糕的音乐和诸如此类的无聊文章上。 (他吹口哨很好。)