作者:Joost “Oogst” van Dongen
在Ronimo Games工作室,我们总是尝试制作出富有创造性的游戏,而我认为我们在此所面临的最大的挑战是很难更好地安排游戏设计师的工作。游戏设计师总是致力于游戏机制以及控制方案等工作,但是他们却不知道自己设计的纸上方案是否真的可行。而这时候就需要程序设计员的帮助,根据设计师的设计编写出真正可行游戏的内容;所以除非设计师本身也是程序设计员,要不他便很难完全依靠自己的力量完成游戏
而美术人员现在已经不用烦恼这个问题了,因为图像工具能够帮助他们无需程序员的协作便创造出大部分图像内容(大概除了优化和执行都能够做到了吧)。而对于游戏设计来说,这应该算是一个众所皆知问题了。虽然有许多方法能够帮助游戏设计师解决这个问题,但是却没有一个是切实可行的。我大致列举出几个:编撰脚本语言,基于事件的系统,使用像Gamemaker和Virtools等工具,而最多人采取的方法是:从现有的游戏中复制所有内容,甚至未添加任何创新元素。
对于我们来说,所有的游戏都是从程序员与游戏设计师的紧密合作开始的。现在,不论程序设计员何时创造了何种内容,我们都会尽可能地保持这些内容的灵活性,并创建相关设置以控制它们。我们将所有可以想到的内容,包括速度,规模,生命,冷却等安插在这些设置中,从而让游戏设计师能够编辑这些内容。
但是在《剑与勇士》中,设计师的工作权限也非常有限。所有现实的行为都是明确地按照每个单位进行编程,所以设计师唯一能够做的便是调整它们。如果他们想要创造一个新的单位或者将现有的单位与性能结合在一起,他们便需要请求程序设计员帮助执行这一过程。
在《剑与勇士》中,每个角色的技巧都是属于硬编码。设计师只能够调整一些确切的数字(dApps注:如破坏率,速度,冷却等),但是如果离开了程序员,他们便不能创造出新的角色。

Swords & Soldiers(from joostdevblog)


在《Awesomenauts》中,我们尽可能让所有内容都更加灵活。我们明确了游戏中的角色包含了哪些技巧以及玩家按压哪些按钮能够使用这些技巧。我们已经编写了大约20种技巧(dApps注:包括射击,打击,跳跃,冲撞以及防御等),而设计师可以通过单独设置创造出每个技巧的新版本。设计师同样也可以在每个按钮中附加一些技巧从而创造出新的结合体,所以如此便可能同时出现发射子弹和开始防御的组合技巧。

Skill system(from joostdevblog)


以上就是游戏中Sheriff Lonestar所拥有的技能。

每个技能都涉及了一组设置并用于定义相对应技巧的性质。所以游戏中共有许多不同的射击技巧,而每一个技巧又有不同的设置。按照这种方法,将会延伸出手榴弹或者其它子弹,激光或者地雷等。

ShootGrenade(from joostdevblog)


以上是手榴弹射击的设置。一些合理的设置:每隔4.6秒可以投射出手榴弹,这是由子弹衍生出来的。而子弹也有许多不同的设置。根据这些不同的设置,射击也能够创造出激光等威力。
这就是真正的灵活性,并且我认为这么做比《剑与勇士》中所使用的角色硬编码有效多了。而促成出这种灵活性的秘诀便是创造各种不同的设置。通过《Awesomenauts》的开发,我们不断地添加新的设置以促使现有技能更为灵活,并因此能够创造出更多内容。
虽然说起来头头是道,但是真正实践起来却总是难以像想象中那么完美。这种方法同样也有弊端,总的归结为一点就是:技巧能够通过任何方式结合在一起,但是却因此让所有角色的编码变得更加复杂。就像是如果你有20种技能,那么设计师便可以同时创造出400个2种技能的结合体。如果每个角色都拥有10种技巧,那么设计师所面临的工作量便更难估量了……
所以执行这种系统并合理地创造出所有结合体将会花费我们大量的时间。这一任务复杂性的一个重要方面体现在动画上。同时触发一些技能时要使用何种动画?我们曾经遇到过许多次因为技能错误,导致动画效果不好或使用不当的情况。这是游戏最后必须具备的一大关键要素,但是却需要我们投入更多的努力。不幸的是,这也仍然是一种容易遭受破坏的代码(例如在编码时很容易出现漏洞)。
关于这个系统的另外一个缺陷是,如果你希望它真正具有灵活性,你就必须为每个技能创造更多不同的设置。但是需要的设置越多,设计师所面临的任务就越复杂。所以在游戏开发过程中,我们的设计师总是会寻找一些本已经存在的功能。
当然了,这种系统的优点便是,具有如此多设置,让我们能够利用这些组合创造出更多独特的内容。特别是我们的游戏设计师使用射击和防御技巧创造出许多我们在编程时从未想象过的内容。
所以总的看来,在比较《Awesomenauts》的灵活性以及《剑与勇士》的非灵活系统时,我并不认为灵活系统拥有更大的优势。甚至,我想说《Awesomenauts》的灵活系统需要我们花费比之前的游戏多三倍的创作时间。
但是不管怎样,就像在《Awesomenauts》中,我们需要花费更多的时间进行游戏迭代,并需找更多有趣且不同的单位,所以更多的灵活性也是不可缺少的。我认为我们在《Awesomenauts》中做出了正确的选择。虽然这一选择需要我们投入更多的开发时间,但是我们却能因此更好地提升游戏质量。
dApps注:原文发表于2011年12月24日,所涉事件和数据均以当时为准。