造物者说:全新弹道系统 实现心形轨道

时间:2015-08-24 15:32 作者:constancequinn 手机订阅 神评论

新闻导语

设计师发表博客,向大家详细讲解了全新弹道系统。

constancequinn@17173原创编译,转载请注明作者与出处

missilesheader.png

 

联盟中新的弹道系统

召唤师们,Brian "Penrif" Boss在这里和你们聊聊联盟中弹道系统的新机制。我们在过去的几个月中调整了弹道的一些算法(就像在最近的更新日志中提到的那样)。如果我们的工作得当的话,你在游戏时应该不会感受到什么变化。不过就算如此,新机制为游戏带来的新发展着实让我们兴奋,所以我想和你们分享一下相关的更多细节。

之前的系统错综复杂而且几乎不可能重做,而新的系统让我们可以轻松的做些蠢事,就像下面这样:

ashe-heart.gif

艾希之心

先说一句,我们不是要改动艾希的万箭齐发。这只是我在几小时内吃着医生开的止疼片,随便做做就完成的,只是想说明新的系统可以把一切都简化,不用花太多功夫就可以完成很多以前很麻烦的动作。

 

超级复杂的旧弹道系统

为了让你清楚的认识我们在和什么打交道,我就给你一张表看看,这上面写得就是以前的弹道系统每一帧执行的方式:

missile_flow_before.png

(你可以放大不过估计这就像电子乐一样-----里面的字重要么?)

当然这和真正的导弹导航系统相比,是没那么复杂啦,不过这让人头疼的算法确实让任何改动都有所风险,仅仅是因为它本身的复杂性。简单来说,你现在看到的就是每一种弹道的类别,每一个都代表了一种不同类别的一组弹道方式。而来自这些类型的功能,他们时而共享,时而重复---不过都经常让人困惑。这张表把这些弹道类型横向排开,功能类似的就用颜色标出。举个例子,如果你想知道弹道碰撞轨迹,你就不得不看每一个粉色的代码——就是那个几乎到处都是的粉色代码。

最上面的框里就是我们所说的“基础弹道”,他是整个弹道系统的根基。也就是那些最简单的弹道:这些飞弹飞向指定位置或者指定目标并且当飞行结束时被触发。平A和防御塔的攻击都属于这个类型,还有像飞机的Q和炸弹人的大招这样的技能也属于此类型。他们的算法都很直接,飞弹跟踪目标,然后评估飞弹该向哪里移动,然后看他们是否可以攻击到目标。就这么简单。

下面那个大框是“线型弹道”,大多数玩家会叫他非指向性技能——比如拉克丝的Q,艾希的万箭齐发,或是EZ的所有技能。也有一些让人惊喜的技能也出于此,比如亚索的风墙:它就属于线型弹道,挡弹道的弹道,够讽刺的了。

线型弹道比起基础弹道要复杂的多,举个例子,他们在飞行过程中可能击中目标,也可以回到施法者处(如德莱文的大招),或者技能贴近地面(如婕拉的E)。把这些不同的技能都混为一类确实有点作死,不过线型弹道还和基础弹道有密切联系。由于使用了基础弹道的系统预设值,导致线型弹道继承了基础弹道的功能性,不过线型弹道的使用方法略微不同。这就让我们很尴尬,因为当我们想要改动基础弹道的算法时,就难免会牵扯到线型弹道,这就把事情搞得更加复杂了。

那个底下的小框里面装着3个圆形弹道:皎月的Q和W,狐狸的W。他们的机制和线型弹道相似,但飞行轨迹为圆形。它们也来源于基础弹道,在打击方式上和线型弹道相似,而移动轨迹不同。在做这张表的时候我发现了一些bug,这些bug使得线型弹道无法变成圆形。所以复制这些代码就相当于也复制了这些bug;复制狂魔永远的痛啊。

pasta.jpg

让我们形象的感受一下这种弹道系统吧。大概像这样

总之,lol中的弹道系统十分复杂但是毫无必要,自我纠结而且十分脆弱,改也改不得。既然弹道在这个游戏中是一个很大的设计区域,那么我们就必须简化它,从而使其更容易被改动。

最后我们决定把原先的系统**重做,这是最简单粗暴的方法。

fromscratch.jpg

 

相关阅读:造物者

英雄联盟

扫描二维码

微信公众号

最强攻略

热点专题

全球新闻

签到成功!

连续签到: 天  累计签到: 天

更多»今日抢签到排名