至於机器跑不跑得动
那当然是机器的问题。
林希看著黑板上密密麻麻的算法草稿。
思路清晰。
也確实严谨。
但严谨不等於好用。
在课本上,这是標准答案。
在工程里,这是拿榔头拧螺丝。
“让开。”
李建新愣了一下,下意识让开半步。
林希扫了一眼代码笔记,坐到开发机前。
“你们的思路没问题。”
“但代码不是这么写的。”
他拿起粉笔,在黑板上画了个不规则的坦克轮廓。
“你们现在算每一个像素。”
“可玩家看不到像素。”
说著,他乾脆利落地在坦克外面画了一个长方形方框。
“给每个物体包一个看不见的矩形边界。”
“在电脑里,它就是四个数。”
“x1,y1,x2,y2。”
“墙壁也一样。”
林希用粉笔敲了敲黑板:
“判定碰撞时,不比像素。”
“只比这四个坐標。”
“x轴有没有重叠”
“y轴有没有重叠”
“都有,就是撞了。”
“两次比较,一次加减,完事。”
“这叫碰撞箱。”
屋子里瞬间静了。
李建新半张著嘴。
脑子里像被人敲了一锤。
不用算几百个像素
只算四个坐標
“两次”
他声音有点发乾。
林希看他一眼。
“两次。”
他转回身,双手压上键盘。
每一下敲击,都像敲在李建新的心口上。
屏幕上,几百行臃肿的像素判定代码被刪掉。
汇编指令一行行跳出来。
……
林希没有重写全部程序。
他只把最吃算力的核心判定剜了出来,换成一段乾净到近乎寒酸的逻辑。
不到两分钟。
核心逻辑十七行。
连注释都没写。
“编译,运行。”
林希按下回车,把手柄丟给李建新。
画面刷新。
李建新咽了口唾沫,大拇指按下方向键。
坦克启动。
没有延迟。
鬆手。
稳稳停住。
一毫米都没多滑。
他死死贴住砖墙往上推摇杆。
黄色坦克顺著墙根往上走,丝滑得像抹了油。
不卡顿。
不穿墙。
他猛按开炮键。
“砰砰砰!”
三发炮弹几乎没有延迟,乾净利落地砸穿砖墙。
监控数据上,算力占用瞬间降了三成。
李建新僵在原地。
周围几个学生看看屏幕,又看看黑板上的方框。
没人说话。
困扰他们五天五夜的“物理极限”,被四个坐標点干碎了。
直播间弹幕滚动起来:
【我去,碰撞箱!aabb碰撞箱!】
【这玩意儿后世是游戏引擎第一课,但在83年……他们连游戏引擎都没听过。】
【主播这是拿三十年后的行业共识,降维打击八十年代萌新啊。】
【工业设计第一法则:能偷懒绝不硬算!】