顧凡繼續解釋道:“在進入遊戲、選擇職業的第一時間,係統不僅會硬塞給玩家一個本職業的基礎攻擊技能,還會再後台給玩家打上一個『職業標簽』。這個職業標簽與底層代碼沒有太多關聯,但在一些特殊情況下,相關功能會對這個標簽進行檢測。
“比如,玩家找訓練師學技能的時候。
“可現在的問題在於……因為涅法洛爾這個boss的獨特機製,也同樣賦予了玩家職業標簽!這就導致原本遊戲中的雙重限製,都被攻破了!”
莉莉絲的大腦有些過載:“等一下!涅法洛爾為什麼會賦予玩家職業標簽?你說清楚!”
顧凡輕輕歎了口氣:“這就要從涅法洛爾第三階段的這個點名機製說起了。
“看得出來,『點名』這個機製,是製作人在設計涅法洛爾這個boss時就想到的一個獨特機製,甚至可以說,就是為了這碟醋才包的餃子。
“但涅法洛爾作為第一個團本中的最終boss,它的設計本就比職業大改要更早。
“所以在最開始的時候,涅法洛爾並不能直接點名職業。因為那時候,玩家還沒有職業。
“為了完成點名的效果,製作人將機製設計成『涅法洛爾會根據玩家上一次對他釋放的技能來進行點名』。
“比如,上一個對他釋放過盾擊類技能的玩家,將會放棄使用盾牌;上一個用圖騰對他造成過傷害的玩家,將會插下各種圖騰反過來給他加buff。
“這種機製能夠給玩家造成一定的困難,但其實也給玩家提供了足夠的反製手段:隻要玩家在點名前,預先學習一個特定的、無關緊要的技能摸boss一下,就可以騙過boss,破解這一機製。
“而這本來就是原製作人允許甚至鼓勵的玩法。
“但後來改了職業設定,那麼涅法洛爾的機製,肯定也要進行一定的修改。原製作人一番小修小補之後,發現了一個令人有些蛋疼的問題,那就是點名職業時,經常會出現一些離奇的BUG,導致遊戲崩潰。
“比如,原本的設計是上一個對boss釋放過盾擊技能的玩家,會放棄使用盾牌;可現在盾擊變成了戰士和騎士都有的技能,而聖騎士又對應著其他的點名效果,必須摘出來。
“又比如,原本的設計是在團本中用變羊術控製過小怪的玩家,被點名後會對隨機隊友釋放變羊術。
“這個設計也有獨特設計意圖,它鼓勵玩家在之前的開荒過程中不要使用變羊術,雖然在打小怪時會大幅增加難度,但打最終boss時就會少一個滅團技能。
“這對於玩家來說,就多了一種戰術與取舍。
“但現在按職業劃分了,隻能改成『點名法師玩家對隊友使用變羊術』,可問題是,很多法師玩家壓根沒用過變羊術。甚至有可能沒學變羊術,這就會導致係統在通過變羊術技能來判斷法師玩家時,出現漏判。
“此外還可能出現一些極端的特殊情況,比如boss讀到了技能,但讀到了錯誤的玩家標簽,這種情況雖然概率極低,但程序bug這種東西,也不能說就是0。隻要玩家多,概率再低的問題也終究會出現。
“為了解決這些問題,尤其是為了解決漏判的情況,原製作人就又打了一個補丁,那就是當涅法洛爾點名時,優先判定玩家上一個對他的攻擊技能。
“而且為了避免遊戲後續可能出現的bug,在點名時,如果技能與職業標簽衝突,那麼以技能為準,並且還會在係統後台默認再給玩家一次對應的職業標簽,防止因為讀到錯誤的玩家標簽而自相矛盾、導致bug。
“這樣一來,至少玩家在打涅法洛爾這個boss的時候,不會因為點名和職業問題而發生報錯、造成遊戲崩潰。
“而後等玩家下線之後,係統會重新清理玩家身上的職業標簽,下次上線就會回到原點。
“隻是沒想到……有玩家恰好沒下線,而且去找其他職業的訓練師對話了。”
莉莉絲都快聽傻了。
這是什麼屎山疊屎山的終極稀碎代碼!
原本的設計是一種情況,修改的設計是另一種情況,而為了讓修改後的設計能夠正常運行,程序員又在上麵糊了一層代碼,雖然表麵上也勉強完成了原本設計好的功能,但鬼知道這個功能具體是怎麼實現的!
就拿這個涅法洛爾來說,原本的設計本來挺好的,可就是因為『職業設定』這個修改,讓原本的設計必須調整,而這一調整就會出bug,為了修bug,又引發了更多的bug……
顯然,玩家在挑戰涅法洛爾的過程中,不僅是騙過了涅法洛爾,也把係統給搞混亂了。
通過玩家技能來釋放點名效果,這是最初的設計,關聯到太多的底層代碼,所以不能改,一改就有可能出大問題。
表麵上是點名職業,但實際上還是在點名技能。
而點名技能有可能與後麵加入的職業代碼衝突,既然如此,那就隻能以點名技能為準,強行給玩家賦予一個額外的職業代碼,讓功能跑通。