许多开发者的一个共同观点就是,使用第三方游戏引擎来制作游戏是一种作弊行为,就好像是在心算考虑中使用计算器一样。这种观点在学生及行业新人中甚为普遍,但在极具资历的开发者的言行中也似乎能够看出这一端倪。我在此的目的是检查这个观点产生的根源,并看看大家的反应。为此,我的宗旨并非得到一个人人都满意的决定性答案,而是列出反对这一观点的一些极具说服力的理由。我希望自己能够为那些认为使用第三方引擎是作弊行为的人提供令其安心的理由。
在开始之前,我将阐明自己对“游戏引擎”的定义。特别要指出的是,我在此所指的是任何通过抽取更低级API和工具,以鼠标为主的GUI界面、视觉脚本编辑器、动画编辑器、拖放功能,以及其他关卡编辑功能提供更用户友好型的体验,以令游戏开发更为简便的第三方软件或服务。除此之外,这种引擎通常包含预编码的脚本文件,而用户创建新功能时甚至无需完全理解其源代码库的作用。在这类程序中还包括已经在行业中颇为盛行的工具:Unity、UDK、CryEngine、Torque、Shiva、Godot、Flash、GameMaker Studio、RPG Maker、Multimedia Fusion、Construct2、Stencyl、Blender Game Engine、GameSalad等。
但引擎本身并不是主要问题。引擎让你产生的感觉以及它在同行中使用的情况才是关键。这里的要点在于:有些游戏开发工具的使用可能会让人感觉像是作弊。我认为这一观念是指,使用这些工具的时候,你并不是在做正当的开发工具,你只是在以此为借口参与非专业性的工作。确实,你可能会用工具制作一款看起来很专业的游戏,你甚至可能让玩家误以为你是一个充满诚意的开发者。但是,在过去的分析中,你却永远无法愚弄其他开发者,因为他们终会知道你是在游戏中使用了引擎,从而避开一些真正而困难的工作。
现在,这里的当务之急是自我认同性,即其他人如何看待你。这种心理恐慌或许来自你是否被视为游戏行业的全职成员这种不安全感有关。你很担心因为自己选择了某一引擎,就被其他开发者轻视。但是,让我们先将这些外部评价搁置一边,要知道还有一些开发者对自己感到不安,因为他们无法摆脱游戏引擎只是一种作弊手段的这种观念——即使用这些引擎是让自己脱离真正的游戏开发工作的一种懒惰。对他们来说,这个问题并不仅仅来源于身份认同感,更重要的是对真正的追求:这究竟算不是作弊?
今天我们不难在网络上看到对这一问题的表达意见。有时候你会通过网络论坛的用户问题听到类似这样的建议:不要自寻麻烦地学习任何引擎。只要学习类似C++、OpenGL以及DirectX这种真正的游戏编程技术即可!
其他时候的这种表达则更为隐晦,例如:”我们采用了工作室所能采用的最专业的方法:我们从头创建引擎和工具。”这种表达产生了一种使用引擎会削弱你的成就,让你看起来像个作弊者的感觉。这种观念表明,使用引擎是一种建立在他人(引擎开发者)劳动成果之上的投机方式。这样的工作还包括:渲染系统、照明映射系统、物理计算等。当使用引擎时,所谓的游戏开发者可能会运用一些功能来制作自己的游戏,但却并没有深入了解该功能的代码。这种感觉就像是依靠他人来做自己的工作。所以我们对此该如何回应?我认为有5个主要论据可以回应这种指责。我将分别将其列出,并对其分别命名。每一个论据都 与之前的一系列推理相关,它们每个论据本身看起来并不完全具有说服力,但结合起来却颇具力量。
1.“谁在乎呢?”
这看起来并不像个理由或论据,只不过是个逃避战术,根本就是拒绝承认问题。这一回应的潜台词就是“嘿,也许使用引擎是一种作弊。我不知道,但我不在乎。我只是想提高效率制作游戏。”这个方法可能具有情感说服力,但它并不能劝服那些想说理的人。因此,这只能吸引那些已经改变信仰的人。无论你是否如此看待问题,那种作弊感仍然存在,无论你说多少吹“谁在乎呢?”
2.“没这个规定”
第二个论据采用了较有逻辑性的一步。它的推理就是:作弊是一种破坏规则的行为。这意味着作弊行为要取决是是否破坏了规则。但是,它也表明在游戏开发过程中,并不存在这样的规定。所以并不存在作弊行为。由此可见,使用引擎并不是作弊。现在我怀疑这个论据无法说服许多人,尽管它的逻辑性看似绝无谬误。这其中有太多抽象和条理性的问题了。它的力量在于文字游戏以及合理化。它的本质可能是正确的,但其抽象性却难以说服大家。
3.“重要的是结果”
这个论据更具说服力了,它关注的是在游戏开发过程中使用引擎的结果,并以此为这种方法辩护。这个论据鼓励我们关注今天的游戏多样性,看看许多玩家并不在乎自己所爱的游戏究竟是否使用第三方引擎开发而成的局面。它提醒我们制作游戏的真正动机应该是创造趣味和娱乐性体验,这也是玩家真正在乎的东西。对游戏玩家来说,问题在于游戏是否具有娱乐性,而非是否使用了引擎。无论有没有使用第三方引擎,游戏都可能具有趣味。所以如果使用引擎并不会让玩家产生困扰,并且游戏具有趣味性,那也就无所谓你是否使用了第三方引擎。这与作弊无关,关键在于制作有趣的游戏。
4.“荒唐的影响”
这个论据始于一个深思熟虑的试验,并鼓励我们去考虑一致性的问题。从论据角度来看,我们不再使用引擎是因为它们真的在作弊。现在,如果我们这么做了并想在生活中保持一致笥,那么我们也应该将这个逻辑运用到生活中的其他方面。但这就会产生不切实际的荒唐结果。这个论据的深意就是“使用引擎就是作弊?它们让我们的生活更轻松。它们为我们做了大量的困难工作。这就是作弊?那我们就不要使用引擎了!但,我们必须停止开车。因为它们让我们的生活更便捷,让我们依赖他人的劳动成果。我们也不能再用计算器和服装、电脑、电视、广播、火车和飞机等一切有用的东西,就是这个原因。”这个论据从许多方面来看很强大,并不只是因为它提醒了我们日常生活中对他人劳动成果的依赖成性。它让我们看到万物之间的联系,以及我们对前人基础的依赖性。这个论据表明,如果使用引擎真的是作弊,那并不是简单的因为我们依赖他人的劳动成果。如果是这个原因的话,那么一切行为都可能是作弊了。如果一切都是作弊,那么我们把所有事情都称为作弊就没有意义了。
5.“无限退化”
最后一个论据与之前的论据相关。这两者都先接受使用引擎是作弊行为这种观点,然后要求我们遵从其所引导的一切规律。但之前的论据认为这一理念会产生荒唐的结果,而这一论据则认为它毫无根据。它的潜意识就是“好吧,让我们弃用引擎,因为它是依赖他人劳动在果的作弊行为。因此,我们要正当使用引擎,首先我们就得先退后一步成为引擎开发者,理解与引擎相关的所有技术考虑因素。这样我们才能成为合法的引擎用户。
但是,这一论据还表明,我们必须清楚即使是引擎开发者也将成为作弊者,假如他们并非第一个掌握了低端代码和二进制系统的计算机科学家的话。而计算机科学家如果没有首先成为熟悉电子脉冲和微芯片方面的硬件专家的话,他们也可能成为作弊者。而硬件专家如果没有事先掌握量子力学和有关电子交互方面的宇宙定律,他们也有可能成为作弊者。所以这个论据就会无限重复,将我们引向没有意义的深渊。而对此我们却束手无策。在庞大的宇宙面前,我们是如此卑微和渺小,根本就没有办法找到真正清白的非作弊者。这个论据提醒我们,如果使用用引擎需要任何理由的话,那就不能用这种前提来说服大家。它告诉我们,如果我们要成为游戏开发者,就要从已经被认为理所当然的基础而非本身就遭到质疑的环节开始。
这五个论据结合起来推动我们向两个潜在方向前进,这两者都承认第三方引擎在游戏开发过程中的使用。我们要么就从使用引擎是作弊开始,要么就扩大作弊范围。无论使用引擎是否作弊,或者几乎万物都是作弊行为,这都不会有任何意义。而这两种情况下,所有的论据都会情绪化地引向第一个论据,而它恰恰是原先最薄弱的论据。