所以,你想制作一个游戏引擎(2023)
所以,你想制作一个游戏引擎 2023年9月15日 Unity最近的争议引发了关于游戏引擎的激烈辩论。有些人说每个人都应该立即切换到新的引擎,而另一些人则回应说,切换引擎可能需要几个月甚至几年的时间。有人认为,自己动手制作游戏引擎是最好的方法,对此其他人指出,这并不是一件简单的事。而且,你知道,每个人在这个问题上都是正确的:没有单一的答案,一切都取决于具体的情况。但是,也许自己制作引擎并不像听起来那么困难呢?那为什么人们要这样做呢?制作一个游戏引擎到底意味着什么?我实际上从未与任何游戏引擎合作过,除了我自己的小引擎,这个引擎我已经慢慢扩展了3年(现在大约有10万行代码),并成功用于十几款游戏大赛作品和一款已发布的商业游戏。然而,我见过人们使用其他引擎;我见过人们抱怨其他引擎;我见过人们谈论自己的引擎;我也研究过其他(开源)引擎的源代码。因此,我相信我在这个问题上有一些可以说的东西,虽然,诚然,我的经验可能有些偏颇或不寻常。内容 第一部分:难题 为什么要制作自己的游戏引擎?让我们从这个显而易见的问题开始。这已经被反复讨论,但再讨论一次也没什么坏处。以下是您可能会制作自己游戏引擎的一些原因:你可以将自己从可疑的企业决策中解放出来,最近的事件表明,这是一件大事;自定义游戏引擎是免费的(当然,忽略开发成本 —— 没有什么实际上是免费的);你可以根据自己需要(或特定项目的需求)优化引擎的性能、迭代时间(每个人都喜欢等待着色器重新编译或光照贴图烘焙)、引擎架构(对于有数百万飞行物体的游戏,你可能会使用ECS而不是传统场景图)等等;你可以完全控制内部工作方式和使用的技术;你可以使用自己喜欢的编程语言(尽管每种语言上可能都有一些游戏引擎);你可以将分发大小缩小得多(我的引擎只有不到2Mb,其中几乎所有空间都被SDL2.dll占据);你可以开源你的引擎并看到它被他人使用(但要注意,维护FOSS项目几乎是一种折磨);如果质量合适,你甚至可以出售你的引擎(但要注意,推广你的工作基本上就像是一场地狱);你不会因为某些愚蠢的开发者没有实现你所需的功能而感到沮丧;互联网上的随机人会觉得你很酷,因为你在制作自己的引擎;这非常有趣,我保证;在这个过程中你会学到大量的东西,这将使你更好地理解其他引擎,从而帮助你在未来制作游戏,即使你最终把自己的引擎扔到垃圾桶里。对我个人来说,最后两点是最重要的。首先,学习是有趣的,如果你不同意这个,请最好开始:如果你想制作游戏,你无论如何都得学很多东西,因此最好开始享受这个过程!其次,我就是喜欢编码。我喜欢实现算法,我喜欢设计库和系统,我喜欢挖掘底层内容。移除这一点会让游戏开发对我而言变得痛苦。我还想详细说明“不会感到沮丧”这个观点,因为这是对我来说一个有启发性的发现。我看到人们总是抱怨引擎:这个东西坏了,这个东西破坏了其他东西,这个新东西不支持这个旧东西,这个功能在十年前就被请求过,但依然没有实现。当然,总是有事情是如此的原因;如果你曾在足够大的公司工作过,你大概可以理解。然而,指责他人总是比指责自己要容易。那些愚蠢的开发者没有修复这个东西!如果你需要它,为什么不自己修复呢?嗯,这不是你的引擎,对吧?——这是他们的。但是这是你的沮丧。可是现在不同了,现在你在制作自己的引擎。突然间,没什么可沮丧的:你完全知道为什么引擎缺少你现在需要的某个功能。是你没有实现它,简单就是这样。为什么没有实现呢?嗯,显然你当时忙于其他事情!你在一个小团队或独自制作整个游戏引擎,缺少支持某些功能也是可以理解的。甚至可以预期。你会在真正需要这个功能的时候实现它。当然你会。只是,可能现在不是时候。还有其他事情。我的观点是,指责自己自己的工作常常比指责他人的工作要更难。为什么不制作自己的游戏引擎呢?无论如何,这整个努力确实有一些缺点:这很难而且耗时。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡