第四天下午,梁永琪正跟方晴面對面坐著,倆人中間隔著一台筆記本電腦的屏幕,屏幕上開著測試反饋匯總的電子表格,方晴拿手指戳著屏幕說「這條你歸到UI類還是功能類」,梁永琪正歪著頭看那行字,走廊盡頭突然傳來一聲悶響。
那個聲音聽著像什麼東西被用力擱在桌面上,力道大到實木桌面跟著震了一下,震得走廊牆壁都跟著嗡了一小聲。
梁永琪抬頭往那個方向看過去,看到走廊盡頭李軒辦公室那扇門開著一條縫。
她把椅子往後一推站起來,椅子腿在地上刮出「滋啦」一聲。
她走到門口的時候門縫大了些,李軒坐在那台主控機前面,兩隻手撐在桌面上,身體微微弓著,脊背繃著一條弧線,兩隻眼睛死死釘在屏幕上。
顯示器上開著遊戲測試客戶端的畫面,他的角色站在一個穿著灰袍子的NPC旁邊,NPC腦袋上頂著一個「倉庫管理員」的白色標籤。
倉庫界面是打開的,物品欄裡面整整齊齊碼著幾件裝備,排成三行兩列。
「出事了。」李軒說。
他那個聲音低得跟從喉嚨底下擠出來似的,沒什麼起伏,但那種平底下壓著東西,像一口氣吞到肺里沒呼出來。
梁永琪走進去,站在他椅子後頭,彎腰湊近屏幕。
倉庫界面的物品欄里有一行顯示的是「羅剎」後面跟著一個「x4」。
她盯著那個「x4」看了足足一秒,腦袋裡那根弦「嘣」地緊了一下。
她記得那件東西。
昨天測試日誌里有人提到過,打一個頭目怪掉了一把十八級的武器,測試帳號里只配了一把,全服就那一把。
「怎麼來的?」她問。
李軒沒接話。
他操縱角色關掉倉庫界面,退出遊戲回到登錄界面,重新輸入用戶名和密碼,登錄,再打開倉庫。
界面刷新之後物品欄里那行「羅剎」變成了「x5」。
滑鼠被他扔在桌面上,線拽了一下彈起來又落下去,彈了兩下才停。
「倉庫界面的同步邏輯有一個漏洞。
如果玩家在打開倉庫的瞬間斷線重連,伺服器那邊沒有正確識別物品的歸屬狀態,它會以為倉庫里的這些東西還沒人認領,就重新下發一份。
下線一次多一份,下線一次多一份。」他把椅子轉過來面對梁永琪,眼眶紅得像兔子,眼白上那些血絲密得跟蛛網似的。
「這個漏洞如果公測的時候被玩家發現,遊戲的經濟系統一天之內就廢了,所有物品全貶值,物價全崩。」他頓了一下,嗓子像被什麼東西黏住了,咽了口唾沫才又接上,「這個代碼是我昨天凌晨兩點合進去的。
是我沒有做邊界測試就上了。」
梁永琪站在他辦公桌前面,手指頭搭在椅背的橫槓上,指節攥得發白。
她沒說話,低頭沉默了一會兒,掏出手機轉身走出了辦公室。
走廊里沒人,她走到最盡頭靠著窗戶那面牆,按了陳浩的號碼。
電話響了兩聲就被接起來了,對面傳來的聲音帶著一點午後午睡剛醒那種鼻音,不重,聽起來有點懶。
「餵?」
「浩哥,出了個Bug。」梁永琪把手機貼緊耳朵,聲音儘量壓平了說,但語速比平時快了一截,連她自己都聽出來了。
「倉庫界面有個複製物品的漏洞,玩家在線和下線之間的狀態同步沒做好,每次重新登錄倉庫里多一份東西出來。
李軒說是他自己昨天合進去的代碼,沒有做邊界測試就上了。
目前測試階段只有我們內部二十個人在玩,但是這個東西如果放出去了……」
電話那頭安靜了三秒,然後陳浩的聲音重新響起來,語速不快,但每個字之間都留了乾淨的間隙,聽著比剛才清醒了不少:「先停服。
把伺服器關掉,不要讓任何人再登錄。」
「已經在關了。」梁永琪往李軒辦公室的方向看了一眼,「李軒剛才已經把內網訪問切斷了。」
「全員通宵排查。」陳浩說這句話的時候語氣沒有商量餘地,但也不沖,像在陳述一個已經定下來的事實。
「李軒自己寫的代碼,他最清楚那段邏輯的結構。
你讓他把倉庫功能從主幹代碼里剝離出來單獨跑本地測試,從狀態機最底層開始逐幀過。
排查期間其他人別閒著,讓他們干別的活,寫文檔也行修UI也行填素材也行,別讓所有人乾巴巴坐那兒等。」
他那邊停了一下,梁永琪聽見電話那頭傳來一個紙頁翻動的聲音,像他把什麼文件合上了。
「你在那邊,」他接著說,「給他們訂夜宵。
通宵幹活最怕的就是餓和冷,你這兩件事解決了,他們心裡就有底了。
士氣比技術重要,技術問題早晚能修好,士氣散了難聚。」
梁永琪攥著手機的手微微鬆了一點。
她把後腦勺靠到走廊牆上,牆壁有點涼,貼著那一片頭皮她深吸了一口氣,慢慢吐出來。
「那你明天能過來看看嗎?這邊人有點慌……」
「我明天白天排了戲,走不開。」陳浩的聲音在電話里停頓了一下,「你那個道士號練到幾級了?」
梁永琪愣了一下,沒想到他這時候問這個。
「五級。」
「別急著練了,等修復完了我遠程教你走位。」他說這句話的時候語氣明顯鬆了一些,尾音帶著一點往上挑的弧度,像嘴角那邊掛著個看不見的笑。
「你砍怪那個習慣不行,老站定了才出手,這是錯的。
戰士起手要墊步,道士起手要側滑,具體怎麼走回頭我跟你講。」
梁永琪嘴角彎了一下,弧度不大,但她感覺到自己那根一直繃著的弦被什麼軟乎乎的東西接住了一頭,沒斷,就是沒那麼緊了。
「知道了。
掛了。」
她掛了電話,走回李軒辦公室門口。
李軒已經把主控機那台顯示器轉了個方向,屏幕朝著他自己,鍵盤擱在大腿上,正一行一行往下翻代碼。
他旁邊坐著那個背黑包的男生,倆人一人對著一塊屏幕,中間隔了一台主機的機箱,誰都沒說話,只有鍵盤敲擊聲和滑鼠點擊聲來回交替地響。
梁永琪走到門口朝外面那個大工位喊了一聲:「所有人,今晚加班通宵排查,飯我負責。
誰要吃什麼現在跟我說,我打電話訂。」她嗓門不小,整個工位區的人全抬起頭來。
陳遠航第一個舉起手,聲音裡面帶著一股子興奮勁兒,跟要上戰場似的:「給我來份紅燒肉蓋飯,要大份的,再加個蛋!」角落裡那個短髮的美術組女生也跟著抬了抬手,聲音小一點:「我要份素的行嗎,隨便什麼素,不要肉。」接著陸陸續續又站起來七八個人,報菜名的報菜名,說隨便的也說隨便,梁永琪站在門口一個一個記,記滿了手機備忘錄一頁,然後走到走廊那頭那部公共電話跟前撥了外面那家開到半夜的小飯館的號碼。
那天晚上辦公室的燈一盞都沒關過。
從晚上八點到第二天凌晨,李軒和那個黑包男生幾乎沒有從那兩台機器前面挪開過屁股,連水都忘了喝,桌角擱著的兩杯茶從熱的放成涼的,從涼的放到水面上浮了一層灰。
凌晨兩點過了一刻鐘,李軒忽然停了手,光標停在屏幕上某一行代碼上,他用指頭戳著屏幕說了一句「問題在這」。
旁邊那個黑包男生湊過去看了大概五分鐘,兩個人頭挨著頭,一個指一個看,然後分頭開始改那段狀態機的切換邏輯,一個改前段一個改後段,鍵盤聲突然密了起來,像下雹子似的。
凌晨四點半,李軒在本地環境裡跑了一遍修復完的倉庫功能,連續上了又下下了又上,來回十五次,倉庫物品數量沒變過。
他又跑了一遍,二十次,還是沒變。
凌晨六點十分,李軒從椅子上站起來,兩條腿估計是麻了,站起來的動作晃了一下,扶了一下桌角才站穩。
本地環境已經過完測試了。
我歇半小時,醒了重新搭一版伺服器,你們先睡。」
沒人歡呼也沒人鼓掌。
陳遠航趴在桌面上腦袋埋進胳膊里,發出一聲含混的「嗯」,悶在喉嚨底下的那種,聽著像整個人從繃著的狀態一下子塌下去了。
方晴趴在電腦旁邊,手機屏幕還亮著,備忘錄停在最後一頁,上面打了一行字「明天九點通知所有人測試重新開放」,光標在最後一個字後面一閃一閃的。
那個短髮美術組的女生歪在椅子上,後腦勺靠著椅背,嘴角掛著一道幹掉的油印子,不知道是什麼時候吃東西蹭上去的。
梁永琪沒睡。
她坐在自己那台機器前面,屏幕上「琪琪」停在城外一塊安全區里,周圍沒人沒怪,安安靜靜站著。
那個用像素塊拼出來的道姑角色左手捏著一張黃色的符紙,右手握著那把桃木劍,衣擺的像素塊是淺灰偏白的,肩膀上有兩道深藍色的滾邊。
梁永琪看了她好一會兒,然後伸手把屏幕摁滅了。
三十六小時之後梁永琪回到陳園那棟樓門口的時候,臉色白得幾乎是透明的,顴骨那兒帶著一層從皮膚底下透出來的灰,嘴唇的顏色也淺。
她進門的時候步子不太穩,抬腿邁樓梯那一下膝蓋彎了一下才直起來,手扶著扶手一節一節往上走。
推開書房門的時候陳浩已經從書桌後頭站起來了,他看了她一眼什麼都沒問,走過來握住她手腕帶著她轉身往外走。
她手是涼的,他手心是熱的,那點熱從腕骨那兒慢慢往她胳膊上爬。
她被他拉著下了樓穿過門廳進了餐廳。
餐廳的燈開著,桌上放著一隻白瓷碗,碗裡的湯麵還冒著熱氣,湯色清亮,浮著幾片蔥花和撕成細絲的雞胸肉。
筷子擱在碗旁邊,底下壓了一塊杯墊。
梁永琪在餐桌前面坐下,拿起筷子挑了一筷子面,對著碗吹了兩下,送進嘴裡。
面是熱透的,湯里的雞絲煮得剛好,軟的不柴。
她吃了一口又吃了一口,然後端起碗來喝了一口湯,放下碗的時候長長吐了一口氣,那口氣從肺底一直吐到喉嚨,用了好幾秒才吐乾淨。
陳浩坐在她對面,手裡拿著她的手機,屏幕亮著,顯示著一串未讀消息列表。
他大拇指點開了一條新消息,掃了一眼內容,然後在輸入框裡打了幾個字,發送,又點開下一條。
他操作的時候低著頭,目光落在屏幕上,嘴唇微微抿著,像在料理一件很普通的事,普通到不需要費神琢磨。
檯燈光從他側面照過來,睫毛在顴骨上方投了一道淺淡的影子,隨著眨眼微微動了一下。
梁永琪看著他側臉,筷子停在半空。
她看見他回了方晴那條消息,內容是「修復已確認,明天恢復正常測試」。
又看見他回了李軒那條技術問詢,內容是「本地環境驗證通過再上線,別急著部署正式服」。
每條回復都不長,語氣平穩用詞到位。
她沒說話,把那口面咽下去,低頭又夾了一筷子,慢慢嚼。
湯的熱氣從碗裡升起來撲在她下巴和嘴唇上,暖的,把她臉上那層熬夜後留下的冷白化開了一點。
餐廳里掛鍾在走,秒針一格一格跳,每跳一下發一聲細微的咔嗒。
陳浩把手機翻了個面扣在桌面上,抬起頭看著她。
目光從她眉眼滑到她嘴角,又滑到她握著筷子的手背上那根凸起來的骨節,停在那兒看了看。
「吃完了去睡。」他說,「明天上午不用想工作的事。」
梁永琪把最後一口麵湯喝乾淨,空碗推回桌面中間。
她看著對面的他,看著他那張在這盞燈下面顯得格外靜的側臉,看了很久,久到她自己也說不上來到底多久。
「嗯。」她說。
【跪求禮物,免費的為愛發電也行!】