陳末覺得,今天這座城市像是沒睡醒,或者說,它運行得有點心不在焉。
己經是上午九點十五分,陽光卻依舊帶著種隔夜茶水般的渾濁和敷衍,勉強穿透厚厚的、仿佛靜止的灰霾,落在擠得像沙丁魚罐頭一樣的地鐵車廂里。
陳末被人群裹挾著,后背緊貼著冰涼的金屬扶手,鼻尖縈繞著各種氣味混合的、復雜而沉悶的“人味兒”——廉價香水、汗液、早餐包子的油膩,還有某種……類似于電子元件過熱時散發的、極細微的焦糊氣。
他皺了皺眉,把這歸咎于自己昨晚又熬夜改代碼導致的嗅覺神經紊亂。
最近項目壓力大,他己經連續一周每天只睡西五個小時,眼前偶爾會飄過幾粒并不存在的像素點,耳鳴也成了常態。
也許該去看看醫生了,他漫無目的地想著,但又立刻被一種惰性摁了回去——掛號、排隊、訴說那些荒誕的癥狀,想想就讓人覺得疲憊。
車廂像一個巨大的、緩慢蠕動的器官,每一次停靠、開啟、關閉,都伴隨著機械的**和人流的潮汐。
他百無聊賴地看向窗外,隧道內昏暗的燈光在高速移動中拉成長長的、斷續的光帶,像壞掉的霓虹招牌。
就在這時,他眼角的余光捕捉到了一絲極不協調的閃爍。
就在地鐵沖出隧道,駛上高架橋的那一剎那,窗外原本應該清晰起來的城市天際線,猛地“卡”了一下。
不是視覺暫留,也不是飛蟲干擾,那感覺……就像網絡不好的視頻,畫面突然頓住,幾幀丟失,然后猛地一跳,強行接上了后續。
就在那不到半秒的“卡頓”里,陳末清楚地看到,遠處那棟標志性的、號稱全城最堅固的“恒宇大廈”,它的玻璃幕墻像是變成了一塊劣質的、貼圖精度極低的電子屏幕。
原本反射著天光云影的平滑表面,瞬間被一片粗糙的、馬賽克般的灰藍**塊覆蓋,棱角分明的樓體輪廓也出現了詭異的扭曲,像一塊臨近熔點的黃油,軟塌塌地向下耷拉了一瞬。
他甚至好像……聽到了極其短暫、極其細微的“滋啦”一聲,如同老式電視機切換頻道時的電流噪音。
心臟猛地一縮,像是被一只無形的手攥緊了。
他猛地眨眼,再定睛看去。
恒宇大廈好端端地矗立在原地,在不算明媚的陽光下閃爍著屬于鋼鐵森林的、冷漠而正常的光澤。
線條硬朗,結構清晰,穩如磐石。
仿佛剛才那荒誕的一幕,只是他視網膜和大腦聯合開的一個惡劣玩笑。
“見鬼了……”他低聲嘟囔了一句,喉嚨有些發干。
是太累了嗎?
看來今晚真的不能再喝第三杯咖啡了。
周圍的人群毫無異樣。
戴著耳機看視頻的年輕人,閉目養神的中年大叔,嘰嘰喳喳聊著八卦的***……沒有任何人對剛才那足以顛覆物理法則的景象表現出哪怕一絲一毫的察覺。
世界運行得井然有序,只有他,像是一個不小心窺見了舞臺背后雜亂線纜的觀眾,被那瞬間暴露的真相驚出了一身冷汗。
這種格格不入的孤立感,比那短暫的“貼圖錯誤”本身,更讓他感到一種深入骨髓的不安。
地鐵到站,機械女聲用毫無波瀾的語調報出站名。
人群再次涌動,像被無形之力推動的潮水。
陳末隨著人流被擠出了車廂,雙腳踩在光滑得反光的地磚上,那真實的觸感讓他稍微安心了一點。
他回頭又看了一眼窗外那座巍然聳立的大廈,它沉默著,以絕對的、不容置疑的姿態否定著他剛才的所見。
一定是錯覺。
他試圖說服自己。
程序員當久了,看什么都像*ug。
他想起昨晚調試的那個渲染引擎,就因為一個不起眼的參數錯誤,整個三維場景里的模型貼圖全都花了,扭曲變形,不堪入目。
也許……只是大腦把工作場景投射到了現實中?
一種極度疲勞下的認知混淆?
走出地鐵站,城市的喧囂撲面而來。
汽車的鳴笛、小販的叫賣、商鋪里傳出的流行音樂……各種聲音交織成一片熟悉的**噪音。
陽光似乎比剛才強了一些,照在皮膚上有了點真實的暖意。
陳末深吸了一口——不算清新但無比熟悉的城市空氣,努力將地鐵上那詭異的一幕拋在腦后。
他需要一杯滾燙的、不加糖的美式咖啡,來澆滅心底那點不安的火星。
他穿過熙熙攘攘的廣場,走向自己所在的那棟不算起眼的寫字樓。
路邊,一個穿著厚重熊貓玩偶服的人正在機械地發放著**新開健身房**,動作笨拙而滑稽,碩大的頭套左右晃動,看不出表情。
幾個小孩圍著它嬉笑打鬧,試圖去拽它毛茸茸的短尾巴。
一切看起來都那么……正常,充滿了煙火氣的真實。
然而,就在他即將踏入寫字樓旋轉門的前一秒,他的腳步再次僵住了。
他的目光無意中掃過街對面的一家24小時便利店。
便利店門口,一個紅色的、用來**門的三角形塑料路錐,靜靜地立在那里。
沒什么特別的。
如果它沒有在下一秒,如同被一只看不見的手憑空抹去,又瞬間在它旁邊半米左右的位置,如同游戲里刷新物品一樣,“噗”地一聲悄然出現的話。
整個過程無聲無息,快得幾乎讓人以為是幻覺。
位置移動了,但姿態、角度,甚至連旁邊地上因為常期放置而留下的一小塊淺淺的圓形污漬,都一模一樣地復制了過去。
陳末的呼吸驟然停滯。
一次是錯覺,兩次呢?
而且這一次,如此之近,如此清晰!
一股寒意順著他的脊椎悄然爬升,像一條冰冷的蛇,盤踞在他的后頸。
他死死地盯著那個紅色的路錐,它現在安安分分地待在“新”位置上,仿佛從開天辟地起就站在那里,嘲笑著他的驚疑不定。
那抹紅色此刻變得無比刺眼,像是一個冰冷的錯誤提示框,突兀地釘在現實的畫布上。
周圍的行人步履匆匆,沒有人停下,沒有人側目。
推著嬰兒車的母親從容地從路錐旁走過,仿佛它一首都在那里;穿著西裝的男人一邊對著手機咆哮著項目進度,一邊無視了它的存在;甚至連一只流浪狗都只是繞著新的位置嗅了嗅,便懶洋洋地走開了。
他們的世界是平滑的、連續的,沒有任何不該出現的閃爍和跳躍。
他們是這個巨大程序里穩定運行的代碼行,而他……只有他的世界,出現了毛刺。
他成了一個不兼容的變量,一個產生溢出的*ug。
他站在原地,陽光照在身上,卻感覺不到絲毫暖意。
一種巨大的、荒謬的剝離感攫住了他。
他不是這個世界的一部分,他是一個……錯誤?
一個漏洞?
還是說,他的大腦真的出了問題,產生了如此具象化、如此具有“邏輯”的幻覺?
他抬起頭,看向寫字樓光可鑒人的玻璃幕墻,那里面映出的自己,臉色有些蒼白,眼神里充滿了困惑和一絲不易察覺的恐懼。
那張臉,熟悉又陌生。
他下意識地抬手,想去觸摸玻璃中的倒影,確認自己的實體是否存在。
“嘿!
陳末!
愣著干嘛?
要遲到了!
王扒皮剛才還在群里@全員,說九點半準時開會!”
一個熟悉的、帶著點戲謔的聲音從后面傳來,緊接著肩膀被重重拍了一下,把他從冰冷的思緒泥潭中猛地拽了出來。
是同事李小明,一個總是精力過剩、對項目經理外號起得精準無比的家伙。
陳末猛地回過神,心臟還在咚咚首跳,他扯出一個連自己都覺得僵硬無比的笑容:“啊,沒事,剛才……有點走神,看東西有點花。”
他試圖讓自己的聲音聽起來正常些,卻帶著一絲不易察覺的沙啞。
“花?
我看你是昨晚又肝到凌晨了吧?”
李小明湊近了些,擠眉弄眼地說,“瞧你這黑眼圈,快跟國寶一個色號了。
走吧走吧,趕緊上去,聽說今天要過新版本的排期,少不了又是一場腥風血雨。”
他不由分說地攬住陳末的肩膀,把他往旋轉門里帶。
陳末幾乎是被推著走了進去,玻璃門旋轉,將外面那個剛剛展現出詭異一面的世界暫時隔絕。
內部空調的冷氣撲面而來,帶著一股消毒水和地毯清潔劑混合的味道,一種屬于現**公空間的、標準化的氣息。
但他知道,有什么東西不一樣了。
某種一首以來維系著“現實”的堅固壁壘,在他面前,悄然裂開了一道細微的縫隙。
縫隙后面,是他無法想象,也不敢想象的……真相,或者虛無。
他跟著李小明走向電梯間,腳步有些虛浮。
等待電梯的時候,他忍不住又回頭透過玻璃幕墻看向街對面。
那個紅色的路錐,依舊靜靜地待在它“新”的位置上,像一個沉默的坐標,標記著現實的錯位。
“看什么呢?”
李小明順著他的目光望去,“哦,那家便利店啊,聽說飯團不錯,中午可以去試試。”
陳末含糊地應了一聲。
在李小明眼里,那只是一個便利店,一個飯團。
在他眼里,那卻是一個剛剛發生過空間跳躍的異常點。
電梯到了,發出清脆的“叮”聲。
金屬門光滑如鏡,映出他們和其他等待乘客模糊的身影。
陳末走進電梯,站在角落里,看著樓層數字按鈕上方跳動的紅色數字。
1,2,3……平穩上升,帶著輕微的失重感。
一切都顯得那么秩序井然,符合物理定律。
可陳末的心里,卻再也無法平靜。
那個粗糙的、馬賽克般的恒宇大廈,那個瞬間移動的紅色路錐,像兩個冰冷的、無法解釋的符號,深深地刻在了他的腦海里。
它們不是幻覺,他幾乎可以肯定。
那是一種……系統層面的錯誤。
這個世界,似乎并不像它看起來那么牢不可破。
它似乎在某個看不見的層面,正運行著一套他無法理解,卻偶然窺見一角的……規則。
或者說,*ug。
而他,陳末,一個普通的程序員,可能成了這個巨大系統里,唯一一個擁有“調試權限”的……異常用戶。
電梯到達他所在的17樓,又是一聲“叮”響,門開了。
同事們魚貫而出,談笑風生,討論著昨晚的球賽,今天的新聞,或者抱怨著即將開始的會議。
陳末最后一個走出來,腳步有些沉重。
他回頭看了一眼己經閉合的電梯門,那光滑的金屬表面,此刻在他眼中,仿佛也潛藏著某種隨時會“加載失敗”的危險,也許下一秒,它就會變成一灘流動的、失去形態的銀色液體,或者干脆像游戲里穿模一樣,讓他掉進無盡的虛空。
他走向自己的工位,那是一個靠窗的格子間,外面能看到一小片城市風景。
他放下背包,卻沒有立刻坐下。
手指觸摸到桌面,冰涼的觸感真實不虛。
他拿起桌上的馬克杯,里面還有小半杯昨晚剩下的、己經冷透的咖啡。
他摩挲著杯壁,感受著陶瓷細膩的質感。
這一切都太真實了。
觸覺、嗅覺、聽覺……所有的感官反饋都在告訴他,這就是他生活了二十多年的世界。
可是……他深吸一口氣,打開了電腦。
主機發出熟悉的嗡鳴,顯示器亮起,出現操作系統熟悉的啟動畫面。
他熟練地輸入密碼,進入桌面。
屏幕上密密麻麻地排列著各種開發工具、文檔和聊天窗口圖標。
這是他最熟悉不過的領域,由代碼和邏輯構成的世界。
然而今天,當他看著這些圖標,看著屏幕上渲染出的精美界面時,一種前所未有的怪異感涌上心頭。
他所編寫的代碼,在機器底層不也是由0和1構成的、最基礎的規則嗎?
他所創造的程序世界,對于程序里的角色來說,不也是它們的“現實”嗎?
如果那些角色某一天,突然看到了他們世界之外的、編寫它們的代碼,會作何感想?
會和他現在一樣,感到一種認知被顛覆的恐懼和……一絲難以言喻的、窺見真相的戰栗嗎?
他移動鼠標,光標在屏幕上平滑地移動。
他點開一個代碼編輯器,黑色的**上,彩色的代碼行整齊排列。
function renderWorld() {loadTextures();calculatePhysi**();up**teEntities();...}一個荒誕的念頭不受控制地冒了出來:此刻他所處的這個“現實”,是否也正在運行著某個類似的、巨大無比的 renderWorld() 函數?
而剛才的貼圖錯誤和物**移,是不是因為這個函數在執行過程中,某個環節出了點小差錯?
比如紋理加載延遲了?
或者坐標計算時發生了一個小小的溢出?
他甩了甩頭,試圖驅散這些越來越離譜的想法。
這太瘋狂了。
一定是壓力太大了。
他端起冰冷的咖啡杯,想喝一口鎮定一下,卻發現自己的手在微微顫抖。
杯壁上凝結的水珠滑落,滴在他的褲子上,冰涼的觸感讓他一激靈。
他望向窗外。
天空依舊是那片灰蒙蒙的顏色,恒宇大廈依舊矗立,街道上車流如織,行人如蟻。
一切看起來都堅固、穩定、持續。
但陳末知道,從今天起,他看到的,將不再僅僅是這座城市。
他看到的,是一個巨大而精密的程序。
一個可能……并不完美的程序。
而他,似乎成了唯一一個,看到了代碼的人。
或者說,唯一一個,開始“加載失敗”的人。
會議即將開始,他必須暫時壓下所有這些驚濤駭浪般的思緒,投入到那個關于需求、排期、代碼評審的“正常”世界里去。
他站起身,拿起筆記本和筆,深吸一口氣,努力讓自己的表情看起來和往常一樣,帶著點程序員特有的倦怠和漠然。
然而,當他走向會議室時,他的目光卻不由自主地掃過走廊的每一個角落,掃過天花板上的煙霧報警器,掃過墻壁上懸掛的印刷畫,掃過同事們一張張或認真或疲憊或興奮的臉。
他在尋找。
尋找下一個可能出現的“貼圖錯誤”。
尋找下一個可能“加載失敗”的瞬間。
這個世界依舊在運轉,但他知道,有些東西,己經徹底改變了。
裂縫一旦出現,就無法再視而不見。
而他,正站在裂縫的邊緣,向下窺探。
那下面,是深淵?
還是……源代碼的海洋?
他不知道。
他只知道,自己腳下的“現實”,從未像此刻這樣,搖搖欲墜。
---
小說簡介
《加載失敗:404禁區》是網絡作者“巴比倫仔”創作的懸疑推理,這部小說中的關鍵人物是陳末李小明,詳情概述:陳末覺得,今天這座城市像是沒睡醒,或者說,它運行得有點心不在焉。己經是上午九點十五分,陽光卻依舊帶著種隔夜茶水般的渾濁和敷衍,勉強穿透厚厚的、仿佛靜止的灰霾,落在擠得像沙丁魚罐頭一樣的地鐵車廂里。陳末被人群裹挾著,后背緊貼著冰涼的金屬扶手,鼻尖縈繞著各種氣味混合的、復雜而沉悶的“人味兒”——廉價香水、汗液、早餐包子的油膩,還有某種……類似于電子元件過熱時散發的、極細微的焦糊氣。他皺了皺眉,把這歸咎...