顧凡不由得微微皺眉:“莉總,我再強調(diào)一遍,我只是個平平無奇的程序員,你讓我在自己寫的代碼裡找問題或許我還能勉強勝任,但是在別人寫的代碼裡找問題,這屬實是太……”
莉莉絲皺著眉頭,斬釘截鐵地說道:“給你加獎金!”
“好嘞!”顧凡立刻在電腦上打開《心跳夢境》的源代碼,開始認真查看。
長夜漫漫,莉莉絲還有很多時間,所以她也一點都不著急,只是在一旁板著小臉等待。
很顯然,《心跳夢境》有問題!
雖然目前莉莉絲還不太明白問題到底出在哪。
僅僅是劇情莫名其妙引發(fā)玩家腦補的問題嗎?絕對不是。
因爲(wèi)《心跳夢境》肉眼可見的有許多超出莉莉絲預(yù)期的設(shè)計,即便是那些周揚曾經(jīng)報備過的功能,比如加入的心理恐怖元素,meta遊戲元素,將這些功能全都算進去之後,《心跳夢境》也仍舊有一些『畫蛇添足』的功能。
而正是因爲(wèi)添的足太多了,才莫名其妙地把一條草花蛇給美化成了一條龍!
而莉莉絲現(xiàn)在要做的,就是讓顧凡認真比對,把這些『畫蛇添足』的部分全都給揪出來,看看周揚作爲(wèi)這個項目的製作人,到底有沒有貳心!
“就先從最後的GM模式開始查!
“我記得,設(shè)計稿中可從來沒寫會有這種東西!”
莉莉絲來勢洶洶。
顯然,這是她能看到的最大的破綻。
《心跳夢境》這遊戲的前期設(shè)計內(nèi)容不少,包括遊戲根目錄的那個文件夾,當(dāng)然都是周揚特意設(shè)計的。
玩家們通過刪減、複製粘貼這個文件夾中的文件,來對遊戲內(nèi)進行一些改變,這就是周揚之前曾經(jīng)提過的“meta元素”了。
但問題在於,設(shè)計方案中可從來都沒寫所謂的GM模式這種東西!
用腳趾頭想想也知道,最後愛麗歐絲成功開啓GM模式,玩家可以對遊戲中的各種數(shù)據(jù)進行調(diào)節(jié),甚至可以全憑自己的喜好跳過或者延長恐怖內(nèi)容,這絕對跟莉莉絲最初的設(shè)計初衷背道而馳。
因爲(wèi)莉莉絲要的,是玩家貢獻負面情緒,而GM模式的存在,必然會大幅削減負面情緒的產(chǎn)生。
這意味著,不喜歡玩恐怖內(nèi)容的玩家可以跳過,而喜歡恐怖內(nèi)容的玩家可以反覆體驗,大家都從遊戲中剔除了自己不喜歡的部分,產(chǎn)生的負面情緒不是必然越來越少嗎?
絕對不能容忍!
莉莉絲現(xiàn)在就想抓到周揚設(shè)置這個『GM模式』的鐵證,從而論證,此子斷不可留!
顧凡首先在設(shè)計方案中翻找了一遍,然後說道:“設(shè)計方案中沒有任何地方提到這個GM模式。”
莉莉絲並不意外:“嗯,看代碼!”
看起來,周揚似乎是個訓(xùn)練有素的二五仔,他也知道這種東西不能明確地寫在設(shè)計方案中留下罪證。
雖然從理論上來說,設(shè)計師的所有設(shè)計都必須通過設(shè)計方案來完成,不寫到方案裡的功能程序員壓根都不願意做,但實際在操作中,還是有很多空子可鑽的。
尤其是像逆天堂這樣架構(gòu)比較扁平化的公司,設(shè)計師跟程序員私下裡關(guān)係又好,口頭上加功能這種事情未必就不能發(fā)生。
如果設(shè)計方案沒寫,可代碼中卻有……
wωw★ ttκд n★ ¢O
那莉莉絲可不止揪出了周揚這一個內(nèi)鬼,連帶著寫這塊功能的程序員,也得一起規(guī)起來!
顧凡面色凝重地在一行行代碼中仔細翻找,又去編輯器中找到GM模式的各項功能界面。
而後,他陷入了沉默。
莉莉絲敏銳的感覺到情況似乎有些複雜,趕忙問道:“查到了嗎?”
顧凡思考了一會兒,似乎沒能得出準確的結(jié)論:“我還得再想想。”
莉莉絲皺眉:“查到了就是查到了,沒查到就是沒查到,再想想是什麼意思?你該不會是在想辦法包庇這兩個人吧!”
顧凡啞然失笑:“怎麼會呢莉總,你多慮了。
“好吧,既然你這麼心急,那我就先不去刨根問底、想具體的原因了,我就只是把我觀察到的事實跟你彙報一下,具體是什麼原因,你自己想吧。”
莉莉絲呵呵一笑:“哼,本該如此,我比你聰明多了,這種事情伱想不通就不要想,交給我就好。”
顧凡點頭:“那當(dāng)然,莉總英明神武、睿智無雙。
“是這樣的,我翻遍了相關(guān)功能的代碼,但不得不承認的是,代碼中也並沒有直接導(dǎo)向『GM模式』的內(nèi)容。”
莉莉絲震驚了,她雙眼猛地睜大:“你在說什麼顧凡?你確定不是在胡說八道嗎?代碼裡沒有的功能怎麼會自己實現(xiàn)的?你的意思是,這是個奇蹟咯?
“Oh,it's a miracle!”
她的眼中出現(xiàn)了濃濃的不信任,顯然,莉莉絲開始懷疑這是不是顧凡的某種蹩腳的遮掩。
顧凡趕忙解釋:“莉總,你先聽我說完。”
他趕忙在編輯器中打開所謂的『GM模式』的界面。
“莉總,你看這個界面熟悉嗎?”
莉莉絲皺眉搖頭:“不熟悉。”
顧凡指了指界面上的一些元素,尤其是按鈕、背景框等等。
莉莉絲再次仔細端詳,但還是沒看出什麼太大的問題。
“按鈕怎麼了?不是挺正常的嗎?哦,似乎跟其他界面的按鈕比起來,稍微……毛糙了一點?有點糊?仔細看的話按鈕的背景似乎也有點不太對,是輕微拉伸過?”
顧凡一拍手:“莉總你果然是慧眼如炬!
“你再看這個界面。”
他一邊說著,一邊打開另外的界面。
這個界面看起來跟GM模式的那個界面完全一致,只不過打開方式不同。
在遊戲中,『GM模式』是需要把愛麗歐絲卡成最高權(quán)限引導(dǎo)員之後纔開啓的,而顧凡新打開的這個界面卻不是在正式版的遊戲中,而是在《心跳夢境》的內(nèi)部測試版本。
打開它也不需要卡AI這種複雜的操作,顧凡只是在鍵盤上按下了一個組合鍵,這個界面就直接彈出來了。
莉莉絲有些詫異:“這……
“這是內(nèi)部測試工具?”
顧凡點頭:“莉總聖明!是的,這是內(nèi)部測試工具。”
作爲(wèi)已經(jīng)有豐富的遊戲開發(fā)經(jīng)驗的莉莉絲,內(nèi)部測試工具這東西她已經(jīng)很熟悉了。
測試組的人數(shù)有限、時間也有限,所以爲(wèi)了提升測試效率,往往需要程序去開發(fā)一些GM工具,來輔助測試工作。
就比如GM模式中的所有功能,比如不觸發(fā)恐怖內(nèi)容、延長恐怖內(nèi)容時間、調(diào)整各項數(shù)據(jù)的獲取倍率等等,都是爲(wèi)了讓測試組能夠更快、更好地測試相關(guān)代碼。
因爲(wèi)這個GM工具只是內(nèi)部測試用的,根本留不到正式版本,所以製作的也相對敷衍,裡面的按鈕、界面等,都是用遊戲原本就有的通用素材拼湊的,甚至很多按鈕尺寸對不上,所以經(jīng)過了輕微的拉伸,細看纔會發(fā)現(xiàn)有毛邊的情況。
那麼問題來了,原本就是內(nèi)部測試版本的東西,怎麼就到了正式版本去了?
而且這激活方式也不一樣啊!
顧凡繼續(xù)說道:“莉總,我猜測啊,是這樣的。
“這個GM工具,可能跟遊戲中的很多內(nèi)容都有關(guān)聯(lián),相較於直接把它從所有代碼中找出來刪掉,倒不如圖省事,直接刪掉入口。
“因爲(wèi)原本的內(nèi)部測試版中,都是通過快捷鍵來激活的,除此之外沒有任何其他的激活方式,所以,只要刪掉遊戲中的快捷鍵指令,理論上來說,玩家就再也沒有任何可能激活它。”
莉莉絲的臉色更不好看了:“理論上說?”
顧凡點頭:“是的,但不知道爲(wèi)什麼,在正式版本中這個界面還是出現(xiàn)了。我猜測……可能是跟AI有關(guān)。
“因爲(wèi)在遊戲中,爲(wèi)了更好地製造心理恐怖的效果,同時也爲(wèi)了凸顯meta遊戲元素,我們實際上賦予了這些AI很高的權(quán)限。
“比如……從遊戲的源代碼中調(diào)用一些數(shù)據(jù)。”
莉莉絲雙眼微微瞇起:“所以你的意思是說……這個界面,還有這個所謂的GM模式,都是愛麗歐絲的AI自己調(diào)出來的?”
她的臉上滿是一副“你猜我信不信”的表情。
顧凡輕咳兩聲:“莉總,你如果不相信我的話,可以讓其他的程序員再來查一查。
“我就只說幾點確定的事實。
“首先,我們使用的是最新版本的fake-AI,這個版本的AI智能相較於《天命臥龍傳》和《神棄之城》的AI,其實已經(jīng)又有了很大的進步,智能水平已經(jīng)很高了。
“其次,《心跳夢境》這款遊戲在製作過程中確實賦予了AI極高的權(quán)限,甚至包括隨意刪改遊戲內(nèi)文件的權(quán)限。
“雖說刪改文件的權(quán)限只限於根目錄裡的存檔和角色文件夾,但AI還有很多其他的權(quán)限,比如調(diào)用遊戲內(nèi)的資源、決定某些數(shù)據(jù)的權(quán)限。像玩家體驗遊戲時,恐怖內(nèi)容的出現(xiàn)時機,就是由AI來決定的。”
莉莉絲愣了一下:“什麼?這個也是AI決定的?”
顧凡點頭:“從目前的代碼看來,是的。
“莉總你之前不是特意要求過麼?希望戀愛內(nèi)容向恐怖內(nèi)容的轉(zhuǎn)變,必須是在『最佳的時間節(jié)點』。
“但很顯然,每個玩家的遊玩習(xí)慣不同,追的角色不同,參加的活動也不同。雖然我們可以設(shè)定一些特殊的觸發(fā)時機,比如亞爾薇特在海邊表白轉(zhuǎn)頭時變臉之類的,但光靠這些特殊的觸發(fā)時機顯然是不夠的。
“總不能每一次觸發(fā)都由我們設(shè)計好、然後在程序中寫死,那樣就會缺乏隨機性,玩家們很快就會總結(jié)出規(guī)律並加以預(yù)防,這也是與莉總你的設(shè)計背道而馳的。
“所以,我們最終採取的解決方式是讓AI參與到?jīng)Q策中來。
“讓AI根據(jù)遊戲內(nèi)的情況,結(jié)合特殊算法,在玩家最放鬆警惕的時候切入恐怖內(nèi)容。
“而這樣一來,我們就不得不開放GM工具的內(nèi)部接口給AI,允許AI去調(diào)用其中的一些代碼和操作。
“哦,這應(yīng)該也是正式版中程序員沒有最終刪掉這個GM工具的一個原因。”
莉莉絲嘴角微微抽動,她似乎知道問題在哪了。
“所以……實際上是AI錯誤調(diào)用了製作組已經(jīng)決定不再使用的廢案,是這樣嗎?
“難道製作組之前就沒考慮過這樣的可能性嗎??”
顧凡陷入沉思:“這個……恐怕是沒有考慮過的。
“從理論上來說,這種事情的發(fā)生概率並不高,製作組沒考慮這種可能也是很正常的。
“關(guān)鍵在於最新版本的fake-AI,它的智能程度到底能達到什麼水平,我們?nèi)镜侥壳盃?wèi)止還沒有人能徹底搞清楚,我也沒能徹底搞清楚。
“站在fake-AI的開發(fā)團隊那邊,他們當(dāng)然是希望這個AI越聰明越好,所以在技術(shù)突破後本身不會給它增加太多限制,而我們似乎嚴重低估了這個AI的能力,在給它開放了高權(quán)限之後,沒有作出特別詳細的限制……
“而後就出現(xiàn)了一些意料之外的情況。”
莉莉絲許久無言,最後,她有些茫然地說道:“你的意思是說,這些離譜的行爲(wèi),有很多其實都是出自於遊戲中AI的主觀意志?是她們自己決定這麼做的?
“就比如,最後是愛麗歐絲的AI自作主張,爲(wèi)玩家調(diào)出了這個GM界面?”
顧凡點頭:“從目前的情況來看……是的。”
莉莉絲瞬間靠在椅子上,雖然她看起來仍舊無法接受這一現(xiàn)實,但聯(lián)想到之前《天命臥龍傳》的離譜情況,這種事情倒也不是不可能發(fā)生。
要知道,《天命臥龍傳》的時候,AI可操作的僅限於遊戲內(nèi),而fake-AI就已經(jīng)搞出了那麼多幺蛾子。
而《心跳夢境》使用的fake-AI本身是版本迭代之後的結(jié)果,不僅更聰明,而且還被賦予了可以調(diào)用遊戲內(nèi)資源、甚至修改遊戲數(shù)據(jù)的權(quán)限。
刪一兩個遊戲角色文件、調(diào)用一些原本存在於遊戲中的廢案,似乎也不是不可能。
原本,這應(yīng)該是板上釘釘?shù)腷ug纔對。
如果是在其他的遊戲中,fake-AI幹出這些事情,絕對是嚴重的惡性bug,會嚴重影響玩家的遊戲體驗,肯定能產(chǎn)生大量的負面情緒。
可在《心跳夢境》裡就完全不同了!
由於之前的鋪墊,很多玩家都已經(jīng)將這些視爲(wèi)遊戲內(nèi)的一部分,此時遇到這些bug不僅不生氣,反而還感動得一塌糊塗,以至於負面情緒都大大減少了!
說好的fake-AI用來生成遊戲文本省時省力呢?
說好的即便用了fake-AI,應(yīng)該也不會對遊戲內(nèi)容產(chǎn)生太多影響呢?
莫名其妙地負負得正了!
莉莉絲感覺自己簡直是倒黴到家了,這裡面但凡有一個環(huán)節(jié)出問題,都不會產(chǎn)生這樣的結(jié)果,只會變成一連串影響玩家體驗的bug。
可偏偏陰差陽錯地,全都湊一起了!