那讲实际一点。
比方以 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