帝都的風雪還沒停。


    林希拍掉肩頭的雪,推開738廠臨時研發室的木門。


    研發室原先是個雜物間。


    六個煤球爐子燒得通紅,屋裏熱氣撲麵。


    十幾名年輕人擠在裏麵,汗味、煤煙味、焊錫味混在一起,嗆得人嗓子發緊。


    人群中央,一台14寸彩電擺在鋪著綠呢子的工作台上。


    屏幕上色塊閃爍。


    旁邊裸露的pcb板上,飛線密密麻麻,像蜘蛛織了半張網。


    “動了動了!”


    “右邊那台坦克出來了!”


    “往左打!”


    “快開炮!”


    滿屋子的大學生拍著桌子大呼小叫,跟打仗似的。


    看到林希進門,領頭的平頭青年趕緊擠出來。


    他黑眼圈重得像挨了兩拳,可眼睛亮得嚇人。


    這是燕大計算機係的尖子生,李建新。


    “林總!”


    他遞過來一個長方形硬塑料手柄。


    這是林希托華閏特意從櫻花國買回來的。


    李建新聲音裏壓著興奮:


    “咱們花了一個禮拜,把《坦克大戰》的底子敲出來了。”


    “您給掌掌眼!”


    林希脫下大衣,沒客套。


    他直接拉開折疊椅坐下,接過手柄。


    腦海裏,彈幕已經開始飄了。


    【臥槽這畫麵……說是坦克大戰,我真沒認出來。】


    【這畫麵,有點抽象啊!】


    【別鬧,83年的8位機能有畫麵就不錯了,你還想要虛幻5?】


    【重點是這幫人一個禮拜就把雛形敲出來了!83年的大學生什麽含金量啊!】


    林希沒說話,大拇指按在方向鍵上。


    屏幕上,由黃色方塊拚成的粗糙坦克開始移動。


    他往前推。


    坦克動了。


    猛地鬆手。


    坦克卻像在冰麵上踩刹車,又往前滑了半個身位才停下。


    林希調轉車頭,試圖貼著屏幕邊緣的磚牆走。


    坦克剛蹭到牆皮,畫麵猛地一頓。


    方向鍵失靈。


    屏幕足足凍了兩秒。


    下一刻,坦克在原地抽搐了幾下,竟然彈到了牆的另一邊。


    林希又連按兩下開火鍵。


    “啵——啵——”


    電視喇叭裏傳出沉悶的電子音。


    一個白色小點慢悠悠飄出去,打在土牆上。


    停了半秒。


    牆才缺了一塊。


    沒有爆炸,沒有火花,小點就這麽沒了。


    屋裏安靜了三秒。


    腦海裏彈幕瞬間炸了。


    【好家夥,這祖傳畫質,包漿都盤出來了。】


    【這手感看著都急,坦克擱這溜冰呢?】


    【貼牆卡死,開炮延遲。賣北美能被雅達利玩家罵到退錢。】


    【這不是坦克大戰,這是坦克散步。】


    林希放下手柄。


    研發室裏的熱鬧勁兒,肉眼可見地矮了半截。


    他轉頭看向李建新:


    “說說,問題在哪。”


    李建新臉一下漲紅了。


    他快步走到黑板前,拿粉筆敲著流程圖,語速很快:


    “林總,真不是代碼糙。”


    “是這塊8位芯片算力太低。”


    “主要問題在碰撞判定。”


    “我們現在是逐像素掃描。”


    “坦克每走一步,就拿它覆蓋的256個像素點,跟周圍障礙物逐一比對。”


    “z80主頻隻有3.5兆赫茲。”


    “一秒要刷新六十次畫麵,還得算敵方坦克。”


    “運算量一上來,幀率直接掉到個位數。”


    他攥著手裏的方格紙,聲音裏透著不甘:


    “我試過降低判定頻率,四幀算一次。”


    “結果坦克直接穿牆。”


    “貼牆卡死,也是因為算力被吃滿了。”


    “這是物理算力極限,真沒法改了。”


    旁邊幾個學生跟著點頭。


    在他們的認知裏,模型越完整,邏輯越嚴謹。


    至於機器跑不跑得動?


    那當然是機器的問題。


    林希看著黑板上密密麻麻的算法草稿。


    思路清晰。


    也確實嚴謹。


    但嚴謹不等於好用。


    在課本上,這是標準答案。


    在工程裏,這是拿榔頭擰螺絲。


    “讓開。”


    李建新愣了一下,下意識讓開半步。


    林希掃了一眼代碼筆記,坐到開發機前。


    “你們的思路沒問題。”


    “但代碼不是這麽寫的。”


    他拿起粉筆,在黑板上畫了個不規則的坦克輪廓。


    “你們現在算每一個像素。”


    “可玩家看不到像素。”


    說著,他幹脆利落地在坦克外麵畫了一個長方形方框。


    “給每個物體包一個看不見的矩形邊界。”


    “在電腦裏,它就是四個數。”


    “x1,y1,x2,y2。”


    “牆壁也一樣。”


    林希用粉筆敲了敲黑板:


    “判定碰撞時,不比像素。”


    “隻比這四個坐標。”


    “x軸有沒有重疊?”


    “y軸有沒有重疊?”


    “都有,就是撞了。”


    “兩次比較,一次加減,完事。”


    “這叫碰撞箱。”


    屋子裏瞬間靜了。


    李建新半張著嘴。


    腦子裏像被人敲了一錘。


    不用算幾百個像素?


    隻算四個坐標?


    “兩次?”


    他聲音有點發幹。


    林希看他一眼。


    “兩次。”


    他轉回身,雙手壓上鍵盤。


    每一下敲擊,都像敲在李建新的心口上。


    屏幕上,幾百行臃腫的像素判定代碼被刪掉。


    匯編指令一行行跳出來。


    ……


    林希沒有重寫全部程序。


    他隻把最吃算力的核心判定剜了出來,換成一段幹淨到近乎寒酸的邏輯。


    不到兩分鍾。


    核心邏輯十七行。


    連注釋都沒寫。


    “編譯,運行。”


    林希按下回車,把手柄丟給李建新。


    畫麵刷新。


    李建新咽了口唾沫,大拇指按下方向鍵。


    坦克啟動。


    沒有延遲。


    鬆手。


    穩穩停住。


    一毫米都沒多滑。


    他死死貼住磚牆往上推搖杆。


    黃色坦克順著牆根往上走,絲滑得像抹了油。


    不卡頓。


    不穿牆。


    他猛按開炮鍵。


    “砰砰砰!”


    三發炮彈幾乎沒有延遲,幹淨利落地砸穿磚牆。


    監控數據上,算力占用瞬間降了三成。


    李建新僵在原地。


    周圍幾個學生看看屏幕,又看看黑板上的方框。


    沒人說話。


    困擾他們五天五夜的“物理極限”,被四個坐標點幹碎了。


    直播間彈幕滾動起來:


    【我去,碰撞箱!aabb碰撞箱!】


    【這玩意兒後世是遊戲引擎第一課,但在83年……他們連遊戲引擎都沒聽過。】


    【主播這是拿三十年後的行業共識,降維打擊八十年代萌新啊。】


    【工業設計第一法則:能偷懶絕不硬算!】

章節目錄

閱讀記錄

直播1980:網友教我手搓火箭所有內容均來自互聯網,飄天文學隻為原作者靈台三心的小說進行宣傳。歡迎各位書友支持靈台三心並收藏直播1980:網友教我手搓火箭最新章節