白石步站在曲木影身后。
虽然他听不懂那些高深的专业术语,但也知道这绝对不是什么简单的任务。
他有些担忧地看着曲木影的后脑勺:“曲木同学……”
曲木影没有回头。
她将U盘里的工程文件拷贝到桌面上,打开了Visual Studio。
她快速扫了一遍工程结构。
地图数据结构,节点定义,测试接口……都已经准备好了。
动态障碍,路径重新规划,性能测试……这些东西,已经接近游戏AI开发中会遇到的问题了。
但也仅此而已。
她看向屏幕上的网格地图。
规则明确,地图规模有限,节点结构固定,障碍变化……
曲木影的下意识反应是增量算法,例如D* Lite,LPA*之类的。
她不打算真在这赌约上浪费180分钟。
随后自然而然想到一个算法——跳点搜索(JPS)。
这项技术在学术界要到2011年才会被正式提出论文。
但在后世,JPS已经是非常基础的A*优化手段。
虽然处理动态障碍不是JPS的优势。
但单次搜索足够快即可——只要数值足够,机制怪也不是不能打。
而且对曲木影来说,JPS实在是太熟了。
她亲手写过不少次JPS的实现,审过的代码更是梳都梳不过来了。
曲木影迅速在脑中整理出方案,随后看了一眼时间。
“90分钟够了。”
“计时开始吧,未来的东大生。”
……
89分钟后。
“完成。”
曲木影两手一摊,随手端起一旁白石步刚买来的冰咖啡。
福田正义猛地抬起头:“你说什么?”
他以为曲木影说的90分钟只是装逼的话……怎么可能真的完成了?
“完成了,测试吧。”
福田正义没有说话,咬着牙快步坐到曲木影的电脑前。
在这么极端的时间内,曲木影最多只能勉强拼凑出一个漏洞百出的粗糙版本。
一定是这样的!
屏幕上,复杂的黑白网格迷宫加载完毕,代表AI的像素小人开始移动——像素小人只是示意,真正的统计在寻路返回后就已经完成。
“全是最优解?”
福田正义的表情越看越阴沉。
曲木影的程序搜索时间始终在个位数毫秒,偶尔有些波动,但没有出现宏观卡顿。
他等不及全量测试结束,直接强行中止程序,扯开源码。
周遭的部员们也忍不住凑了过来。
“这是……什么?”
福田正义下意识呓语般出声。
眼前的代码,是一套他在任何开源社区和学术期刊里都从未见过的剪枝逻辑。
一旁的部员还在懵圈:“福田,到底怎么了?运行数据出来了吗?”
福田正义死死盯着代码没有回答,嘴唇不自觉地动了几下。
中间那些节点一个都不检查?
这不会漏掉最优路径吗?
福田正义越看越心惊,有些毛骨悚然地吞咽口水。
这套算法从根本上减少了搜索空间。
别人寻路是一格一格爬过去,她直接跳到下一个必须转弯的路口,中间的走廊看都不看一眼。
在随机网格地图上,这个算法扩展的节点数可能只有A*的几十分之一。
他红着眼眶,没有再次点开全量压力测试。
只是深吸一口气,从电脑前站起身。
他已经输了。
在心里一直回避的事情,此刻像是被撕开了防护罩,让他不得不面对。
对WFC算法说的“只是思路问题”,只不过是一句自欺欺人的遮羞布。
只是他不甘心去承认。
……承认自己想不到,承认自己做不到。
但此刻,面对曲木影,他甚至连产生嫉妒的资格都没有。
那不是他多看几篇论文就能摸到的距离。
那是能让人绝望的距离。
他先前的叫嚣与不服,不过是挥向天际的螳螂之斧。
“我输了。”
周围的部员一片哗然,他们不理解为什么都没有正式测试完,为什么部长就直接认输了?
他们的水平还达不到这个境界,自然觉得奇怪。
“你……这是你自己想出来的?”
福田正义仿佛丢了魂魄,心里只剩下这个疑问。
“嗯。”
“……”
“那么,愿赌服输?”
福田正义低下头,厚厚的眼镜片遮住他的眼神。
他沉默了很久,拳头攥紧又松开。
“……我自愿加入余白社。”
“很好。”
“带着你的东西到活动室报到,至于工作内容……再说。”
她十分贴心地补充了一句: “没有工资,随叫随到,白干一年。”
“欢迎加入,前辈。”
白石步:我看不懂,但大受震撼。
这……这就结束了?
直到两人离开计算机部,白石步才如梦初醒,看着曲木影手中的冰咖啡说道:“冰块还没化呢。”
“……”
曲木影一时间没有理解他想说什么。
“冰咖斩福田。”
白石步伸出手,在少女下巴下方虚抚了几下不存在的美髯,喃喃道:“云长大人,你的胡子好长……”
曲木影强忍着把咖啡泼到他脸上的冲动,阴恻恻地开口道:“不要做下流的手势!”
“诶?下流?”
白石步连忙收回手,在自己胸前划拉几下,发现确实挺下流的。
“对不起啊……我只是觉得,能遇到曲木同学,实在是太幸运了。”
白石步往前快步走了几步,转过身,直视少女的眼睛开口道:“如果错过你,我可能会抱憾终身吧。”
“……”
怎……怎么突然这么……呃……
曲木影避开炙热的视线,将脑袋瞥向一边,轻声说道:“不要说……让人误会的话。”
“误会?”
白石步歪了歪脑袋,一副没觉得自己的话会被人误会的模样。
“我说的不是骗人的,我对和曲木同学的感情非常看重,就像……”
喋喋不休。
曲木影发现了,他好像是从二次元里学来的台词。
但那些台词本身就是创作者为了让观众想入非非而创作的。
这家伙……
曲木影正想开口说什么,却看见倒着行走的白石步快要撞到人,于是伸出手拽了一把。
“不要倒着走,白石!”
横田先生原本是想教育一下危险行为,旋即看到两人贴在了一起。
“……”
曲木影捏着少年的肩膀,看着他近在咫尺的脸庞,不由自主地微微加重了呼吸。
这家伙,也不知道是无心的还是怎么……
把手贴在了自己的腰上!
好痒……
“横田先生?”
白石步却什么也没注意到的模样,转过头有些疑惑。
“咳咳,我是来找曲木的。”
“哦哦……”
白石步挪开步子,对曲木影说:“我去活动室等你。”
随后少年小跑着拐过转角,来到楼梯口。
靠在墙壁上的白石步,缓缓张开右手。
掌心仿佛还残留着刚才无意间……或者说,蓄谋已久地贴在她腰侧时的温度。
曲木同学……明明平时的眼神冷冰冰的,腰却意外的温软。
还有刚才明明看穿了是暧昧台词,却还是把脸别过去不敢看自己的样子……
白石步嘴角压不住地往上扬。
抗拒旁人感情时的曲木同学,也很可爱。