第3章
從零開始打造游戲帝國
十字路口------------------------------------------,整間辦公室像是被抽走了一層空氣。,久到窗外的橘紅色徹底沉進(jìn)地平線,久到樓下便利店的燈牌亮起來又暗下去。他沒有開燈,沒有開電腦,甚至沒有拿起手機(jī)。他就那么半躺在椅子里,雙腳擱在桌上,鞋底對著那盆快**的綠蘿。。,是過去的。是他在原來那個世界,第一次玩到《我的世界》的那個下午。那天下著雨,他十三歲,縮在老家臥室的床上,用一臺屏幕碎了一角的筆記本電腦,第一次在一片由方塊構(gòu)成的平原上醒來。他不知道自己該干什么,沒有人告訴他目標(biāo)是什么,任務(wù)是什么。。。,沒有任何鼓勵,沒有經(jīng)驗值,沒有成就彈窗。就是走過去。。他砍了樹,做了工作臺,做了木鎬,挖了石頭,做了石鎬,挖了鐵礦,做了鐵鎬,發(fā)現(xiàn)地下有個巨大的洞穴系統(tǒng)。等他抬起頭的時候,窗外的雨已經(jīng)停了,天已經(jīng)黑了,屏幕上的時間顯示凌晨兩點。。,那種“時間消失了、世界消失了、只剩下你和那些方塊”的感覺,他后來再也沒有在任何游戲里復(fù)現(xiàn)過?!稇嵟男▲B》。,但他在寫代碼的時候偶爾會進(jìn)入同樣的狀態(tài)——忘記時間,忘記饑餓,忘記自己在哪,手比腦子快,腦子追著手跑。那種心流,那種完全沉浸在創(chuàng)造中的感覺,比任何游戲反饋都讓人上癮。?!鲇螒蛱嗽趺崔k?,在辦公室里走了幾步,撞到了咖啡機(jī)的邊角,疼得嘶了一聲。他蹲下來揉膝蓋,黑暗中聽見自己的呼吸聲,一深一淺,有點像剛跑完八百米。
手機(jī)在這時候響了。
不是推送通知的叮叮聲,是來電鈴聲。陳旭摸到手機(jī),屏幕的亮光刺得他瞇起了眼睛。來電顯示是一個陌生號碼,歸屬地顯示的是外省。
他接了。
“**,請問是Angry *irds的開發(fā)者X.Chen先生嗎?”對方的聲音是個中年男人,普通話帶著一股廣東腔,語速快得像是每分鐘按字?jǐn)?shù)計費。
“我是?!标愋竦纳ぷ佑悬c啞。
“哎呀終于打通了!”對方的聲音驟然拔高了兩個調(diào),“X.Chen先生****,我是天極互動娛樂的CEO馬國良,我們公司在華南地區(qū)是最大的****發(fā)行商,您應(yīng)該聽說過我們吧?”
陳旭沒聽說過。
“是這樣的,”馬國良的語速更快了,“我們對您的作品Angry *irds非常非常欣賞,我們認(rèn)為這款游戲具有巨大的商業(yè)價值和IP潛力。我們希望能跟您談?wù)労献鳌顿Y、發(fā)行、IP開發(fā),什么都可以談。我們團(tuán)隊明天就可以飛過去找您面談,您看——”
“不用了?!标愋翊驍嗔怂?。
電話那頭安靜了一秒。
“我不需要投資。”陳旭說。他的聲音在空曠的辦公室里回蕩,帶著一種他自己都沒意識到的冷淡。
“X.Chen先生,您可能不太了解我們這個行業(yè)的運作方式?!瘪R國良的語氣變了,從熱情似火變成了一種溫和的教育口吻,“一款游戲的成功需要持續(xù)的運營投入、渠道推廣、版權(quán)保護(hù),一個人是做不來的。我們天極有——”。
陳旭掛了電話。
不是故意不禮貌,是膝蓋太疼了,疼得他蹲不住。他站起來,一瘸一拐地走到窗邊,把窗戶推開了一道縫。夜風(fēng)灌進(jìn)來,帶著雨后泥土的腥味和遠(yuǎn)處下水道的臭味。
手機(jī)又響了。同一個號碼。
陳旭接了,沒說話。
“X.Chen先生,您聽我說完?!瘪R國良的聲音帶上了一絲急躁,“您可能不知道,現(xiàn)在市面上已經(jīng)出現(xiàn)了至少八款A(yù)ngry *irds的仿制品。有的改名叫Angry Pigs,有的叫Flying *irds,有一個直接抄了百分之八十的代碼,改了改美術(shù)就上架了。您有申請軟件著作權(quán)嗎?有注冊商標(biāo)嗎?有采取任何知識產(chǎn)權(quán)保護(hù)措施嗎?”
陳旭沉默了。
他沒有。
這個世界的知識產(chǎn)權(quán)保護(hù)體系比他原來的世界要完善一些,但申請流程也更繁瑣。他之前全部精力都撲在開發(fā)和優(yōu)化上,根本沒顧上這些法務(wù)層面的東西。
“我們天極有專業(yè)的法務(wù)團(tuán)隊?!瘪R國良的聲音又緩了下來,“我們可以幫您做**的知識產(chǎn)權(quán)布局,同時幫您做渠道分發(fā)和商業(yè)變現(xiàn)。這不是投資,是合作。您還是創(chuàng)作者,我們只是幫您鋪路?!?br>陳旭張嘴想說點什么,但話到嘴邊又咽了回去。
他想說“不需要”,但“不需要”這三個字在面對抄襲問題的時候顯得特別蒼白。他想說“我自己能搞定”,但他知道自己對法務(wù)一竅不通,連軟件著作權(quán)的申請表都填不明白。
“我考慮一下?!彼f。
“當(dāng)然當(dāng)然,您慢慢考慮。不過——”馬國良壓低了聲音,“我建議您不要考慮太久。因為除了我們,還有至少三家公司已經(jīng)在打聽您的****了。其中一家,據(jù)我所知,他們打算直接挖您的人——當(dāng)然他們還不知道您只有一個人?!?br>陳旭掛了電話。這一次他沒有把手機(jī)扔到一邊,而是攥在手里,盯著屏幕發(fā)呆。
三分鐘后,手機(jī)又震了。
不是電話,是一封郵件。
發(fā)件人:馬國良。標(biāo)題:真誠的合作邀請。正文只有一句話:“X.Chen先生,我們不談投資不談分成,我只想讓您知道一件事——我做游戲這行十五年,見過無數(shù)天才,但Angry *irds是我見過的最偉大的****。沒有之一。如果您愿意,天極愿意成為您最忠實的長跑伙伴?!?br>陳旭盯著那行字看了很久。
不是因為被感動了,而是因為他注意到一個細(xì)節(jié)——馬國良說“最偉大的****”,用的是“偉大”不是“賺錢”。在之前所有媒體的報道和玩家的評論里,沒有人用過這個詞。
他把郵件標(biāo)記為未讀,關(guān)掉了手機(jī)屏幕。
辦公室里又暗了下來。只有窗外的路燈把一攤昏黃的光灑在地面上,像一灘凝固的蜂蜜。
陳旭打開燈,走到桌前,坐下。
他打開了一個新的文檔,標(biāo)題打了一行字:“做一個父親?!?br>然后他停下來,看著這四個字,指尖懸在鍵盤上方。
什么意思?
未來的自己讓林遠(yuǎn)帶這句話,顯然不是字面意義上的“當(dāng)爸爸”。陳旭連女朋友都沒有,***里的錢剛夠付半年房租,生活的全部構(gòu)成就是代碼和泡面。怎么當(dāng)父親?
除非“父親”是個隱喻。
父親意味著什么?意味著責(zé)任,意味著保護(hù),意味著在孩子還沒學(xué)會走路的時候就要想好他十八歲以后的路。意味著你不能只憑自己的喜好去做事,因為你做的每一個選擇都會影響另一個生命的軌跡。
游戲是陳旭的孩子。他的每一個作品,在這個世界都是新生兒。它們會成長,會擴(kuò)散,會進(jìn)入幾百萬、幾千萬、甚至幾億人的生活,然后在那些人的大腦里留下痕跡。
林遠(yuǎn)說這些痕跡太深了。
但陳旭在想另一個問題——如果他不做這些游戲,那幾百萬、幾千萬、幾億人的大腦,會被什么填滿?
***方塊?貪吃蛇?推箱子?
還是那些他還沒動手做、但已經(jīng)在新聞里看到的“仿制品”——粗糙的、劣質(zhì)的、沒有任何設(shè)計理念的****?
他想起馬國良說的那八個仿制品。他沒有去看它們的截圖,但他能想象出來。像素偷懶的美術(shù),東拼西湊的代碼,物理引擎要么沒有要么假得離譜,唯一的“創(chuàng)新”大概就是廣告插得更頻繁、付費點設(shè)得更惡心。
那些東西才是真正的毒藥。
陳旭坐直了身體,手指放在鍵盤上,開始打字。
“‘做一個父親’不是停止創(chuàng)造,而是創(chuàng)造得更負(fù)責(zé)任。不是一個孩子都不要生,是把每一個孩子都養(yǎng)好,讓它們成為對這個世界有益的存在——即使有益的方式只是讓人們在疲憊的一天結(jié)束之后,能有一個安全的地方待上一兩個小時?!?br>他敲完這段字,又盯著看了幾秒,然后全選,刪除。
太矯情了。像心靈雞湯公眾號的文案。
他重新打了一行字:“先做植物大戰(zhàn)僵尸。做完再說?!?br>然后他關(guān)掉文檔,打開策劃文件夾,翻出了之前寫到一半的《植物大戰(zhàn)僵尸》設(shè)計方案。
紙上的格子線已經(jīng)被蹭得模糊了,他重新畫了一張。這次他畫得更仔細(xì),每一行每一列都標(biāo)了坐標(biāo),每種植物的屬性都寫了詳細(xì)的數(shù)值說明——血量、傷害、攻擊間隔、陽光成本、冷卻時間。他在左下角畫了一個向日葵的簡筆畫,旁邊寫了一行小字:“陽光產(chǎn)出:25/23秒?!?br>畫完了九列五行的草坪布局之后,他又畫了一個腦圖。中心是“植物大戰(zhàn)僵尸”,向外輻射出四個分支:植物系統(tǒng)、僵尸系統(tǒng)、關(guān)卡系統(tǒng)、經(jīng)濟(jì)系統(tǒng)。每一個分支下面又分出若干子分支,子分支下面再分。
等到這張A3紙被畫得滿滿當(dāng)當(dāng)、再也找不到空白處的時候,陳旭把筆一扔,靠在椅背上,雙手抱胸,看著那張紙,嘴角慢慢浮起一個笑容。
這個笑容跟上一章的笑容不太一樣。上一個笑容是“我做到了”的如釋重負(fù),這一個笑容是“我知道怎么做了”的篤定。
他站起來,走向咖啡機(jī)。
磨豆的聲音轟鳴著填滿了整間辦公室,像一架小型飛機(jī)正在起飛。咖啡的香氣在噪音中彌漫開來,濃烈得幾乎能看到棕色的煙霧。
一杯意式濃縮。四十毫升,三口喝完。
他回到桌前,打開IDE,建了一個新項目。
項目名稱:PVZ。
他開始寫代碼的時候,腦子里自動屏蔽了所有雜音。林遠(yuǎn)的話,馬國良的電話,未來的自己留下的那句莫名其妙的話——全都退到了意識的邊緣,像隔了一層毛玻璃。
他現(xiàn)在的世界只有這幾樣?xùn)|西:草坪網(wǎng)格,植物的放置邏輯,僵尸的移動路徑,投射物的碰撞檢測。
他先寫了一個簡單的二維數(shù)組來代表草坪,每個格子可以存放一個植物對象或者為空。然后寫了一個計時器循環(huán),每隔固定的幀時間更新一次所有植物的攻擊計時器和僵尸的位置。
植物的攻擊邏輯比《憤怒的小鳥》的物理引擎簡單得多——豌豆射手的**就是沿著X軸方向勻速移動的圓形碰撞盒,擊中僵尸后減少血量,血量歸零則僵尸死亡。
但僵尸的波次生成機(jī)制就復(fù)雜多了。陳旭想做一個類似“出怪腳本”的系統(tǒng),每一波僵尸的種類、數(shù)量、出現(xiàn)時機(jī)都可以通過配置文件來指定,而不是硬編碼在代碼里。這樣以后調(diào)整關(guān)卡平衡性的時候就方便多了——不用重新編譯整個項目,只需要改幾行文本。
他花了整整一個晚上把出怪腳本的解析器寫完了。文本格式是他自己定義的,語法簡單得近乎粗暴:“w**e: 1, zom**es: 普通僵尸x3, delay: 5s; w**e: 2, zom**es: 路障僵尸x1+普通僵尸x2, delay: 8s……”解析器讀了這些文本之后,會在游戲運行時動態(tài)生成對應(yīng)的僵尸實例。
寫完這段代碼的時候,窗外已經(jīng)泛起了魚肚白。樓下的早餐鋪傳來蒸籠揭蓋的聲音,一股**子的香氣順著窗縫鉆進(jìn)來。
陳旭的肚子叫了一聲,但他沒有去吃東西。他一口氣又寫了一個小時,把向日葵產(chǎn)陽光的邏輯和陽光值的UI顯示都敲完了。
然后他編譯運行。
屏幕上出現(xiàn)了一個簡陋的窗口——灰色**,白色網(wǎng)格線,底部是一排植物的圖標(biāo)和陽光成本的數(shù)字。向日葵、豌豆射手、堅果墻,目前只實現(xiàn)了這三種。
他單擊了一個向日葵的圖標(biāo),鼠標(biāo)在網(wǎng)格上變成了一棵小植物的幽靈預(yù)覽。他在第三行**列點了一下,向日葵種了下去,灰色的**上出現(xiàn)了一個像素畫質(zhì)的花盆和幾片綠色的葉子——美術(shù)資源還是他臨時畫的,丑得連他自己都不忍直視。
但沒關(guān)系。邏輯通了。
向日葵每隔幾秒鐘向上飄出一個陽光值的小圖標(biāo),他單擊那個圖標(biāo),屏幕左上角的陽光數(shù)字從50跳到了75。
他又種了一棵豌豆射手。當(dāng)?shù)谝恢唤┦粋€深灰色的像素小人,歪著脖子,雙手前伸,一瘸一拐地從右側(cè)進(jìn)入草坪的時候,豌豆射手開始以固定的頻率吐出綠色的圓形**。**打在僵尸身上,僵尸頓了一下,繼續(xù)往前走。第二顆,第三顆。**顆命中的時候,僵尸發(fā)出一聲預(yù)設(shè)好的“唔啊”聲,倒在地上消失了。
陳旭盯著那個僵尸消失的位置,緩緩地吸了一口氣,然后吐出來。
“成了?!彼f。
聲音不大,但語氣里帶著一種沉甸甸的踏實感。
他繼續(xù)測試。種了三排向日葵,兩排豌豆射手,一排堅果墻放在最前面。僵尸一撥一撥地來,有些戴了路障**,要打六下才死。但防線穩(wěn)如泰山,陽光越積越多,最后屏幕上陽光數(shù)字變成了一千多。
他玩了五關(guān),每一關(guān)都輕松過關(guān),但他知道這是因為他只加了最基礎(chǔ)的僵尸類型。后期的橄欖球僵尸、氣球僵尸、雪橇僵尸小隊、巨型僵尸——那些才真正考驗塔防布局和資源管理的能力。
不過那些東西可以慢慢加?!吨参锎髴?zhàn)僵尸》的核心玩法已經(jīng)立住了,剩下的就是堆內(nèi)容和調(diào)平衡,這就像蓋好了房子之后搞裝修,累是累,但不燒腦。
他保存了代碼,關(guān)掉IDE,把椅子轉(zhuǎn)過來面對著窗戶。
天已經(jīng)大亮了。陽光穿過玻璃,在地面上投下一塊明亮的矩形??諝庵械幕覊m在光線里緩緩飄浮,像是某種微型的星系。
陳旭伸了個懶腰,渾身的骨頭噼里啪啦響了一串。他看了一眼時間——早上七點二十三分。他已經(jīng)連續(xù)編碼將近十二個小時,加上之前的思考和畫圖紙的時間,大概有十六個小時沒有真正休息了。
但他不困。
他的心跳比平時快,手心有一點潮,太陽穴有一點點發(fā)緊。這是腎上腺素和***混合作用的結(jié)果,他知道這不太健康,但他也知道這種感覺——創(chuàng)造的熱情,那種“手里正在誕生一個世界”的興奮,比任何物質(zhì)都讓人上癮。
林遠(yuǎn)說得對。游戲太好確實是個問題。
尤其是做游戲的人自己都上癮的時候。
他站起來,走到窗邊,推開窗戶。清晨的空氣涌進(jìn)來,涼絲絲的,帶著露水的濕氣和汽車尾氣的焦味。樓下有個老大爺在遛狗,那只狗正對著一個消防栓做某種不可描述的事情,老大爺站在旁邊抽煙看手機(jī)。
陳旭看著這一幕,忽然笑了。
他想,如果他在原來的世界,此時此刻大概正擠在地鐵上,在某個格子間里對著需求文檔和原型圖跟產(chǎn)品經(jīng)理吵架。他不會知道另一個平行世界的存在,不會知道游戲可以改變那么多人的生活,不會知道有一個來自未來的信使會站在他的辦公室里說一句莫名其妙的話。
但現(xiàn)在他知道了。
知道了就不能假裝不知道。
他轉(zhuǎn)過身,靠在窗臺上,雙手插兜,看著那盆快**的綠蘿。綠蘿的葉子已經(jīng)卷了邊,顏色從翠綠變成了灰綠,像一個快要渴死的人在無力地招手。
他走過去,拿起桌上的水杯,把杯底最后一口涼白開倒了進(jìn)去。水滲進(jìn)干裂的泥土,發(fā)出一聲細(xì)微的“嘶”,像是泥土在嘆氣。
“對不住?!标愋駥G蘿說,語氣認(rèn)真得像在跟一個人道歉。
綠蘿沒有回答。但卷曲的葉子在水的浸潤下,似乎舒展開了那么一點點——也許是真的,也許是陳旭的錯覺。
他回到桌前,拿起手機(jī)。屏幕上有十幾個未讀消息和七個未接來電,大部分是陌生號碼。馬國良又打了兩次,還有一個號碼打了三次,歸屬地顯示的是北京。
還有一個短信,發(fā)件人就是那個北京的號碼。
“陳旭先生**,我是《游戲世界》雜志的記者蘇曉棠。希望能采訪您。不耽誤您太多時間,半小時就行。我的電話是XXXXXXXXXXX。期待您的回復(fù)?!?br>陳旭看了看短信發(fā)送時間——凌晨一點四十二分。
他想了想,把蘇曉棠的號碼存進(jìn)了通訊錄,備注寫了“記者”。然后他打開馬國良的郵件,回復(fù)了一句話:“馬總,謝謝您的邀請。我需要時間考慮,下周給您答復(fù)。”
發(fā)完這封郵件,他把手機(jī)調(diào)成了勿擾模式,扔到桌上。
然后他趴下來,把臉埋進(jìn)交疊的雙臂里。
陽光沿著桌沿慢慢爬過來,照在他的手背上,暖洋洋的。他的呼吸漸漸變得均勻,意識像水滴落入大海,一圈一圈地擴(kuò)散、變淡、消失。
在徹底睡著之前,他腦子里閃過的最后一個念頭是:
《植物大戰(zhàn)僵尸》的泳池關(guān)卡,要不要加那種從水底冒出來的僵尸?
然后他就什么都不知道了。
手機(jī)在這時候響了。
不是推送通知的叮叮聲,是來電鈴聲。陳旭摸到手機(jī),屏幕的亮光刺得他瞇起了眼睛。來電顯示是一個陌生號碼,歸屬地顯示的是外省。
他接了。
“**,請問是Angry *irds的開發(fā)者X.Chen先生嗎?”對方的聲音是個中年男人,普通話帶著一股廣東腔,語速快得像是每分鐘按字?jǐn)?shù)計費。
“我是?!标愋竦纳ぷ佑悬c啞。
“哎呀終于打通了!”對方的聲音驟然拔高了兩個調(diào),“X.Chen先生****,我是天極互動娛樂的CEO馬國良,我們公司在華南地區(qū)是最大的****發(fā)行商,您應(yīng)該聽說過我們吧?”
陳旭沒聽說過。
“是這樣的,”馬國良的語速更快了,“我們對您的作品Angry *irds非常非常欣賞,我們認(rèn)為這款游戲具有巨大的商業(yè)價值和IP潛力。我們希望能跟您談?wù)労献鳌顿Y、發(fā)行、IP開發(fā),什么都可以談。我們團(tuán)隊明天就可以飛過去找您面談,您看——”
“不用了?!标愋翊驍嗔怂?。
電話那頭安靜了一秒。
“我不需要投資。”陳旭說。他的聲音在空曠的辦公室里回蕩,帶著一種他自己都沒意識到的冷淡。
“X.Chen先生,您可能不太了解我們這個行業(yè)的運作方式?!瘪R國良的語氣變了,從熱情似火變成了一種溫和的教育口吻,“一款游戲的成功需要持續(xù)的運營投入、渠道推廣、版權(quán)保護(hù),一個人是做不來的。我們天極有——”。
陳旭掛了電話。
不是故意不禮貌,是膝蓋太疼了,疼得他蹲不住。他站起來,一瘸一拐地走到窗邊,把窗戶推開了一道縫。夜風(fēng)灌進(jìn)來,帶著雨后泥土的腥味和遠(yuǎn)處下水道的臭味。
手機(jī)又響了。同一個號碼。
陳旭接了,沒說話。
“X.Chen先生,您聽我說完?!瘪R國良的聲音帶上了一絲急躁,“您可能不知道,現(xiàn)在市面上已經(jīng)出現(xiàn)了至少八款A(yù)ngry *irds的仿制品。有的改名叫Angry Pigs,有的叫Flying *irds,有一個直接抄了百分之八十的代碼,改了改美術(shù)就上架了。您有申請軟件著作權(quán)嗎?有注冊商標(biāo)嗎?有采取任何知識產(chǎn)權(quán)保護(hù)措施嗎?”
陳旭沉默了。
他沒有。
這個世界的知識產(chǎn)權(quán)保護(hù)體系比他原來的世界要完善一些,但申請流程也更繁瑣。他之前全部精力都撲在開發(fā)和優(yōu)化上,根本沒顧上這些法務(wù)層面的東西。
“我們天極有專業(yè)的法務(wù)團(tuán)隊?!瘪R國良的聲音又緩了下來,“我們可以幫您做**的知識產(chǎn)權(quán)布局,同時幫您做渠道分發(fā)和商業(yè)變現(xiàn)。這不是投資,是合作。您還是創(chuàng)作者,我們只是幫您鋪路?!?br>陳旭張嘴想說點什么,但話到嘴邊又咽了回去。
他想說“不需要”,但“不需要”這三個字在面對抄襲問題的時候顯得特別蒼白。他想說“我自己能搞定”,但他知道自己對法務(wù)一竅不通,連軟件著作權(quán)的申請表都填不明白。
“我考慮一下?!彼f。
“當(dāng)然當(dāng)然,您慢慢考慮。不過——”馬國良壓低了聲音,“我建議您不要考慮太久。因為除了我們,還有至少三家公司已經(jīng)在打聽您的****了。其中一家,據(jù)我所知,他們打算直接挖您的人——當(dāng)然他們還不知道您只有一個人?!?br>陳旭掛了電話。這一次他沒有把手機(jī)扔到一邊,而是攥在手里,盯著屏幕發(fā)呆。
三分鐘后,手機(jī)又震了。
不是電話,是一封郵件。
發(fā)件人:馬國良。標(biāo)題:真誠的合作邀請。正文只有一句話:“X.Chen先生,我們不談投資不談分成,我只想讓您知道一件事——我做游戲這行十五年,見過無數(shù)天才,但Angry *irds是我見過的最偉大的****。沒有之一。如果您愿意,天極愿意成為您最忠實的長跑伙伴?!?br>陳旭盯著那行字看了很久。
不是因為被感動了,而是因為他注意到一個細(xì)節(jié)——馬國良說“最偉大的****”,用的是“偉大”不是“賺錢”。在之前所有媒體的報道和玩家的評論里,沒有人用過這個詞。
他把郵件標(biāo)記為未讀,關(guān)掉了手機(jī)屏幕。
辦公室里又暗了下來。只有窗外的路燈把一攤昏黃的光灑在地面上,像一灘凝固的蜂蜜。
陳旭打開燈,走到桌前,坐下。
他打開了一個新的文檔,標(biāo)題打了一行字:“做一個父親?!?br>然后他停下來,看著這四個字,指尖懸在鍵盤上方。
什么意思?
未來的自己讓林遠(yuǎn)帶這句話,顯然不是字面意義上的“當(dāng)爸爸”。陳旭連女朋友都沒有,***里的錢剛夠付半年房租,生活的全部構(gòu)成就是代碼和泡面。怎么當(dāng)父親?
除非“父親”是個隱喻。
父親意味著什么?意味著責(zé)任,意味著保護(hù),意味著在孩子還沒學(xué)會走路的時候就要想好他十八歲以后的路。意味著你不能只憑自己的喜好去做事,因為你做的每一個選擇都會影響另一個生命的軌跡。
游戲是陳旭的孩子。他的每一個作品,在這個世界都是新生兒。它們會成長,會擴(kuò)散,會進(jìn)入幾百萬、幾千萬、甚至幾億人的生活,然后在那些人的大腦里留下痕跡。
林遠(yuǎn)說這些痕跡太深了。
但陳旭在想另一個問題——如果他不做這些游戲,那幾百萬、幾千萬、幾億人的大腦,會被什么填滿?
***方塊?貪吃蛇?推箱子?
還是那些他還沒動手做、但已經(jīng)在新聞里看到的“仿制品”——粗糙的、劣質(zhì)的、沒有任何設(shè)計理念的****?
他想起馬國良說的那八個仿制品。他沒有去看它們的截圖,但他能想象出來。像素偷懶的美術(shù),東拼西湊的代碼,物理引擎要么沒有要么假得離譜,唯一的“創(chuàng)新”大概就是廣告插得更頻繁、付費點設(shè)得更惡心。
那些東西才是真正的毒藥。
陳旭坐直了身體,手指放在鍵盤上,開始打字。
“‘做一個父親’不是停止創(chuàng)造,而是創(chuàng)造得更負(fù)責(zé)任。不是一個孩子都不要生,是把每一個孩子都養(yǎng)好,讓它們成為對這個世界有益的存在——即使有益的方式只是讓人們在疲憊的一天結(jié)束之后,能有一個安全的地方待上一兩個小時?!?br>他敲完這段字,又盯著看了幾秒,然后全選,刪除。
太矯情了。像心靈雞湯公眾號的文案。
他重新打了一行字:“先做植物大戰(zhàn)僵尸。做完再說?!?br>然后他關(guān)掉文檔,打開策劃文件夾,翻出了之前寫到一半的《植物大戰(zhàn)僵尸》設(shè)計方案。
紙上的格子線已經(jīng)被蹭得模糊了,他重新畫了一張。這次他畫得更仔細(xì),每一行每一列都標(biāo)了坐標(biāo),每種植物的屬性都寫了詳細(xì)的數(shù)值說明——血量、傷害、攻擊間隔、陽光成本、冷卻時間。他在左下角畫了一個向日葵的簡筆畫,旁邊寫了一行小字:“陽光產(chǎn)出:25/23秒?!?br>畫完了九列五行的草坪布局之后,他又畫了一個腦圖。中心是“植物大戰(zhàn)僵尸”,向外輻射出四個分支:植物系統(tǒng)、僵尸系統(tǒng)、關(guān)卡系統(tǒng)、經(jīng)濟(jì)系統(tǒng)。每一個分支下面又分出若干子分支,子分支下面再分。
等到這張A3紙被畫得滿滿當(dāng)當(dāng)、再也找不到空白處的時候,陳旭把筆一扔,靠在椅背上,雙手抱胸,看著那張紙,嘴角慢慢浮起一個笑容。
這個笑容跟上一章的笑容不太一樣。上一個笑容是“我做到了”的如釋重負(fù),這一個笑容是“我知道怎么做了”的篤定。
他站起來,走向咖啡機(jī)。
磨豆的聲音轟鳴著填滿了整間辦公室,像一架小型飛機(jī)正在起飛。咖啡的香氣在噪音中彌漫開來,濃烈得幾乎能看到棕色的煙霧。
一杯意式濃縮。四十毫升,三口喝完。
他回到桌前,打開IDE,建了一個新項目。
項目名稱:PVZ。
他開始寫代碼的時候,腦子里自動屏蔽了所有雜音。林遠(yuǎn)的話,馬國良的電話,未來的自己留下的那句莫名其妙的話——全都退到了意識的邊緣,像隔了一層毛玻璃。
他現(xiàn)在的世界只有這幾樣?xùn)|西:草坪網(wǎng)格,植物的放置邏輯,僵尸的移動路徑,投射物的碰撞檢測。
他先寫了一個簡單的二維數(shù)組來代表草坪,每個格子可以存放一個植物對象或者為空。然后寫了一個計時器循環(huán),每隔固定的幀時間更新一次所有植物的攻擊計時器和僵尸的位置。
植物的攻擊邏輯比《憤怒的小鳥》的物理引擎簡單得多——豌豆射手的**就是沿著X軸方向勻速移動的圓形碰撞盒,擊中僵尸后減少血量,血量歸零則僵尸死亡。
但僵尸的波次生成機(jī)制就復(fù)雜多了。陳旭想做一個類似“出怪腳本”的系統(tǒng),每一波僵尸的種類、數(shù)量、出現(xiàn)時機(jī)都可以通過配置文件來指定,而不是硬編碼在代碼里。這樣以后調(diào)整關(guān)卡平衡性的時候就方便多了——不用重新編譯整個項目,只需要改幾行文本。
他花了整整一個晚上把出怪腳本的解析器寫完了。文本格式是他自己定義的,語法簡單得近乎粗暴:“w**e: 1, zom**es: 普通僵尸x3, delay: 5s; w**e: 2, zom**es: 路障僵尸x1+普通僵尸x2, delay: 8s……”解析器讀了這些文本之后,會在游戲運行時動態(tài)生成對應(yīng)的僵尸實例。
寫完這段代碼的時候,窗外已經(jīng)泛起了魚肚白。樓下的早餐鋪傳來蒸籠揭蓋的聲音,一股**子的香氣順著窗縫鉆進(jìn)來。
陳旭的肚子叫了一聲,但他沒有去吃東西。他一口氣又寫了一個小時,把向日葵產(chǎn)陽光的邏輯和陽光值的UI顯示都敲完了。
然后他編譯運行。
屏幕上出現(xiàn)了一個簡陋的窗口——灰色**,白色網(wǎng)格線,底部是一排植物的圖標(biāo)和陽光成本的數(shù)字。向日葵、豌豆射手、堅果墻,目前只實現(xiàn)了這三種。
他單擊了一個向日葵的圖標(biāo),鼠標(biāo)在網(wǎng)格上變成了一棵小植物的幽靈預(yù)覽。他在第三行**列點了一下,向日葵種了下去,灰色的**上出現(xiàn)了一個像素畫質(zhì)的花盆和幾片綠色的葉子——美術(shù)資源還是他臨時畫的,丑得連他自己都不忍直視。
但沒關(guān)系。邏輯通了。
向日葵每隔幾秒鐘向上飄出一個陽光值的小圖標(biāo),他單擊那個圖標(biāo),屏幕左上角的陽光數(shù)字從50跳到了75。
他又種了一棵豌豆射手。當(dāng)?shù)谝恢唤┦粋€深灰色的像素小人,歪著脖子,雙手前伸,一瘸一拐地從右側(cè)進(jìn)入草坪的時候,豌豆射手開始以固定的頻率吐出綠色的圓形**。**打在僵尸身上,僵尸頓了一下,繼續(xù)往前走。第二顆,第三顆。**顆命中的時候,僵尸發(fā)出一聲預(yù)設(shè)好的“唔啊”聲,倒在地上消失了。
陳旭盯著那個僵尸消失的位置,緩緩地吸了一口氣,然后吐出來。
“成了?!彼f。
聲音不大,但語氣里帶著一種沉甸甸的踏實感。
他繼續(xù)測試。種了三排向日葵,兩排豌豆射手,一排堅果墻放在最前面。僵尸一撥一撥地來,有些戴了路障**,要打六下才死。但防線穩(wěn)如泰山,陽光越積越多,最后屏幕上陽光數(shù)字變成了一千多。
他玩了五關(guān),每一關(guān)都輕松過關(guān),但他知道這是因為他只加了最基礎(chǔ)的僵尸類型。后期的橄欖球僵尸、氣球僵尸、雪橇僵尸小隊、巨型僵尸——那些才真正考驗塔防布局和資源管理的能力。
不過那些東西可以慢慢加?!吨参锎髴?zhàn)僵尸》的核心玩法已經(jīng)立住了,剩下的就是堆內(nèi)容和調(diào)平衡,這就像蓋好了房子之后搞裝修,累是累,但不燒腦。
他保存了代碼,關(guān)掉IDE,把椅子轉(zhuǎn)過來面對著窗戶。
天已經(jīng)大亮了。陽光穿過玻璃,在地面上投下一塊明亮的矩形??諝庵械幕覊m在光線里緩緩飄浮,像是某種微型的星系。
陳旭伸了個懶腰,渾身的骨頭噼里啪啦響了一串。他看了一眼時間——早上七點二十三分。他已經(jīng)連續(xù)編碼將近十二個小時,加上之前的思考和畫圖紙的時間,大概有十六個小時沒有真正休息了。
但他不困。
他的心跳比平時快,手心有一點潮,太陽穴有一點點發(fā)緊。這是腎上腺素和***混合作用的結(jié)果,他知道這不太健康,但他也知道這種感覺——創(chuàng)造的熱情,那種“手里正在誕生一個世界”的興奮,比任何物質(zhì)都讓人上癮。
林遠(yuǎn)說得對。游戲太好確實是個問題。
尤其是做游戲的人自己都上癮的時候。
他站起來,走到窗邊,推開窗戶。清晨的空氣涌進(jìn)來,涼絲絲的,帶著露水的濕氣和汽車尾氣的焦味。樓下有個老大爺在遛狗,那只狗正對著一個消防栓做某種不可描述的事情,老大爺站在旁邊抽煙看手機(jī)。
陳旭看著這一幕,忽然笑了。
他想,如果他在原來的世界,此時此刻大概正擠在地鐵上,在某個格子間里對著需求文檔和原型圖跟產(chǎn)品經(jīng)理吵架。他不會知道另一個平行世界的存在,不會知道游戲可以改變那么多人的生活,不會知道有一個來自未來的信使會站在他的辦公室里說一句莫名其妙的話。
但現(xiàn)在他知道了。
知道了就不能假裝不知道。
他轉(zhuǎn)過身,靠在窗臺上,雙手插兜,看著那盆快**的綠蘿。綠蘿的葉子已經(jīng)卷了邊,顏色從翠綠變成了灰綠,像一個快要渴死的人在無力地招手。
他走過去,拿起桌上的水杯,把杯底最后一口涼白開倒了進(jìn)去。水滲進(jìn)干裂的泥土,發(fā)出一聲細(xì)微的“嘶”,像是泥土在嘆氣。
“對不住?!标愋駥G蘿說,語氣認(rèn)真得像在跟一個人道歉。
綠蘿沒有回答。但卷曲的葉子在水的浸潤下,似乎舒展開了那么一點點——也許是真的,也許是陳旭的錯覺。
他回到桌前,拿起手機(jī)。屏幕上有十幾個未讀消息和七個未接來電,大部分是陌生號碼。馬國良又打了兩次,還有一個號碼打了三次,歸屬地顯示的是北京。
還有一個短信,發(fā)件人就是那個北京的號碼。
“陳旭先生**,我是《游戲世界》雜志的記者蘇曉棠。希望能采訪您。不耽誤您太多時間,半小時就行。我的電話是XXXXXXXXXXX。期待您的回復(fù)?!?br>陳旭看了看短信發(fā)送時間——凌晨一點四十二分。
他想了想,把蘇曉棠的號碼存進(jìn)了通訊錄,備注寫了“記者”。然后他打開馬國良的郵件,回復(fù)了一句話:“馬總,謝謝您的邀請。我需要時間考慮,下周給您答復(fù)。”
發(fā)完這封郵件,他把手機(jī)調(diào)成了勿擾模式,扔到桌上。
然后他趴下來,把臉埋進(jìn)交疊的雙臂里。
陽光沿著桌沿慢慢爬過來,照在他的手背上,暖洋洋的。他的呼吸漸漸變得均勻,意識像水滴落入大海,一圈一圈地擴(kuò)散、變淡、消失。
在徹底睡著之前,他腦子里閃過的最后一個念頭是:
《植物大戰(zhàn)僵尸》的泳池關(guān)卡,要不要加那種從水底冒出來的僵尸?
然后他就什么都不知道了。