有幾個設定,我想與日後有興趣使用 tmi2_v3_改 的使用者討論一下。
等級
sanc 使採用 "level" 這個參數名。
原則上 tmi2_v3_改 一定是等級制的 mud,這是因為我一開始的出
發點就是希望它與中國式或東方式的 mud 有所區別。
那既然有等級就會有升級經驗值以及 lvupexp 等相關設定表,這東
西也會定義或公式化,讓使用者可視自己的需要做簡易的修改。
然後有一點很關鍵:等級是否可逆?
可逆的缺點就是好不容易升上一個等級,卻因故降低。
不可逆的缺點就是玩家會趁經驗 0 時幹一些事情。
雖然有好有壞,但為了避免麻煩一般會設定為不可逆,但也因此就
必須針對經驗 0 或小於一定值的玩家做限制,這就是配套的部份.
然後為了避免有玩家刻意壓等的情況,我也會設定陣亡時不會扣經
驗值(而會扣其它),等級會越練越強是一定的,因為使用者依舊可
透過控制其速度等手段,來讓遊戲時間近乎相同的玩家,其等級也
不會因此就一樣。
屬性
sanc 是採用 "stat" 這個參數名,它的做法是玩家登入時,它會依
據玩家的等級、種族、習得技能等資料,將它們傳到某公式函數去
產生出登入時的初始 stat (及 hp/sp) 等資料。
然後理論上如果玩家登入後就發呆不做任何事只是 score 然後也沒
有接受任何的 cast 的話,它的數值是不會變動的。
這並不是說它是一個固定的數值,而是每次呼叫那個公式函數,產
生的結果都是一樣的。
這樣設計的優點,就是 stat 由函數產生,不會受到玩家不正常離
線或狀態不正常的長久影響,每隔一段時間就會自我修正。
這樣設計的缺點,就是該函數會被頻繁呼叫,而且影響屬性的參數
越多(像 sanc 就包含等級、種族、裝備、技能、buff、後天 adv)
,每一次的呼叫時的 loading 就越重。
然後另一個問題就是,像「火屬性」也叫做屬性,那到底 stat 要
用「屬性」呢?還是用其它名字?
通常我會做屬性、屬系、抗性等名字的區別,因為正名很重要。
我預計為 tmi2_v3_改 規劃的做法是,玩家一登入時呼叫函數計算
出 stat 後,就不再頻繁呼叫該函數(不過偶爾還是會呼叫一下),
然後嚴謹撰寫各種令 stat 增減的程式段,如穿脫武防、buff 等
這樣既不需頻繁呼叫函數來修正 stat 又能令 stat 的讀取具有正
確性。
接著是 stat 的種類,分為確定的與不確定的
確定區 : 力量(str) 魔力(mag) 體質(con)
不確定區: dex air int fel agi luk
靈敏/敏捷 智慧/理性 氣勁
理論上,可以採 str/con/dex/agi/mag/int 六種屬性(類似 RO)。
str: 影響泛物理打擊力的傷害、負重
con: 影響 hp 大小、影響受到的所有種類傷害、自然回血數值
dex: 影響所有攻擊的命中率、影響物理技能熟練增加度
agi: 影響一回合普攻物理攻擊基本次數、迴避能力
mag: 影響 mp (sp) 大小、魔法攻擊力、影響受到的魔法攻擊傷
害、自然回魔數值
int: 影響魔法技能熟練增加度
種族
sanc 是採用 "race" 這個參數名。
原則上 tmi2_v3_改 為了讓使用者可設定多種族,因此預設就是多
種族,但是一開始的種族不會太多:
human : 人類
elf : 妖精
這兩個是確定會有的,使用者可依據種族設定的相關檔案,自行增
減遊戲內的種族種類。
原則上選了種族,就會確定其初期的屬性分配,例如說..
human: str-20 con-20 dex-20 agi-20 mag-20 int-20
elf : str-5 con-10 dex-20 agi-35 mag-30 int-20
然後玩家每升一級都能獲得一些增加點數,這部份使用者是可自訂
的,例如你要讓玩家能自己 adv、或者系統亂數決定要加哪些屬性
以及增加的量等。我個人比較傾向等級一增加,就依照種族的特性
加一些亂數來增加屬性,然後再給玩家可後天增加屬性的點數,讓
玩家可透過後天的選擇有限度逆轉先天的限制,比方
Lv1 str-20 con-20 dex-20 agi-20 mag-20 int-20
↓
Lv2 str-21 con-21 dex-20 agi-22 mag-20 int-21 自然增加結果
可分配點數: 6 後天可影響
分配後 str-27 con-21 dex-20 agi-22 mag-20 int-21 後天分配結果
可分配點數: 0
自然增加的情況影響會極微小,它的存在意義是為了避免出現完全
相同的情況,大部份的影響都是在後天點數的分配上。
而數值不會給很高。依據 sanc 的經驗,大數化固然看起來爽度夠
,但是在相關計算上只是給 wiz 找麻煩而已,因為數字越大越不容
易突顯「每增加 1 點所帶來的影響」。
技能
sanc 是使用 "skill" 這個欄位。
我預計讓 tmi2_v3_改 的技能不帶任何的屬性,也就是說玩家不會
因為學越多技能,其自然屬性值就越高。這可避免底下幾個問題
1.為了加屬性去學技能
2.為了加屬性去把技能值練高
3.避免技能學越多的人越強的錯覺出現
關鍵設定的部份就是,既然有技能值,就會有技能熟練度。以前流
行的做法就是 熟練度 >= (技能值+1) 的平方時,技能值就+1;後
期則有更變態的三次方出現。
但是後 mud 時代,不應讓玩家花費太多時間在練技能的時間上,
這是所有使用者應共通思考的問題。
那不管如何我都會將設定單純化,讓使用者方便視自己 mud 的需
要做公式上的修改。(不過基本上平方是需要的啦..)
以上幾個設定項目,想跟大家交流一下想法。