那講實際一點。
比方以 sanc-mudlib 要架出日本輕小說家川原礫的「刀劍神域」裡面
有著百層浮城遊艾恩葛朗特的 SAO online,視障朋友可將遊戲輔助相
關機械及軟體視為「NERvGear」:
小說裡: 玩家─透過─NERvGear→連進→SAO Online
現實裡: 視障朋友─透過─機器設備與軟體→連線→SAO mud
=============================================================
百層區域
包括城鎮、一般區域練功區、地下迷宮、怪物配置等,以區域產生器
搭配適合的物件產生程式,即可輕鬆產生。
敘述的部份就會較花時間,但是根據經驗,它可以由簡單到複雜,例
如一開始的敘述可能是
平原道路
一條筆直來往主城鎮與鄰村之間的道路。
後來的敘述可以是
平原道路
這裡是主城鎮外的道路,望眼所見盡是一片荒蕪,也看不到一片
田地,道路上只有兩三個冒險者。往西邊繼續走去的話,可通往
鄰近的村子。
而且這樣的敘述可透過「三段敘述法」構成,敘述的擴充與維護,不
需具備程式基礎亦可為之,但是要提供簡單的修改及擴充指令。
============================================================
NPC
一般 mudlib 就有支援怪物物件,sanclib 更簡易支援產生 npc、
副本 npc,搭配任務及副本系統,幾乎所有的 npc 都能產生。
當然敘述的部份也可事後補完,所以同樣需提供簡單的敘述修改及
擴充指令。
============================================================
怪物
個人一向認為怪物應避免寫 create 以外的函數,將怪物做個分類,
然後寫出各自的 inherit file,再依需要於 create 函數裡設定資
料欄位,例如
某怪物會特殊攻擊 - 設定為 "shut" 欄位
某怪物會施放特殊效果 - 設定為 "buff" 欄位
某怪物死前會如何如何 - 設定為 "die" 欄位
.
.
這個一般 mudlib 就辦得到,只是需要時間寫出各怪物繼承用樣本,
及資料欄位的對映效果 code 而已。
===========================================================
公會
在 sao 的世界裡有公會的存在,玩家可組成大大小小的公會,也就
是所謂的「公會」系統,這個拿 sanclib 的族群系統來改即可,就
算要重寫一個新的也不困難。
===========================================================
組隊
在 sao 的世界裡,玩家可以組隊練功打怪,這個一樣可拿 sanclib
的組隊系統來改即可。
===========================================================
戰鬥與技能
在 sao 的世界裡,戰鬥與技能很單純,普攻之外就是特攻
普攻 - 就像一般戰鬥時的自動進行模式
特攻 - 就像要按指令才能發出的攻擊
法術 - 在後期 sao+alo 並行時導入的設定
這三個 sanclib 都有都可支援,只差導入相關武器技能的普攻敘述
與特攻招式即可,特攻發動時可格開怪物攻擊的部份亦只需修改戰
鬥系統的閃格擋段落即可。
甚至 sanclib 有自創技能系統,要導入 OSS 秘笈系統也不無可能。
但是在 sao 的世界裡有所謂 switch 的攻擊替換概念,它的意思如
果要在 mud 模擬的話,比方你與怪物單挑
0秒 你出手攻擊怪物
怪物出手攻擊你
之後你與怪物的再次可發動攻擊的CD時間為 2 秒
2秒 你出手攻擊怪物
怪物出手攻擊你
之後你與怪物的再次可發動攻擊的CD時間為 2 秒
4秒 你出手攻擊怪物
怪物出手攻擊你
.
.
則當你與另一人組隊打這隻怪物時,就變成
0秒 你出手攻擊怪物
怪物出手攻擊你
之後你與怪物的再次可發動攻擊的CD時間為 2 秒
但是你的隊員這時卻是可攻擊的
你喊出 switch 換你退到後方,你的隊員上
1秒 你的隊員出手攻擊怪物
怪物還在CD時間,無法格擋
2秒 怪物出手攻擊你的隊員
你的隊員還在CD時間,喊出 switch 退到後方,換你上
你出手攻擊怪物順便擋下怪物攻勢
3秒 換你喊出 switch 退到後方,你的隊員上
你的隊員出手攻擊怪物
怪物還在CD時間,無法格擋
4秒 怪物出手攻擊你的隊員
你的隊員還在CD時間,喊出 switch 退到後方,換你上
你出手攻擊怪物順便擋下怪物攻勢
.
.
實際上這是辦不到的除非靠 timer 跟觸發。
所以這部份就不一定要模擬過來。
===========================================================
道具及物品
這個 sanclib 有虛擬物品系統可支援及簡易擴充,但重點在於特殊
的東西依舊要寫 code,有了 code 才能讓虛擬物品可套用。
而通常無法事先預知以後會有哪些物品。
所以如果是視障朋友經營這個 mud,說到底還是需要一般 wiz 的
協助,因為視障朋友要寫、要改 code 都是很困難的。
這是首要克服的問題。
===========================================================
武器與防具
基本上 sao 的世界裡,大部份的武防都是數值資料的設定而已,有
一小部份則是「有特殊效果」,這個只需在對映的程式段落補上去即
可。
但是跟道具及物品一樣,無法事先預知以後會有哪些武防,其特殊效
果只能靠事後補上。
===========================================================
人物素質設定
這個基本上仿 sao 的概念即可,比方 sao+alo 有 hp 及 sp,劍技
基本上不消耗 sp 但是有硬直時間,法術則會消耗 sp。
其它像是力量、敏捷等也只是數值設定。
重點在於要在這個 mud 導入哪些數值,以及這些數值要如何做說明
讓玩家瞭解,大概就是這樣而已。
===========================================================
小屋
玩家可以在 sao 的世界裡買小屋,這個 sanclib 有天空城之家的
系統,稍微改一改就可以了。
===========================================================
其它都是次要的部份,例如任務、特殊事件觸發、打王通關、各種
魔力水晶、各層各區域的名字、特色描述、釣魚系統、....SAO 要
在 mud 裡具現出來並不是那麼困難。
我上面提到的都是很實際的東西:
假設我要拿 sanclib 來寫出 sao 的話我需要考量哪些層面。
最重要的關鍵就是在「敘述」上面。
所以我後期才會主張敘述應該讓玩家參與提供,而不是都由 wiz去
做,玩家不提供,我的做法就是我用三段敘述法去產生敘述,我只
提供「基本的敘述」,並保證玩家「隨時」可對這些敘述做補充。
則玩家不想補充,敘述就永遠是那些,如果這就是玩家要的。
如果今天我輕小說造詣不錯,加上我的確有想要創造的世界,我是
不會把敘述的工作像是不負責任般地只想丟給玩家去做的,畢竟那
是我想創造的世界。但以 sanc 這個 mud 來說,我目前的工作頂多
只剩下讓主機及 mud 可以繼續運作罷了,sanc 以後會怎樣,我的
主張就是應該由玩家決定。
所以我的確有想創作新的 mud,而我想做的就是 sao,我可能會拿
tmi2-mudlib 為底,或甚至以 sanclib 為底,後者不會比前者簡單
,因為後者要移除很多不是我所寫的部份,除非我得到原作者 wiz
的同意。在這前提下如果再把視障朋友玩家這個族群考量進來,那
跟我想寫的 mud 其實也不會差太遠,頂多差在「防機」的處理上,
以及「迷宮」的複雜度上(可能用深度(depth)替代複雜度)。
PS、如果底下李家同這篇不是虎爛的
http://erdos.csie.ncnu.edu.tw/~rctlee/article/post39.htm
那或許我的既有觀念是錯的,視障朋友也是可以 coding 的。
Laechan@Sanc