作者laechan (小太保)
看板mud
标题Re: [闲聊] tmi2-mudlib 的更改
时间Wed Jun 18 15:12:59 2014
网页好读版:
http://webptt.com/cn.aspx?n=bbs/mud/M.1403075582.A.920.html
本次释出 20140618 版本,最重要的目的在於解说何谓「素材」。
比方,某位 tmi2_v3_改 的使用者,以区域生产组合制作了一个区
域,则它只要释出「相关设定」,其它 tmi2_v3_改 的使用者就可
以立即在自己的 mud 制作出相同的区域,甚至还可以先略做修改再
丢进自己 mud 的区域生产组合。
以 sanc 的「菲里德古堡外围」为例,底下就是释出素材范例
// hiei@sanc 2013/02/01
// 怪物名字提供: opb@sanc
// 房间怪物资料
// ({"怪物档名",等级,"种族","单位","id资料","怪物名称",是否自动攻击})
#define AREA_CLONE_MOBS ({\
({"mob1",81,"魔物","朵",({"vampire-bite flower","flower"}),\
RED"吸血"HIM"噬人花"NOR,1}),\
({"mob2",83,"魔物","只",({"tour-magic cat","cat"}),\
HIY"巡曳"HIB"魔法猫"NOR,1}),\
({"mob3",84,"魔物","位",({"nail-bone soldier","soldier"}),\
RED"钉"NOR"钯"HIP"骸骨兵"NOR,1}),\
({"mob4",135,"魔物",({"shadow knight","knight"}),\
HIP"黑"NOR+MAG"影"HIP"骑士"NOR,1}),\
})
// 房间 long 资料
// 玩家 opb@sanc 2013/07/09
// 底下即三段叙述
#define AREA_LONGS ({\
({\
"一走进这里,立刻感受到一股莫名的压力",\
"这里长年不受日照,漆黑阴森的气氛,令人不寒而栗",\
"因为古堡受到的诅咒,花园里也是充满着诡异的气氛",\
"走到这里,映入眼帘的尽是一幅残破又杂乱的画面",\
"在这暗无天日的花园中穿梭着,视线似乎有点模糊",\
"走在蜿蜒的小路上,寂静中偶尔听到微弱的声音",\
"好不容易来到这里,眼前仍是一片阴暗,空气中的湿气更重了",\
"终於又向前走了一段路,四周气氛变得越发诡谲",\
"到处遍布着的斑斑血迹令人触目惊心,不晓得已存在多久",\
}),\
({\
"遍布满地的是散乱而不完整的骸骨",\
"沿途看到的石墙上,布满杂乱的藤蔓",\
"远方有一个乾凅的喷水池,里面的是暗红色的血渍",\
"道路的尽头处有个看似驼背的人影,手里似乎拿着钉钯",\
"窜动的噬人花,正在啃食着地上的骸骨,发出可怕的声音",\
"看着高耸的古堡,却弄不清楚是近是远",\
"空气中迷漫着一股令人不舒服的潮湿气味",\
"这里的花草树木常常透着一股阴气,似乎正打算着要吞噬什麽一样",\
}),\
({\
"遍植在此处的噬人花,彷佛因为你的出现而动地更厉害",\
"看着眼前的景象,心里不禁怀疑这里曾经真的是个花园吗",\
"令人完全不愿在这里多待一秒,只想快点离开这里",\
"地上的骸骨说明了这里曾经埋葬了多少冒险者呢",\
"路上的石像已看不出原来的样子,这座古堡究竟有多长远的历史呢",\
"昏暗的花园让人分不清方向,不知道走到了尽头还是另有出路",\
"站在原地向天空望去,除了古堡几乎什麽也看不到",\
"你必须紧绷全身的神经,才能应付随时会出现的事物",\
"你心想再不快点走出这个花园,可能就会成为花园的一部份了",\
}),\
})
地图资料
x x-x x-x x-x-x-x x-x-x
| | | | | | | |
x-x-x-x x-x x x x x-x-x
| | | | | | | |
x-x-x x-x-x-x-x-x-x-x-x x-x-x x
| | | | | | | | |
x x-x-x-x x x-x-x x-x
| | | | |
x-x x-x-x x x-x-x x-x
| | | | | |
x x x-x x-x-x-x x-x
| | | | | |
x x-x-x-x-x x x-x x-x
| | | | |
x-x x-x-x x-x x-x x
| | | | | | |
x x-x-x-x-x x x x-x-x-x-x-x
| | | | | | |
x-x-x-x-x-x-x x-x-x-x-x-x-x-x-x-x-x-x
001 002-003 004-005 006-007-008-009 010-011-012
| | | | | | | |
013-014-015-016 017-018 019 020 021 022-023-024
| | | | | | | |
025-026-027 028-029-030-031-032-033-034-035-036 037-038-039 040
| | | | | | | | |
041 042-043-044-045 046 047-048-049 050-051
| | | | |
052-053 054-055-056 057 058-059-060 061-062
| | | | | |
063 064 065-066 067-068-069-070 071-072
| | | | | |
073 074-075-076-077-078 079 080-081 082-083
| | | | |
084-085 086-087-088 089-090 091-092 093
| | | | | | |
094 095-096-097-098-099 100 101 102-103-104-105-106-107
| | | | | | |
108-109-110-111-112-113-114 115-116-117-118-119-120-121-122-123-124-125-126
这份地图实际参考底下的地图档,并以 drawmap 绘成
http://imgur.com/SZyE89x.jpg
在 sanc 看到的地图如下
http://imgur.com/kMJi7VN.jpg
可以发现两者是非常像的。
房间名称的设定部份
040: 菲里德古堡外围 - 大门 - <= 从南城森林接过来的入口
057: 菲里德古堡外围 - 主馆入口 - <= 进入古堡的地方
019: 菲里德古堡外围 - 北馆入口 - <= 进入古堡北馆的地方
001:
012:
108: <= 这四个房间名称都是 菲里德古堡外围 - 卫哨 -
126:
其它房间的名称: 菲里德古堡 - 外围 -
以上就是用在 area_room.c 里面。
拿到这份素材的人,它可以只用「地图」的部份,也可以增加使用
「区域叙述」的部份,或是连「怪物设定」也一起参考,甚至「全
部照参使用」亦可。
这样就能实现 tmi2_v3_改 mud 之间的区域及怪物资料的释出、移
植及共享,而且其过程非常简单。
而且不只素材可共享,素材也「俯拾皆是」,像上面菲里德古堡外
围的地图就是实际参考了线上游戏的地图档以 drawmap 绘成。
而网路上光是线上游戏地图何其多!更不用说是单机游戏的地图了
如仙剑奇侠传:
> ls 锁妖塔*
1 锁妖塔 2 锁妖塔2 1 锁妖塔3x 1 锁妖塔5 1 锁妖塔6x
3 锁妖塔1 1 锁妖塔2x 2 锁妖塔4 1 锁妖塔5x 6 锁妖塔7
1 锁妖塔1x 1 锁妖塔3 1 锁妖塔4x 4 锁妖塔6 2 锁妖塔7x
用 drawmap 画这些图是花不了多少时间的。
底下的区域规模当初甚至花不到两周的时间就完稿
http://sanclaechan.myweb.hinet.net/felid.png
日後 tmi2_v3_改 会有一个目录专门存放我已经画好的地图、所创
造的怪物、以及所写过的所有叙述,做为「基本素材」。
以上便是 tmi2_v3_改 释出的核心意义之一,我希望所有拿到这份
mudlib 的人,都可以
仅凭一人之力就架构出自己想创造的世界,之
後也都会 follow 这个原则,即茅场晶彦所命名的「
The Seed」。
未来所需要的并不是「一个 mud 需要多少人力的投入」,而是「
有多少人愿意让 tmi2_v3_改 开枝散叶及共享素材」,甚至还可有
限度地做到下图茅场晶彦的理想(tmi2 频道就是一种呈现):
http://i.imgur.com/EgXCN.jpg
因为目前「讯息」可透过「tmi2」指令传送,既然讯息可以,那麽
「玩家资料档」一样可以。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 210.61.157.53
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud/M.1403075582.A.920.html
※ 编辑: laechan (210.61.157.53), 06/18/2014 15:14:51
※ 编辑: laechan (210.61.157.53), 06/18/2014 15:15:10
1F:推 dannielz :推 14.216.16.137 06/18 20:00
2F:推 tenyfish :下次帮写个更新步骤(不会盖档) 谢谢 114.37.39.89 06/19 21:37
3F:推 tenyfish :我个人是己更新了啦,建议而己 114.37.39.89 06/19 22:30
有打算写。我目前是先让它解压缩之後确定不会盖到你原先放在自己
电脑下的 tmi2_v3_改 目录,因为名字不会一样,我之所以要把压缩
档内的目录名字最後加上日期,就是为了避免解压缩之後会跟你原先
使用的目录名一样。
然後这时候就有两个目录了(这才是重点),这时最主要的是要做
1.旧目录的 /data 资料夹,盖掉新目录的 /data 资料夹。
这样你在旧目录做的许多有存档的更动,就能搬到新目录用。
这就是为什麽资料档都要集中於 /data 下存放的主因(圣殿经验)。
圣殿就是没有这样做,所以现在要备份资料很麻烦。
2.旧目录的 /u 资料夹,盖掉新目录的 /u 资料夹。
这样你在你自己目录下所写的东西,就能在新目录沿用。
这就是为什麽我自己反而不创 /u/l/laechan 目录的原因,因为只
有拿到这份 lib 的人才需要,我自己本身是修改者并不需要。
3.旧目录的 /adm/etc/groups,盖掉新目录的 /adm/etc/groups,这
样旧目录所设定的 groups 资料,就能移植到新的目录。
我现在几乎不动这个档案了。
4.如果你有改到 bin 目录下的 config 档案的话,那个档案也是盖
掉新目录的 config 档,这样比方 mud name 就会套用你的设定。
以上四个做好後,才启动 mud、登入角色。这时你就能 login 你在
旧目录创的角色,而且权限会 follow 旧目录的,/u/x/xxx 你自己
的目录也会有旧目录的资料,/data 下也会有你在旧目录对系统所做
的一些资料的增删(/data/一堆.o档)。
然後旧目录尽量保存起来,直到下一次的更新,这样你想起还有什麽
东西要搬时,至少还找的到资料。
其它目录如 /adm/daemons、/adm/etc/preload档、/std、/cmds、..
等等我一直在动,也会修改已存在的档案,这些建议都直接用新目录
的。
然後唯一不用担心的就是「练功区」,按照我的规划,如果使用区域
生产组合去写练功区的话,需要移植的就不是「整个区域」,而是那
六大元素:
area_room.c
area_room.h
map1
map1x
script_room
script_mob
所以妥善保存每一个练功区的这六个档案,就等於保存了一整个区域
,像你在最初就不一定要将区域写在 /d/area,写在自己的目录下就
很容易能做保存。
※ 编辑: laechan (61.224.75.116), 06/20/2014 00:04:20
4F:→ laechan :上面如果有遗漏的再提一下 61.224.75.116 06/20 00:04
※ 编辑: laechan (61.224.75.116), 06/20/2014 00:12:47
5F:推 tenyfish :东西不多,有遗漏我可能也不会发现XD 114.37.39.89 06/20 00:22