第275章 什麼屎山代碼!
顧凡繼續解釋道:“在進入遊戲、選擇職業的第一時間,系統不僅會硬塞給玩家一個本職業的基礎攻擊技能,還會再後臺給玩家打上一個『職業標籤』。這個職業標籤與底層代碼沒有太多關聯,但在一些特殊情況下,相關功能會對這個標籤進行檢測。
“比如,玩家找訓練師學技能的時候。
“可現在的問題在於……因爲涅法洛爾這個boss的獨特機制,也同樣賦予了玩家職業標籤!這就導致原本遊戲中的雙重限制,都被攻破了!”
莉莉絲的大腦有些過載:“等一下!涅法洛爾爲什麼會賦予玩家職業標籤?你說清楚!”
顧凡輕輕嘆了口氣:“這就要從涅法洛爾第三階段的這個點名機制說起了。
“看得出來,『點名』這個機制,是製作人在設計涅法洛爾這個boss時就想到的一個獨特機制,甚至可以說,就是爲了這碟醋才包的餃子。
“但涅法洛爾作爲第一個團本中的最終boss,它的設計本就比職業大改要更早。
可買《魔界紛爭》這本來就是莉莉絲做出的決定,是她爲了趕工期,非要當接盤俠的。
“又比如,原本的設計是在團本中用變羊術控制過小怪的玩家,被點名後會對隨機隊友釋放變羊術。
“但後來改了職業設定,那麼涅法洛爾的機制,肯定也要進行一定的修改。原製作人一番小修小補之後,發現了一個令人有些蛋疼的問題,那就是點名職業時,經常會出現一些離奇的BUG,導致遊戲崩潰。
莉莉絲感覺自己的腦仁都快炸了,這次問題的複雜程度有些遠超她的想象。
莉莉絲都快聽傻了。
等玩家下線之後,再清理掉這些額外加上去的亂七八糟的東西。
“只是沒想到……有玩家恰好沒下線,而且去找其他職業的訓練師對話了。”
“爲了完成點名的效果,製作人將機制設計成『涅法洛爾會根據玩家上一次對他釋放的技能來進行點名』。
“但又回到最初的那個問題,莉總你決定買《魔界紛爭》這款遊戲,本來不就是爲了省時間嗎?
“推翻底層代碼重寫,我們買它的意義何在?”
這才導致玩家陰差陽錯地繞開了『技能』和『職業標籤』這兩重限制,解鎖了其他職業的技能和天賦!
“比如,原本的設計是上一個對boss釋放過盾擊技能的玩家,會放棄使用盾牌;可現在盾擊變成了戰士和騎士都有的技能,而聖騎士又對應着其他的點名效果,必須摘出來。
如果換成其他的遊戲公司,做到這種程度早都該開香檳了。
“而且爲了避免遊戲後續可能出現的bug,在點名時,如果技能與職業標籤衝突,那麼以技能爲準,並且還會在系統後臺默認再給玩家一次對應的職業標籤,防止因爲讀到錯誤的玩家標籤而自相矛盾、導致bug。
顯然,玩家在挑戰涅法洛爾的過程中,不僅是騙過了涅法洛爾,也把系統給搞混亂了。
所以,纔有了這麼多的“全職業玩家”出現……
這是什麼屎山迭屎山的終極稀碎代碼!
原本的設計是一種情況,修改的設計是另一種情況,而爲了讓修改後的設計能夠正常運行,程序員又在上面糊了一層代碼,雖然表面上也勉強完成了原本設計好的功能,但鬼知道這個功能具體是怎麼實現的!
就拿這個涅法洛爾來說,原本的設計本來挺好的,可就是因爲『職業設定』這個修改,讓原本的設計必須調整,而這一調整就會出bug,爲了修bug,又引發了更多的bug……
“遊戲從買來之後,我們就一直在馬不停蹄地開發新功能,包括另外的兩個大型團本,以及美術資源的全面替換,還有遊戲的各種bug修復……
“當然,你要願意給個一兩年的開發時間,我們把這遊戲推翻重做都行。
因爲《魔界紛爭》本身就是個半成品,功能大改過,還有着各種各樣離奇的小bug。
“爲了解決這些問題,尤其是爲了解決漏判的情況,原製作人就又打了一個補丁,那就是當涅法洛爾點名時,優先判定玩家上一個對他的攻擊技能。
“可是,顧凡!我們爲什麼沒有把這個遺留問題改掉?”莉莉絲有些憤怒地問道。
“比如,上一個對他釋放過盾擊類技能的玩家,將會放棄使用盾牌;上一個用圖騰對他造成過傷害的玩家,將會插下各種圖騰反過來給他加buff。
而點名技能有可能與後面加入的職業代碼衝突,既然如此,那就只能以點名技能爲準,強行給玩家賦予一個額外的職業代碼,讓功能跑通。 至少讓玩家在團本過程中不至於遊戲報錯、崩潰或者產生類似的嚴重後果。
通過玩家技能來釋放點名效果,這是最初的設計,關聯到太多的底層代碼,所以不能改,一改就有可能出大問題。
這種級別的頂級程序員去哪找?
可莉莉絲難受就難受在這一點了。
嚴格來說,逆天堂的團隊開發效率已經很可怕了,在這麼短的時間內,不僅多開發出了兩個全新的團本,還完成了遊戲優化、系統修復等一系列的工作。
“這個設計也有獨特設計意圖,它鼓勵玩家在之前的開荒過程中不要使用變羊術,雖然在打小怪時會大幅增加難度,但打最終boss時就會少一個滅團技能。
“惡性bug都只是勉強改完,哪可能去深究這種表面上看起來完全正常的功能啊?
莉莉絲呆住了,顧凡說得好有道理,完全無法反駁!
而這一解鎖,可就再也攔不住了。
“而這本來就是原製作人允許甚至鼓勵的玩法。
只要玩家學了任意一個職業的技能,那麼按照系統功能,就會默認爲他打上相應的系統標籤。這個系統標籤偏偏不是唯一的,是可以同時存在多個的。
關鍵是,這個解釋還真的挺合理的!
有理有據,甚至前因後果都很清晰。
“但現在按職業劃分了,只能改成『點名法師玩家對隊友使用變羊術』,可問題是,很多法師玩家壓根沒用過變羊術。甚至有可能沒學變羊術,這就會導致系統在通過變羊術技能來判斷法師玩家時,出現漏判。
“而後等玩家下線之後,系統會重新清理玩家身上的職業標籤,下次上線就會回到原點。
“要找到這個漏洞,那得需要大量的測試,甚至不知道還要在原本的屎山代碼中挖多深,你覺得就我們這個開發時間,夠嗎?
“此外還可能出現一些極端的特殊情況,比如boss讀到了技能,但讀到了錯誤的玩家標籤,這種情況雖然概率極低,但程序bug這種東西,也不能說就是0。只要玩家多,概率再低的問題也終究會出現。
目前《魔界紛爭》竟然只出了這麼一個bug,而沒有出現諸如遊戲崩潰、反覆報錯、巨大刷金漏洞等惡性bug,這已經堪稱神技。
“這樣一來,至少玩家在打涅法洛爾這個boss的時候,不會因爲點名和職業問題而發生報錯、造成遊戲崩潰。
顧凡震驚了:“莉總,你聽聽你在說什麼!
“我們哪有這個時間啊!
“所以在最開始的時候,涅法洛爾並不能直接點名職業。因爲那時候,玩家還沒有職業。
“這種機制能夠給玩家造成一定的困難,但其實也給玩家提供了足夠的反制手段:只要玩家在點名前,預先學習一個特定的、無關緊要的技能摸boss一下,就可以騙過boss,破解這一機制。
《陰影世界》爲什麼出問題?
“這對於玩家來說,就多了一種戰術與取捨。
表面上是點名職業,但實際上還是在點名技能。
可沒想到,層層修改之後,代碼雖然勉強運行了起來,但卻產生了更大的漏洞。
如果真是遊戲崩潰、反覆報錯、刷金漏洞等bug,她反而心裡還好受一點,畢竟勸退了玩家,也能產生不少的負面情緒。
可現在這個bug,不僅沒有勸退玩家,反而讓玩家們爽到了!