美利坚:游戏制作教父 第218节
“如果有人对我说我做不到什么事,那我就一定会去做这件事。”
从某种角度来讲,在这一点上杰拉德就还蛮有朋克精神的。
只不过随着GAMENOVA站的越来越高,这种倔犟的坚持越来越困难了。
因为林立新提出的很多东西,真的很难做到。
太难做到了……
他瞥了眼档案室。
那里面封存着大量林立新提出的因为硬件限制而完全没有可行性而被封存的方案。
自己现在捣鼓的这个NX独立声卡已经是大浪淘沙剩下的为数不多能做的东西了。
“在我小的时候,会修无线电、会帮邻居修电视机就已经是十里八乡有名的天才了。”
他无奈地摇摇头,
“所以我觉得,或许……”
“叽里咕噜说啥呢,尽快把这块声卡搞完吧。还有个大项目等着你呢。”
林立新忽然出声打断了他的话,
“50岁正是拼搏的年纪,可不能这么懈怠。”
说罢,他将一份文件甩在桌子上。
标题一行粗体大字【Project-Swift(雨燕计划)】。
……
姑且是绕远路解决了联机的问题,林立新这才回到暴雪开发组。
“林,根据你的要求,我们姑且是重新用N语言实现了一套2D地图网格。”
麦克将项目的进度汇报了一下,把内容展示给林立新看。
那是一个黑白相间的棋盘格,用来辅助测试,更容易用肉眼分辨坐标情况。
画面上正有几个不同颜色的像素点正在移动。
当麦克点击某一个格子时,游戏便会卡顿几秒钟,随后便会有一个颜色的像素点开始向这个位置移动。
林立新眉头微微一皱。
“我看看你寻路怎么做的。”
噔噔咚。
几人对视一眼,对这般查作业似的话一时间都有些麻爪。
上学时忘记做试题都没有这么紧张过。
“这部分是我写的。”
亚伦主动接过话头,切出项目的源码展示给林立新看。
他们三人组分工明确,弗兰克负责工作室的运营管理,麦克则是主要负责策划和硬件。
至于主程,在西木的两位开发者过来之前,这里所有的程序工作基本都是由他负责的。
也正因如此……
亚伦现在压力爆缸!
他小心翼翼地瞥了林立新一眼。
皱眉了啊喂!
半晌后,林立新在看完整段代码后,眉头忽然舒展开,也终于是露出了笑容。
这让亚伦长舒了一口气。
不过还没等他放松下来呢,林立新开口一句话直接给他打入了地狱。
“嗯,这个不行,推倒重做吧。”
林立新笑笑,说出了一句吓死人不偿命的话。
说真的,林立新本人刚才的紧张可一点也不比亚伦差。
刚才看到那个寻路光是一个单位就要动用数秒的计算时间,他还以为是硬件性能顶不上。
这可不是什么小事儿。
如果真的这么严重,那这整个项目等于说是就完全没有任何可行性了。
不过好在是经过确认,只不过是代码写的不太行而已。
“吓我一跳。”
林立新直接拉过椅子来落座,
“我没看错的话,这是A*算法吧?”
一个六十年代末期就已经被提出,直到后世千禧年后也仍然是主流的寻路算法。
能自己手搓出这玩意儿出来,不得不说亚伦的本事是有保障的。
照理来说,这玩意儿的效率其实算最高效的那一档了。
哪怕是近几年基于A*改良出的那一堆B算法、IDA*等算法,也不过是在A*思想的基础之上做出了些优化而已。
“是的……有什么问题吗?”
亚伦人已经晕了。
为了能把林立新提出的寻路搞成,他可没少查资料。
如今他实现的这个版本,在原有的基础之上,通过适应更高速的内存,以及将部分数据转移给显卡计算的模式,成功将效率又提升了一大截。
没想到林立新开口第一句就给他否了。
“哦,这个寻路模块还不赖,可以打包起来留给以后需要的地方,不过《命令与征服》不能用它。”
林立新简单在代码里做了点修改。
将寻路的范围直接扩大到了所有单位同时寻路。
随后他重新编译运行,像之前那样随便点了个位置。
这下子程序直接就卡死了。
海量的运算量直接把频率本就可怜的处理器和显卡直接顶爆了。
“你看,RTS游戏需要大量单位的同屏移动,你打算为每个单位都运行一套完整的寻路算法吗?”
亚伦尴尬地挠了挠头。
他其实早就注意到这一点了。
只不过碍于想不出合适的解决办法,他才暂时先用刚才那种形式糊弄着。
在有限的机能里搞出这些东西真的太难了……
“为了我们的需求,我们不能再用A*了,而是要改用一套更加适合RTS游戏的寻路。”
“我将其称为‘流场寻路算法(FlowFieldPathfinding)’。”
“它的核心思想是:一次计算,万人同用。”
亚伦目光一滞。
如果林立新说的是真的,那他相当于是凭空搓出了一个效率提升了成千上万倍的新寻路算法。
这……
是否有点太离谱了?
第225章 全部回炉重做吧
在传统情况下,A*算法简直是好用到不能再好用了。
它会让单位精心规划出一条最优路径。
并且每一步走出,它都会重新计算一次路线,确保计划可靠。
这套系统一直运行得非常不错。
直到,
它碰到了成百上千个单位。
如果有上千个单位都要去一处地点,那A*就得为每个单位都跑一遍寻路流程。
这样恐怖的性能支出,绝不是现在的处理器能承受得住的。
而流场算法的诞生,恰恰就是为了这种群体寻路问题。
“一次计算……万人同用?”
亚伦重复着林立新的话,尝试理解他的意思。
“是的,我们不在游戏运行的时候实时计算路径,而是提前帮玩家算好。”
上一篇:娱乐圈最严厉的父亲!
下一篇:返回列表
