[攻略心得] wiki編隊功能的加強版(招募工具人+拋磚引玉)
1.寫在最前
入坑一個多月,感覺目前幾個Wiki的編隊功能都比較基礎,個人認為有必要整一個強化版的,所以做了一個原型
下述發佈的內容只是一個原型,由於是在在線表格裡實現的,使用起來不是很方便
這個項目旨在提供更多的信息,來幫助大家模擬不同盤子的差異,尤其適合對盤子進行微調時,感受和比較調整所帶來的結果
但由於遊戲內機制比較繁多,譬如有大量的暖機類型、臨時性的buff,因此我將很多信息進行了整合
譬如盤子的暖機會被歸類在一起,未來也許可以考慮細分,不過目前工作量太大= =
無論如何,即使功能始終只是一種模擬與參考
實戰中有太多變量(如不同類型暖機的速度、技能釋放的時機、場上怪物的情況等等)是無法模擬的
另外,目前也沒有計劃把生存回複相關的內容做進去(個人認為不太重要)
2.原型
原型是這個在線表格:
表格包含了:
1)主界面
包含
1>基本編隊界面(由於表格沒法讀圖,所以沒法用人物頭像來表達,之後轉成web版就不會有問題)
2>盤子的基本信息(攻擊、技能倍率、技能能量、初始技能槽)
攻擊是默認滿級的,後續可以考慮做成可自定義等級
也可以把血量、技能Hit數等加上,很容易實現
初始技能槽是需要根據人物的技能能力來算的,後面會說
3>加成及乘區信息
這部分是此功能最主要的展示項
如前述,對部分信息做了整合,未來可以再考慮細化
2)角色數據庫
實際上是通過數據庫的形式,把每個角色的信息進行拆解,便於去讀取相關信息在盤子裡計算
3)未完成部分
有3個基礎功能尚未完成,分別是武器和武器數據庫還沒做、角色數據庫的完善、技能軸的展示
後續做到Wiki上的時候,希望能實現這些功能,原理也都很簡單
3.算法
算法的邏輯並不難,即用戶在組盤子時,系統從角色數據庫調用信息,對比盤子中角色的信息,判斷是否符合,符合則給予給角色相應加成
核心點在於如果做判定,我這裡給出的判斷方式是利用質數的乘積,只能被這幾個質數整除的原理
假設,某角色的主位技能是給火屬性的隊長加攻擊30%,意味著要做3件事
1是這個角色(我暫稱為主體)在不在主位
2是盤子裡的角色(暫稱為受體)是不是隊長,是不是火屬性,需要對6個角色都做一次判定
3是判定成功的角色,獲得哪種類型的加成,加成值是多少
那麼,我賦予了隊長的常量是2,賦予主位的常量是3,賦予火屬性的常量是11
則在角色數據庫裡,這個技能的主體的判定要求是3,受體判定是2*3*11=66
在盤子裡,當要計算這個角色的這個技能時,先判斷這個角色的主體判定值,他如果在主位,但不是隊長,那他的判定為3,盤子的判定3/技能庫的判定3,餘0代表成功,技能可以發動
然後,過一遍盤子裡的6個角色,看哪個符合技能要求的受體判定66
比如,隊長是火屬性/人類(常量為31),則他的判定值是隊長2*主位3*火11*人類31=2046,2046/66餘0,判定成功
2號主位是風屬性(19)/精靈(37),則他的判定值是主位3*風19*精靈37=2109,2109/66不餘0,判定失敗,以此類推
這個判定方法也適用於多種族的角色,譬如人/精靈的角色,其角色的判定值會乘以人31,再乘精靈37,而技能要求種族不管是人還是精靈,角色判定值/技能判定值一定除得盡
當然,用這種判定最主要還是我受限於表格,不便於直接做文本比較,否則公式太長太亂
而用程序實現這些判定,也可以用文本比較的方式,但數據庫的字段可能會變多和過程計算量也會大一些(十年前的汽車電子開發工作經歷讓我對計算量有執著的要求)
4.拋磚引玉
發此內容的目的確實為拋磚引玉,我個人也有小10年沒寫過程序了,更是不會寫web程序,目前的工作也與這些毫無關聯
只是作為WF的愛好者,希望能在Wiki的編隊界面看到此功能上線
這個Wiki的幾位朋友也在準備著實製作此功能
同時,也歡迎願意幫忙的朋友加入來一起實現,特別是角色數據庫的錄入,是個體力活= =
我個人也不排斥其他Wiki來做類似的功能
無論誰做,我都希望有一個國服版本的數據庫可用,畢竟我是國服玩家
同時,我這個表格也暫時不會更新了,錄入角色信息實在麻煩,後續有錄入方面的問題我可以解答(指揮別人幹活的一把好手)
期待~