:早餐鋪的像素臉------------------------------------------,鬧鐘響到第三遍的時候,蒼月終于把臉從枕頭里拔了出來。。灰蒙蒙的,像是隔了一層起霧的玻璃,但蒼月記得昨晚天氣預報說今天是晴天。他揉了揉眼睛,又看了一眼,光還是那種奇異的漫射質感,把整個房間染成了舊照片的色調。,洗漱,換衣服,出門。,樓層數(shù)字從"11"跳成"10"的過程里,電子屏閃了一下,非常短暫,大約只有二十分之一秒,但蒼月看見了。那個"9"的字體變過,筆畫更粗,邊緣有毛刺,像是某種低分辨率的手寫體。電梯停在八樓,一個抱著公文包的中年男人走進來,沖他點了點頭。蒼月點回去,余光瞥了一眼電梯面板——所有的數(shù)字都是正常的宋體,干凈,規(guī)整。。作為星河互娛的游戲測試員,蒼月對圖形渲染異常有職業(yè)性的敏感,他的工作就是把游戲里不協(xié)調的地方找出來,截圖,提交工單。這種敏感像一根繃緊的弦,有時候會彈到日常生活里去。上周他在超市看到一盒酸奶的包裝顏色偏了兩個色號,差點下意識地想按F12截圖。,風灌進領口。巷子盡頭的早餐鋪子已經忙開了,王嬸站在蒸籠后面,熱氣糊了她半張臉。她系著一條洗得發(fā)白的藍圍裙,腰板挺得很直,和過去三年每一個早晨一樣。蒼月走到攤前,照例要了兩個**一碗豆?jié){,掃碼付錢的時候,他的視線無意間掃過了王嬸的臉。。——從顴骨到下頜那一塊——像是被誰用低像素的圖片覆蓋過。皮膚表面的紋理消失了,取而代之的是一塊邊緣模糊的色塊拼接,大約三十二乘三十二的像素格,灰黃相間,中間那一格的亮度明顯高于周圍,像是高光點貼錯了位置。她笑著把包子遞過來的時候,那塊像素臉的嘴角動了一下,但"動"的節(jié)奏比她右臉慢了四分之一拍。"拿著呀,發(fā)什么呆呢?"王嬸又往前遞了遞。,指尖碰到了她的手背。溫熱的,真實的皮膚觸感。。,王嬸的臉完好無損,眼角有細紋,額頭上掛著一粒汗珠,普普通通的中年女性面孔。早上巷子里人來人往,賣煎餅的吆喝聲、電動車剎車聲、便利店開門時"歡迎光臨"的電子音混在一起,一切都正常得不能再正常。"……謝謝王嬸。"他說,拎著包子轉身走了。,停下來,回頭看了一眼。王嬸正低頭掀蒸籠蓋,白氣涌上來裹住了她的臉,那一瞬間,蒼月又看見了。她的后腦勺邊緣有一行極細的文字在滾動,大概是"tex_npc_face_02_v3"之類的路徑字符,滾動速度極快,一眨眼就消失了。"幻覺。"他對自己說。
蒼月今年二十六歲,上周剛做完年度體檢,視力5.0,血壓正常,精神狀況那一欄他自己勾了"良好"。熬夜是有的,一天三杯咖啡也是有的,但幻覺這種事兒從沒沾過邊。他咬了一口包子,熱燙的肉汁淌進嘴里,咸鮮真實,半點不像一個產生幻覺的人該嘗到的味道。
公司離他住的地方只有兩站地鐵。八點十五分,蒼月刷工牌進了星河互娛的辦公區(qū),十七層,整層樓都鋪著深灰色地毯,工位之間的隔板統(tǒng)一刷成了星河藍。他穿過走廊的時候碰到了前臺的小周,姑娘正對著化妝鏡補口紅,鏡子左下角映出了她身后的消防栓。
蒼月掃了一眼那面鏡子。
小周的臉很正常,但消防栓的玻璃門上貼著的"滅火器使用方法"圖示,那個正在拔插銷的小人,胳膊彎折的角度不太對。肘關節(jié)應該是弧線,它畫成了直角,像某種八位***里的角色。
他腳步頓了一下,小周抬頭沖他笑:"早啊,蒼月。"
"早。"
他走進測試組的大辦公室,在自己的工位坐下,打開電腦。桌面壁紙是公司最近主推的一款仙俠手游的宣傳圖,仙氣繚繞的瓊樓玉宇,御劍飛行的白袍修士,劍尖拖出的流光特效分鏡清晰,色階完美。蒼月盯著那張圖看了一會兒,總覺得瓊樓最頂層的瓦片排列方式有問題。他說不上來具體是什么問題,就是覺得……別扭。
工位對面的老趙探過頭來:"今天發(fā)版測試,服務器十點開,你先把上個版本的遺留*UG跑一遍。"
"行。"
老趙又把頭縮回去了。蒼月打開測試用例文檔,目光一行一行地掃過,敲鍵盤的手指流暢而機械。做到第三十七個用例的時候,他需要找隔壁組的小李確認一個接口邏輯,于是起身去了小李的工位。
小李坐在靠窗的位置,背對著他,正在看什么視頻,屏幕的光把后頸照得發(fā)白。蒼月拍了拍他的肩膀:"小李,問你個事兒。"
小李轉過頭來。
接下來三秒鐘里發(fā)生的事情,蒼月在很久以后還會反復回想,反復確認自己當時沒有看錯。小李的臉是正常的,五官都在該在的位置上,但他的瞳孔——兩個瞳孔里同時映出了兩套完全不同的畫面。左眼映著窗外街對面的麥當勞招牌,右眼映著一片灰綠色的草原,草原盡頭有一座傾斜的塔,塔尖戳進一片紫色的天空里。
然后,小李眨了眨眼。
兩個畫面同時消失了,變成了一對普通的、有點兒熬夜過度泛紅的眼珠。
"啥事?"小李問。
蒼月張了張嘴,喉結動了一下,把所有涌到嘴邊的問題咽了回去。他說:"……那個登錄接口的token過期邏輯,確認一下是刷新還是踢出。"
"刷新,文檔里寫了。"
"好的。"
他回到自己的工位,坐下來,掌心按在桌面上。桌子的觸感是硬的,涼的,指甲劃過能留下淺痕,和昨天、前天、過去幾百天里的觸感一模一樣。可他的大腦里有什么東西在高速運轉,像一顆滾燙的鐵球被丟進了冰水里——嘶啦一聲,所有以為牢固的東西都裂開了細紋。
他打開搜索引擎,在輸入框里敲了四個字:世界是游戲。
搜索結果返回了三千多萬條,大部分是科幻小說推薦、哲學討論帖、中二病論壇的熱門話題。他逐條翻了十幾頁,沒有任何一條的內容和他今天早晨看到的那些東西有關聯(lián)。他又搜了"人臉像素化""瞳孔雙畫面""現(xiàn)實貼圖錯誤"之類的詞,結果要么是視覺特效教程,要么是心理咨詢機構的廣告。
十點整,測試服開了。蒼月強迫自己進入工作狀態(tài),打開游戲客戶端,登錄,進副本,跑測試路徑。他操作角色的手很穩(wěn),畢竟是做了三年的老測試,肌肉記憶比大腦反應還快。但當他跑到第三個*OSS面前的過場動畫時,畫面卡住了。
卡住的方式不是普通的掉幀或加載卡頓。屏幕中間的*OSS模型保持著抬手的姿勢,但它背后的整個場景——包括墻壁、火把、掛毯——所有的紋理貼圖都從表面脫落了,一層一層地往下剝,像墻紙泡了水那樣卷曲、開裂、飄散。剝到最底下露出來的不是灰色的模型基底,而是一行一行密密麻麻的代碼在刷新,刷得極快,快到肉眼只能捕捉到斷斷續(xù)續(xù)的字符碎片。
if (event.trigger == "*oss_encounter") { spawn("*oss_demon_lord_v2"); play_cutscene("intro_*oss_03"); set_flag("encountered_*oss", true); }
蒼月盯著屏幕,嘴唇發(fā)干。
然后他聽到一聲響。很輕,從隔壁工位傳來的,啪嗒一聲,像是誰的杯子倒了。他轉頭去看,看見老趙正低頭撿掉在地上的筆,老趙的頭頂有一小塊區(qū)域的頭發(fā)變成了半透明的,發(fā)絲一根一根地懸浮著,穿過那一小塊半透明區(qū)域能看到老趙自己座椅靠背的深藍色布料。
老趙直起身,頭頂恢復了原狀。
"蒼月,"老趙忽然叫他,"你臉色不太好啊,昨晚沒睡?"
蒼月的指尖在鍵盤上微微顫抖。他深吸一口氣,開口時聲音還算穩(wěn):"沒事,可能低血糖。"
他低下頭,假裝繼續(xù)看測試用例。桌面上擺著他早上從早餐鋪帶回來的那個塑料袋,包子已經吃完了,袋子揉成一團。他伸手去夠那個紙團打算丟掉,指尖碰到紙團邊緣的一瞬間,紙團上的褶皺忽然自動展開——不是被風吹開的,是"展開"本身變成了一段循環(huán)播放的動畫,折痕一條一條地重新拉平,折回去,再拉平,折回去,播放速度越來越快,最后快到紙團在桌面上嗡鳴震動起來。
蒼月猛地縮回手。
紙團停了,安安靜靜地躺在那兒,像一個普通的、無辜的垃圾。
他盯著那個紙團看了整整三十秒。
三十秒后,蒼月關掉了測試文檔,打開了桌面上一個叫"*ugReporter"的工單提交工具。他新建了一條工單,標題欄輸入了"個人異常現(xiàn)象記錄——第1條",正文里寫了今天的日期、時間、地點,然后把早上到現(xiàn)在他看到的每一件不對勁的事情打了進去。
寫到"王嬸左臉像素化""小李瞳孔雙畫面""老趙頭頂透明""紙團循環(huán)動畫"這四行的時候,他的手頓了一下。
就在這一瞬間,辦公室天花板上的日光燈管閃了三下。
不是普通的電壓不穩(wěn)。閃第一下的時候,燈**的光變成了紫色。閃第二下的時候,整個房間的溫度驟降了大約五度,蒼月的胳膊上浮起一層雞皮疙瘩。閃第三下的同時,他電腦屏幕的右下角彈出了一個從未見過的系統(tǒng)對話框。對話框的邊框是紅色的,**是全黑,正中央只有一行白字。
警告:錯誤溢出閾值已達37.8%。自檢程序喚醒中……
那行字停留了兩秒。
然后對話框消失了。日光燈恢復了正常的白色,溫度回升,隔壁座位的女同事在打電話訂午飯,聲音清脆自然。一切就像什么都沒有發(fā)生過。
蒼月低頭看了一眼自己剛才打出的那幾行記錄。
屏幕光標在**行的末尾一閃一閃。
他把"自檢程序喚醒中"這七個字打進了工單的正文里,光標停在最后一個字后面很久,很久。
然后他抬起頭,看向窗外。灰蒙蒙的天光還是那種舊照片似的質感,但這次他仔細看了——云層邊緣有一圈極細的鋸齒,像是摳圖沒摳干凈留下的白邊,連綿地鋪滿了整個天空。
蒼月終于確認了一件事。
這個世界——他從小到大生活了二十六年的、理所當然地真實著的這個世界——確實出了什么問題。
他在一個游戲里面。
或者更準確地說,他活在一個游戲里面。而這個游戲,正在一點一點地壞掉。