《银河破裂者》是一个丰富的,有趣的游戏。在自己的星球上探险永远都不安全。即使你躲在基地的墙后,试图在夜晚生存下来,成千上万的敌人也准备好攻击你。制造一群外星人并不是问题,问题在于让他们以一种令人信服的方式行动。我将向您展示开发人员必须采取哪些步骤才能让世界变得生动起来。
一切都可以是随机的!关于《银河破坏者》的程序地图生成即使你的目标是让数千个敌人同时攻击玩家,你也可以从少量敌人开始。下图是银河破坏者的第一个原型之一。基本上什么都没有,甚至连物体的比例都没有,但对第一个实验来说已经足够了。占位符立方体代表敌人,你可以看到他们试图定位并接近玩家。我们尝试着使用在《Zombie Driver》中所使用的旧生物碰撞检测系统。每个敌人在碰撞前都有3条射线轨迹,以避免其他实体和世界的某些部分。
这些可能看起来不太像,但这就是2018年初的“银河破坏者”吗
好吧,尽管它看起来做得很好,但算法有点过时了。这还不够好。我们希望我们的生物快速而愤怒,而不是笨拙。我们删除了所有的射线痕迹,并开始使用分离力和凝聚力。这为我们提供了更好的流动性,也是我们未来工作的第一步。在那段时间里,我们通过数学和物理测试了我们所有的想法。在这个例子中,当玩家在墙壁之间循环时,许多敌人都在追赶他们。敌人穿过狭窄的通道,一旦到达空地,就会再次四散。很好,一切似乎都很好,但这只是开始。
你永远也抓不到我
如果游戏中只有一种类型的敌人单位,那么游戏很快就会变得无聊。即使在吃豆人每个幽灵的行为也都有其独特的方式。看看这篇文章)。加拉提亚37号是多个物种的家园,所有物种都彼此不同。
一个重要的规则是,如果一个系统对一件事有效,那么它对另一件事也有效。我们需要测试我们的数学方程是如何处理不同大小和速度的生物的。它们会粘在一起吗?他们能避开所有的世界对象吗?有很多问题要回答。而要做到这一点,唯一的方法就是把每个想法和解决方案付诸实践。我们为您带来终极的Canoptrix, Arachnoid和Hammerroceros冲刺!(他们一点也不慢,只是在这里慢。100%正确)。
在几何考试前准确地想象出学生的噩梦
现在是战斗能力的第一次测试。此时,我们有点厌倦了在灰色空间中运行的彩色立方体,所以我们用《Zombie Driver》中的狗模型替换了橙色立方体。在这段视频中,你可以看到狗试图攻击玩家,但沿途有一些防御塔。怪物和防御塔的攻击用红色和绿色的立方体表示,你可以看到它们在四处飞行。这不仅是对寻径的考验,也是对攻击优先级的考验。我们可以命令敌人先攻击玩家、能量结构、防御或其他结构。在这里,玩家是最重要的元素,但如果有任何阻碍,它就会被摧毁。
这是银河破坏者众多史诗般的战斗中的第一场
到目前为止,我们展示的都是非常小的规模。我们并不满意。我们希望玩家在玩《银河破坏者》时能够感受到自己是在玩《星际飞船》,同时拥有成千上万的敌人。我们设置这个场景是为了检查不同类型的生物在地图上生成各自位置时的行为。红色方块代表的是将它们推开的流场,这是解决碰撞问题的一个非常快速的方法。他们都有相同的目标——摧毁人类基地。不可避免地,这些组合会在这个过程中相遇——让我们看看会发生什么。
尽管它们的出发点不同,但它们在通往共同目标的道路上融合在一起
尽管单位受到悬崖和坑地形障碍的限制,但团队仍然能够在不阻碍彼此通往目标的道路上融合在一起。当他们遇到严重的瓶颈时,他们仍然会动摇,并试图把自己定位在最好的位置。这就是外星部落既可怕又美丽的最终原因——它模拟了一群活着的有机体,而不是机器人,一个接一个地排队通过隧道。
在更新了模型和动画之后,一切都开始步入正轨
尽管一切都很好,但还是少了一样东西。如何达到星际争霸的酷单位移动水平?在那款游戏中,一切都非常流畅和快速,没有移动延迟。我们尝试了很多方法。祈祷,看电视,看漫画。但是有一天我们的程序员在和他的小儿子玩的时候发现了一个解决方案。他们摇动桶里的球。每次球都把桶的空隙填满。是什么魔力使它发生的?答案是重力。通过将每个生物的独特重力与一个非常简单的软模拟结合在一起,我们最终创造了一个类似星际争霸的运动。添加适当的外观和动画,它突然看起来像一个游戏!
生物绝望地试图到达中间的机甲
正如我们之前提到的,让生物以一种可信的方式表现对我们来说很重要。我们最不希望玩家看到的是一群疯狂的太空狗站在地上什么都不做,因为它们在一段时间内找不到到达那里的方法。这对我们来说还不够暴力。相反,这些生物会蜂拥而至,填补空隙,就像被蜂巢控制一样。只有一个目标,必须用任何必要的手段来实现。老实说,它看起来像一个活细胞!
基地感染。小Quelver(甲壳类动物)是由这个系统控制,就像任何其他单位。我们在《银河十字军》中用来处理单位行为的系统可以同时支持攻击性和中性生物。他们的计划是在Galatea 37(游戏发生的星球)中植入各种各样的“环境”生物。他们的工作很简单,就是过正常的一天,寻找食物和水,从一个地方移动到另一个地方。这一切背后的原因是,让世界更身临其境和自然。Quelver就是这样一种生物——一种微小的食腐动物,在大多数加拉提亚生物群落中以地面为食。
幸运的是,Quelvers害怕玩家和他们的行为,所以很容易摆脱他们
Quelvers的移动由与其他单位相同的AI系统控制。为了不让CPU承受太多压力,这些生物只会出现在战斗之外。如果游戏检测到“进攻”模式的单位数量阈值已经超过,奎尔弗斯将立即停止生成。这并不是这些生物唯一的性能优化。游戏会检查Quelvers的位置,并只在设定的半径之外生成它们,以避免它们聚集在一起。游戏中没有蜂群喷泉。但如果你真的想......,这是可能的
这些虫子在加拉提亚37的食物链中扮演着重要的角色,它们清理着残骸。
这些家伙也使用相同的分组机制作为攻击单位,但出于略微不同的原因。他们会围着尸体,在《银河破裂者》中战斗后会有很多尸体。一旦战斗结束,侵略性生物的数量再次低于阈值,Quelvers将再次开始产卵,并寻找尸体的饲料。过了一段时间,我们溶解了尸体,但加入的蠕虫让它看起来好像真的吃掉了尸体。这些生物会在追逐玩家时避开障碍最后,是时候推出杀手级应用了。在开发复杂系统时一年后,经过数千行代码和几杯咖啡,我们解决了数千个单元。废话少说,看看这幅画,你就明白了。