第275章 什麼屎山代碼!

  第275章 什麼屎山代碼!

  顧凡繼續解釋道:「在進入遊戲、選擇職業的第一時間,系統不僅會硬塞給玩家一個本職業的基礎攻擊技能,還會再後台給玩家打上一個『職業標籤』。這個職業標籤與底層代碼沒有太多關聯,但在一些特殊情況下,相關功能會對這個標籤進行檢測。

  「比如,玩家找訓練師學技能的時候。

  「可現在的問題在於……因為涅法洛爾這個boss的獨特機制,也同樣賦予了玩家職業標籤!這就導致原本遊戲中的雙重限制,都被攻破了!」

  莉莉絲的大腦有些過載:「等一下!涅法洛爾為什麼會賦予玩家職業標籤?你說清楚!」

  顧凡輕輕嘆了口氣:「這就要從涅法洛爾第三階段的這個點名機制說起了。

  「看得出來,『點名』這個機制,是製作人在設計涅法洛爾這個boss時就想到的一個獨特機制,甚至可以說,就是為了這碟醋才包的餃子。

  「但涅法洛爾作為第一個團本中的最終boss,它的設計本就比職業大改要更早。

  「所以在最開始的時候,涅法洛爾並不能直接點名職業。因為那時候,玩家還沒有職業。

  「為了完成點名的效果,製作人將機制設計成『涅法洛爾會根據玩家上一次對他釋放的技能來進行點名』。

  「比如,上一個對他釋放過盾擊類技能的玩家,將會放棄使用盾牌;上一個用圖騰對他造成過傷害的玩家,將會插下各種圖騰反過來給他加buff。

  「這種機制能夠給玩家造成一定的困難,但其實也給玩家提供了足夠的反制手段:只要玩家在點名前,預先學習一個特定的、無關緊要的技能摸boss一下,就可以騙過boss,破解這一機制。

  「而這本來就是原製作人允許甚至鼓勵的玩法。

  「但後來改了職業設定,那麼涅法洛爾的機制,肯定也要進行一定的修改。原製作人一番小修小補之後,發現了一個令人有些蛋疼的問題,那就是點名職業時,經常會出現一些離奇的BUG,導致遊戲崩潰。

  「比如,原本的設計是上一個對boss釋放過盾擊技能的玩家,會放棄使用盾牌;可現在盾擊變成了戰士和騎士都有的技能,而聖騎士又對應著其他的點名效果,必須摘出來。

  「又比如,原本的設計是在團本中用變羊術控制過小怪的玩家,被點名後會對隨機隊友釋放變羊術。

  「這個設計也有獨特設計意圖,它鼓勵玩家在之前的開荒過程中不要使用變羊術,雖然在打小怪時會大幅增加難度,但打最終boss時就會少一個滅團技能。

  「這對於玩家來說,就多了一種戰術與取捨。

  「但現在按職業劃分了,只能改成『點名法師玩家對隊友使用變羊術』,可問題是,很多法師玩家壓根沒用過變羊術。甚至有可能沒學變羊術,這就會導致系統在通過變羊術技能來判斷法師玩家時,出現漏判。

  「此外還可能出現一些極端的特殊情況,比如boss讀到了技能,但讀到了錯誤的玩家標籤,這種情況雖然概率極低,但程序bug這種東西,也不能說就是0。只要玩家多,概率再低的問題也終究會出現。

  「為了解決這些問題,尤其是為了解決漏判的情況,原製作人就又打了一個補丁,那就是當涅法洛爾點名時,優先判定玩家上一個對他的攻擊技能。

  「而且為了避免遊戲後續可能出現的bug,在點名時,如果技能與職業標籤衝突,那麼以技能為準,並且還會在系統後台默認再給玩家一次對應的職業標籤,防止因為讀到錯誤的玩家標籤而自相矛盾、導致bug。

  「這樣一來,至少玩家在打涅法洛爾這個boss的時候,不會因為點名和職業問題而發生報錯、造成遊戲崩潰。

  「而後等玩家下線之後,系統會重新清理玩家身上的職業標籤,下次上線就會回到原點。

  「只是沒想到……有玩家恰好沒下線,而且去找其他職業的訓練師對話了。」

  莉莉絲都快聽傻了。

  這是什麼屎山疊屎山的終極稀碎代碼!

  原本的設計是一種情況,修改的設計是另一種情況,而為了讓修改後的設計能夠正常運行,程式設計師又在上面糊了一層代碼,雖然表面上也勉強完成了原本設計好的功能,但鬼知道這個功能具體是怎麼實現的!

  就拿這個涅法洛爾來說,原本的設計本來挺好的,可就是因為『職業設定』這個修改,讓原本的設計必須調整,而這一調整就會出bug,為了修bug,又引發了更多的bug……

  顯然,玩家在挑戰涅法洛爾的過程中,不僅是騙過了涅法洛爾,也把系統給搞混亂了。

  通過玩家技能來釋放點名效果,這是最初的設計,關聯到太多的底層代碼,所以不能改,一改就有可能出大問題。

  表面上是點名職業,但實際上還是在點名技能。

  而點名技能有可能與後面加入的職業代碼衝突,既然如此,那就只能以點名技能為準,強行給玩家賦予一個額外的職業代碼,讓功能跑通。

  至少讓玩家在團本過程中不至於遊戲報錯、崩潰或者產生類似的嚴重後果。

  等玩家下線之後,再清理掉這些額外加上去的亂七八糟的東西。

  可沒想到,層層修改之後,代碼雖然勉強運行了起來,但卻產生了更大的漏洞。

  這才導致玩家陰差陽錯地繞開了『技能』和『職業標籤』這兩重限制,解鎖了其他職業的技能和天賦!

  而這一解鎖,可就再也攔不住了。

  只要玩家學了任意一個職業的技能,那麼按照系統功能,就會默認為他打上相應的系統標籤。這個系統標籤偏偏不是唯一的,是可以同時存在多個的。

  所以,才有了這麼多的「全職業玩家」出現……

  莉莉絲感覺自己的腦仁都快炸了,這次問題的複雜程度有些遠超她的想像。

  關鍵是,這個解釋還真的挺合理的!

  有理有據,甚至前因後果都很清晰。

  「可是,顧凡!我們為什麼沒有把這個遺留問題改掉?」莉莉絲有些憤怒地問道。

  顧凡震驚了:「莉總,你聽聽你在說什麼!

  「我們哪有這個時間啊!

  「遊戲從買來之後,我們就一直在馬不停蹄地開發新功能,包括另外的兩個大型團本,以及美術資源的全面替換,還有遊戲的各種bug修復……

  「惡性bug都只是勉強改完,哪可能去深究這種表面上看起來完全正常的功能啊?

  「要找到這個漏洞,那得需要大量的測試,甚至不知道還要在原本的屎山代碼中挖多深,你覺得就我們這個開發時間,夠嗎?

  「當然,你要願意給個一兩年的開發時間,我們把這遊戲推翻重做都行。

  「但又回到最初的那個問題,莉總你決定買《魔界紛爭》這款遊戲,本來不就是為了省時間嗎?

  「推翻底層代碼重寫,我們買它的意義何在?」

  莉莉絲呆住了,顧凡說得好有道理,完全無法反駁!

  《陰影世界》為什麼出問題?

  因為《魔界紛爭》本身就是個半成品,功能大改過,還有著各種各樣離奇的小bug。

  可買《魔界紛爭》這本來就是莉莉絲做出的決定,是她為了趕工期,非要當接盤俠的。

  嚴格來說,逆天堂的團隊開發效率已經很可怕了,在這麼短的時間內,不僅多開發出了兩個全新的團本,還完成了遊戲優化、系統修復等一系列的工作。

  目前《魔界紛爭》竟然只出了這麼一個bug,而沒有出現諸如遊戲崩潰、反覆報錯、巨大刷金漏洞等惡性bug,這已經堪稱神技。

  如果換成其他的遊戲公司,做到這種程度早都該開香檳了。

  這種級別的頂級程式設計師去哪找?

  可莉莉絲難受就難受在這一點了。

  如果真是遊戲崩潰、反覆報錯、刷金漏洞等bug,她反而心裡還好受一點,畢竟勸退了玩家,也能產生不少的負面情緒。

  可現在這個bug,不僅沒有勸退玩家,反而讓玩家們爽到了!

  (本章完)