作者laechan (挥泪斩马云)
看板mud
标题Re: [讨论] MUD 危险了 ?
时间Sat Jul 13 17:39:34 2019
本来打了一堆...改成闲聊一下。
身为 mud 的 coder 及管理者,我目前并不鼓励任何人投入 mud
多人游戏的开发,因为目前要「多人」很难,要投入人力去「开
发多人游戏型 mud」更难。
我很早就有想过这一点,比方以区域来说,我自2013年起,就有
写一些辅助工具,用来缩短创作区域的时间,目前已能做到可在
短时间内:
1.产生区域 x-x 地图及建议行走路线
2.依照 x-x 地图产生区域房间,其路线与 x-x 一致
3.依三段叙述原则,写三个阵列存每一段的叙述,再随机组合它
们,就能产生每个房间所需的叙述
4.不撰写怪物档,改撰写怪物设定集,再透过程式让它读取设定
write_file成怪物 .c 物件档,再透过适当写法让这个区域总
是有怪物,怪物量总是维持在一定数量内。
5.怪物掉落物的部份,不撰写实体物品档,而是改撰写虚拟物品
设定集,就能让怪物改掉落虚拟物品。
6.甚至也不写 npc 了,改撰写 npc 设定集,房间载入时就依照
设定集产生 npc。
7.甚至也不在房间写 init 去写任务或 ask/answer 这些了,撰
写任务系统,通通使用 quest 指令就搞定了。
8.甚至撰写副本系统,让同一个区域可在同时间产生多个副本,
满足多个玩家想同时打这个区域(且各自独立)的期望,还可以
办比赛,同时进副本,看谁最快通关。
.
.
可是写了这麽多,最终会卡在一个东西----素材。
素材是什麽呢?比方以小说刀剑神域为例,桐人最後释出了茅场
晶彦给他的 the seed 世界的种子,这东西是什麽呢?依照小说
的描述:
==============================================================
世界的种子.
那是茅场开发的,为了能运行基于完全潜行系统的全感觉VR环境
,它还拥有一系列文件名以"THESEED"开头的接口程序.
茅场整理了自动运行的SAO服务器的"cardinal【カーディナル】"
系统进行缩编【ダウンサイジング】,不仅留下了小规模服务器
能运行的部分,也留下能够让其在更高级的服务器上运行的游戏
开发支援环境组件包。
也就是说,想要创造VRWORLD的话,就算利用回路一般的服务器,
只要将接口程序下载,进行3D建模设计,或者干脆利用现成的配置
,如果程序能够运行,就能诞生一个世界。
==============================================================
素材指的就是上面的开发支援环境组件包。
例如以星海争霸这个游戏来说,它的地图编辑器就类似这样的东
西,它提供了很多组成区域的素材,让使用者可创建各式各样的
区域。
https://www.youtube.com/watch?v=pNhJPQvW-pc
mud 房间的组成要素之一,区域叙述,我上面提到的三段叙述组
合方式,就有一点像是在写这个区域所需的房间所需的叙述的素
材:
第一段叙述群──┐
第二段叙述群──┼─随机组合成一个房间叙述
第三段叙述群──┘
而我思考的「素材」则是更根源的
区域叙述素材一──┐
区域叙述素材二──┤ ┌─第一段叙述群──┐
区域叙述素材三──┼──┼─第二段叙述群──┼─随机组合成一个房间叙述
. │ │ └─第三段叙述群──┘
. │ │
区域叙述素材X──┘
以沙漠这样的区域为例,一般会有一些常见的词儿,例如:
沙漠、沙地、黄沙、飞沙、沙砾、荒凉、死寂、燥热、酷热、炙
热、艳阳、宽广、无边、流砂、绿洲、仙人掌、骆驼、蠍子、秃
鹰、地平线、.....
透过适当的组合器,可随机组合出下面的东西:
酷热 宽广 无边 黄沙
↓
在这片既酷热又宽广无边的黄沙里
荒凉 沙地 秃鹰
↓
几只饥渴的秃鹰盘旋於荒凉的沙地之上
死寂 蠍子
↓
四周是死寂的世界,除了几只偶尔会突然躜出来的蠍子
然後组合成一个基本的房间叙述:
在这片既酷热又宽广无边的黄沙里,几只饥渴的秃鹰盘旋於荒凉
的沙地之上,四周是死寂的世界,除了几只偶尔会突然躜出来的
蠍子。
我认为最基本的,是要提供素材,以及适当的素材组合方式,至
於像「在这片既酷热又宽广无边的黄沙里」这样的叙述则可以透
过人脑去「脑补」,不一定要提供完整的自动产生方式,也就是
说:
超详细的素材 + AI级的组合程式 → 马上可用的叙述
不需要。
┌─────────────────────┐
↓ │
够多的素材 + 适当的组合程式 → 产生随机组合 → 无法用,舍弃 →┘
│
└───→ 可用,靠脑补产生可用的叙述
至少要能做到这样。
当很多相关的物件都有足够多的素材+适当的组合程式,可藉此
产生可用的各式各样的「描述」时,mud 说穿了就是一堆描述的
组合,开发才会快,才会顺。
也就是说,传统上,所谓释出一个 mudlib 给人架 mud,以现代
的角度来看,那个几乎得从无到有去开发,并开发到一个程度才
能真的拿来玩。应该要释出的,是里面已包含架 mud 所需的各种
素材包,我拿到这个 mudlib,比方我要写什麽,素材包里面就已
包含我想要的各种材料,我直接拿来用就好了不用从无到有。
那 mud 实际上是各种文字的组合,可随意复制贴上,这代表开发
叙述(描述)的环境不一定要写在 mud 里头。什麽叫开发环境不一
定要写在 mud 里头呢,底下我曾贴过的东西就是例子:
http://sites.google.com/view/randomapv1
我可以在「外部」产生出我想要的东西,再复制贴到「mud 内」
同理,我上面提到的东西也一样,我们假设将来有一个网页工具
,它的介面如下
请选择物件: 区域 请选择区域类型: 森林 [执行]
第一段叙述产生区
┌───────────────────────────────────┐
│#define LONG_MSG1 ({\ │
│"越往树海的中心走,越感受到自己踏入的是一座非常古老的原始森林",\ │
│"道路上遍布着落叶,但令你感到奇怪的是,断枝却十分稀少",\ │
│"存在已久的森林总是有几个令附近的城民感到恐惧的传说",\ │
│}) │
└───────────────────────────────────┘
第二段叙述
┌───────────────────────────────────┐
│#define LONG_MSG2 ({\ │
│"森林覆盖范围每年都在变化,彷佛这些林木是种在会移动的植披地毯似的",\ │
│"明明就没有风,头顶却传来像是风吹过的树枝嘎吱声响",\ │
│"这座森林的可怕传说,一定程度降低了附近城民屯垦的意愿",\ │
│}) │
└───────────────────────────────────┘
第三段叙述
┌───────────────────────────────────┐
│#define LONG_MSG2 ({\ │
│"道路被层层交错缠绕的巨大根藤覆盖\,严重拖慢着前进的速度",\ │
│"遍布着落叶的道路走起来有点滑,走起路来得小小翼翼哪",\ │
│"一路上都看不到啥人,真不晓得眼前这条看似道路的东西是怎麽形成的",\ │
│}) │
└───────────────────────────────────┘
使用者可以一直按 [执行] 钮,它会一直产生随机的三段叙述集
,看到中意的就是复制贴上,甚至可自己再改一下,就能产生适
合自己区域的三段叙述集,贴到以指定的 mudlib(the seed) 所
架的 mud 所指定的地方 save 起来,就能让自己的区域产生出叙
述。
概念是这样。
当区域的房间叙述可藉由工具产生时,想想这可节省多少开发时
间,然後不只是区域叙述,比方 npc 的中英文名字、技能名字、
npc 的描述语句、怪物的攻击方式描述、技能的招式名、技能的
招式叙述等......通通都有对应的工具可藉以产生。
例如以 sword 类的持剑 en 类攻击为例,可能有:
$N手握$W对着$O使出$S
$N手握$W, 对$O使出$S
$N手握$W, 一招$S划向了$O
$N顺手挥出$W刺向$O
$N使出一招$S击向了$O
$N反手使出了$S砍向$O
$N手握$W, 一招$S砍向$O
$N手握$W, 施展$S斜刺$O
$N手握$W, 一招$S疾刺$O
$N手握$W, 以一招$S直劈$O
.
.
各位想想看,剑类的 en 攻击可能很多 mud 都有,都要写,难
道叫每个架站的人或是 coder 都从零开始写吗?那会浪费多少
宝贵的时间----只为想这些每个 mud 都有的东西。
虽然这篇是重打的但好像还是讲了落落长一堆..抱歉..
想说的是,如果真的要从现在开发一个新的 mud,那应该优先思
考的,是怎麽在一开始,节省大家花在「开发」上的时间。
(後续还有很多多人共同开发会面临到的问题先不谈)
比方假设要写 SAO 的艾恩葛朗特区域,它是一个百层区域,每一
层实际上都类似一座大陆区域(里面为大大小小各型区域的复合)
,那可以思考的是,有没有什麽快速开发这类区域的手段?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.66.104 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud/M.1563010779.A.23E.html
1F:→ bnn : 这个写出来会拿去当故事/小说产生器 61.228.244.224 07/13 18:11
2F:推 dannielz : 推活跃的Laechan大 61.228.120.12 07/13 18:24
3F:推 iamspp : 用心推 106.1.85.37 07/13 23:02
4F:→ laechan : 主角群人设产生器是做得到的 223.141.27.61 07/14 07:36
5F:→ laechan : 人设产生後,有时就能有故事架构灵 223.141.27.61 07/14 07:47
6F:推 dontpkme : 用心推 220.136.43.180 07/18 14:47
7F:推 alibuda174 : 用心推 140.110.200.41 07/26 13:32