北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 3274|回复: 39

杰哥瞎扯淡之歪评mudlet

[复制链接]
发表于 2024-6-13 14:15:19 | 显示全部楼层 |阅读模式
之前在写hc-lua的时候接触了下mudlet,对这个新兴客户端也有了一定的了解(爬了几遍客户wiki,还爬了代码找bug……)

怎么说呢,在我正经用过的客户端里(zmud,musclient,kildclient,mudlet)里,mudlet差不多是最特殊的一个。

作为一个北侠曾经第三,现在第四的客户端,TOP里唯一一个现代化GUI客户端,mudlet还是很的挺……特殊的。

下面是我的歪评。

对了,我个人是忠诚的mush粉,还写过一个同样跨系统的不成熟客户端,对客户端的认识和里面可以认为和mudlet是绝对对立的两个极端。

所以如果你觉得我的观点优势偏颇,不用怀疑,这一定是我的问题,是对mudlet取得巨大成功的赤裸裸的嫉妒。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2024-6-13 14:17:48 | 显示全部楼层
沙发
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2024-6-13 14:18:15 | 显示全部楼层
板凳
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-6-13 14:22:07 | 显示全部楼层
首先,我要为我在Q群里曾经的不严谨言论进行道歉。

我曾经说mudlet是一个生错时代的客户端。

但实际深入使用后,发现我这个言论偏差的离谱。

mudlet不是生错时代不生错时代的问题。

他的问题是他是不是一个客户端,或者怎么定义客户端的问题。

其他的客户端大多是出于mud的需求,提供更多的辅助功能,逐渐完善。

马莱不一样,马莱给我的感觉是,作者做了一个基于QT的字符向显示控制台,由于QT的强大,用lua扩展了一套定制界面的语法。最后,发现mud正好适合这个场景,所以勉强屈尊做个mud客户端吧……

所以,如果你喜欢自己有一个高度定制化,漂漂亮亮的客户端,用简单的学习就能作出一套界面的话,选mudlet肯定没错。

但如果你只是想做一个辅助机器人,让自己更省力的话,个人觉得可以多考虑几个客户端,不必死守一棵树。

真心的说,马莱完全可以开放接口,不局限于mud领域,说不定能有更高的客户评价。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2024-6-13 14:23:12 | 显示全部楼层
痛失沙发
痛失地板
痛失地下室
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-6-13 14:31:05 | 显示全部楼层
本帖最后由 jarlyyn 于 2024-6-13 03:09 PM 编辑

接口和文档质量

Mudlet有中规中居的wiki作为文档。

但是,我要开始吹Mush了,和mush的文档质量还是有不小的差距的。

我的客户端抄mush接口时。基本只要打开文档都实现了就行,各种corner case都列的十分清楚。

mudlet的wiki很全,但是很多细节不足,需要试验和爬代码才能确定。

可以说文档有80分,但对比mush可以说95分的文档,还是有进步空间。

而接口的话,就尽显qt界面框架的本色了。

界面方面还是很全的,但mud的基本应用方面,感觉就是在搭好界面结构后,发现一个用途补一个。

比如perm和tempTrigger哪一个系列,比如调整触发优先级需要用界面手动拖……

比如各种echo,比如cecho居然是个lua脚本,连转义也没做……

从嫉妒的角度评价,有点孟买的感觉,界面接口是CBD,mud编程接口是贫民区,混在一起的复杂观感。

特别是那个GetTextFomrat(相当于mush的getstyleinfo)函数,就是把mud解析为QT渲染对象,然后从qt渲染对象取样式。

以至于有中文丢失加粗的问题,我只能理解为因为渲染实现丢失元数据……
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-6-13 14:36:54 | 显示全部楼层
事件系统

事件系统是mudlet的一个特色。

怎么说呢。

从Mud客户端的角度,这个完全应该脚本里自建,在客户端里实现有点不伦不类。

但是,从QT界面脚手架的角度看,可以理解。毕竟是界面驱动,不是脚本引擎驱动……

事件系统引擎的实现也透射出这个问题。

我想了3天3页,都没想通,作为一个mud客户端,都有事件系统了,为什么没有line事件,就是接受到mud客户端输出的事件?

真就是写界面头等大事,写mud脚本3等公民啊……

但不管怎么说,事件系统是一个很标准的基础架构,mudlet的实现也没有什么侵入性,没有副作用。

所以尽管会由所不足,但还是一个纯加分项,只不过是加5分,10分,100分的区别。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-6-13 14:43:24 | 显示全部楼层
触发系统

怎么说呢,看得出Mudlet的触发系统是花了很多心思的。

但总给我一个屡出祁山的诸葛丞相的感觉。

设计的过于复杂,以至于缺乏实用性。

试图在GUI上解决大部分问题,但实际还是不如代码处理。

给我一种实现了一般的PLC或者低代码平台的感觉。

但总体来说,虽然触发系统的漕点比事件系统还多,以及没法通过代码调整触发优先级的硬伤。

但过于复杂也能只使用最简单的那部分逻辑,所以也算没什么大的缺陷。

但是mudlet的在GUI写代码实在是糟糕的体验,既没法用专业的ide或者语法插件,也没法很好的进行代码管理,以至于我都是在vscode里写lua再复制进取。

还很容易丢代码,切换代码快后ctrl+z的撤销也不好用。

总体我使用下来观感较差。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2024-6-13 14:45:00 | 显示全部楼层
Mudlet之所以特殊可能还有个原因是合作编写的开源项目吧。

所以加进来的东西质量会层次不齐吧
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2024-6-13 14:45:58 | 显示全部楼层
别名&计时器

这两个功能,在写机器人时,并不(应该)是重点依赖的功能,一般也就是提供事件或者调用函数,所以虽然和触发有一样的缺点,但不明显。

所以,算中等吧。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-27 11:28 PM , Processed in 0.013193 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表