第60章 你怎么不撩骚改技术装逼了呢

“A星。”刘子丰略显紧张,算法是经典算法,他下载了一个算法插件,做了部分优化,但效果始终不好。

算法这块他不熟,平时没什么积累。

他本打算读研究生,随便投了几个简历,结果没想到被青柚录取。

他也是魔大计算机专业毕业,和方程同届不同班,见是做游戏抱着有兴趣尝试一下的态度就来了。

但他并非一个热爱编程的人,更没有参加过魔大的创业交流会,因为没有自己的作品。

刘子丰是一个智力不错,但未能用兴趣和理想聚焦智力有所创造的年轻人。

“难怪了,A星不行的。”方程断然道。

“为什么?”

“因为它是实时算法。”方程一语道破天机,“场景加载后,每个行动单位都要实时计算一遍行动路径,哪怕他们的行动路径是相似的。所以,它的时间复杂度是N*M*T。

你应该使用流场算法,在场景加载前提前生成流场路径,所有单位按照提前生成好的路径行动,这样时间复杂度将降低为T。”

(N:多少个单位,M:单位在存活期执行寻路的次数,T:寻路算法计算一次的用时消耗)

“原来如此,那我回头用流场试试。”刘子丰露出被戳中知识盲区的窘迫,这种算法研究本应是他分内的工作。

方程对这种表情很熟悉,不少程序员都如此,他们不是不聪明,只是觉得自己做的东西能用就行了,并不觉得需要多精巧。

可程序这玩意,它既占空间又占时间,甚至能干烧CPU,如果大家都不优化,那整个行星都放不下运行垃圾程序所需的服务器。

而百中无一的,方程恰巧天生偏执程序的美感与精巧,对这种算法浪费忍无可忍。

“下一条【敌人行进时连成一条线很不自然】,你有解决思路吗?”

没有废话,方程快进到第二个bug,这个bug也很典型。

刘子丰摇摇头,疑惑道:“这应该不算bug吧。”

话其实是冲着戴悠悠说的。

“哦,不是bug吗?我只是觉得不自然。”戴悠悠双手撑在椅子坐垫边缘,两腿撑在椅子两侧,标准的鸭子坐,配上两根小马尾,可可爱爱。

“的确不是bug,但需要优化。”方程道,“20年前的星际争霸大批单位行进时就有这个问题。走路跟排队一样。其实加一个群聚算法就可以改善。这个算法你可以参考the nature of code教程。事实上我建议你把the nature of code看完,做一个行为引擎出来,利用几条基本法则,赋予行动单元更符合人类直觉的反应。”

戴悠悠:???

啊,方学长在说什么?虽然听不懂但感觉很牛逼的样子。

“the nature of code?好的。”刘子丰又是脸一红。

他发现被方程一说,他的工作仿佛处处都在偷懒。

“光有群聚还不够,流场导航模块要提供地形数据给群聚,这样单位分散时才会根据地形调整队形。”

本小章还未完,请点击下一页继续阅读后面精彩内容!

“我明白了。”