北大侠客行MUD论坛

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

浅谈GPS在任务中的应用(无数据无代码)

[复制链接]
发表于 2022-8-22 22:21:20 | 显示全部楼层 |阅读模式
本帖最后由 jarlyyn 于 2022-8-22 10:26 PM 编辑

GPS对一个mud机器人来说是绕不过去的话题。

一旦机器人开始利用GPS,就说明机器人的的形式发生了更本性的变化,从一个探索性的机器转型成为了一个数据驱动型的数据。gps机器人的出现,代表着机器人的开发速度开始远超WIZ的更新速度。毕竟更新地图比更新gps的工程量大的很多。

北侠作为一个运行了几十年的mud,不可避免的有几套流传比较广的GPS数据,甚至在wiki某些主流任务的信息里都能找到GPS的痕迹。在这里,我不谈数据(我手头也没有完整的gps)数据,也不谈代码,来谈谈怎么更好的运用GPS的功能,以及能在北侠的任务中体现怎么样的能力。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:25:39 | 显示全部楼层
首先,让我们对GPS有一个定义。

其实GPS是一个玩家自发的说法,并没有一个公认的定义。

有些人认为足够多的房间信息才叫GPS,有些人认为能两点之间寻路才叫GPS。

在这里,我讨论的GPS的标准为

  • 有某一个区域内所有能进入的房间的信息
  • 记录了房间的名称,区域,所有的出口对应的房间,描述
  • 出口能设置条件(符合条件才能进入/不符合条件才能进入)
  • 出口能设置步长(用于计算最近路线)
  • 对于能定位的房间有根据房间名/描述/场内对象等信息进行独一无二定位的信息列表。


可以不用全MUD的数据,但是,有关于某个地区的所有所有房间的信息,少一个也不行。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:34:13 | 显示全部楼层
功能一

任意两点之间的最短路线移动。

说实话,这个是GPS最直接的功能之一。

也是任何一个客户端的Mapper都有的功能。

通过dijkstra设置A*之类的寻路算法,去除不符合条件的出口,对路径进行加权计算,得出最近的路线。

这个可以实现到任意固定npc之间完成任务的功能,典型如门忠的部分任务。

除开机器人,这基本也是手动辅助的最重要功能之一,MUD毕竟大部分时间都在移动,没全局定位玩mud实在痛苦。



北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:38:34 | 显示全部楼层
功能二

定位。

一般来说,GPS机器都有移动到特殊房间后定位的功能。

在定位后能根据每一步在数据库里进行匹配目标的位置,实现一次定位,次次定位的目的。

而如果迷路,从山坡上滚下来之类,或被随机传送,也可以用过移动位置来进行定位重新运行机器。

这时候一般采取深度优先遍历配合。

这种功能,对于传送类的任务,比如血案,韩世宗,挖花等极为重要。

同时,有了GPS+定位的功能的机器,抗干扰能力极为强悍,一般的拦路,破坏,甚至PK机器都很难威胁道有GPS+定位功能的机器人。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:41:33 | 显示全部楼层
功能三

多点移动。

指能够移动道多个点中最近的一个点。

这个是一个Mapper的基本能力,与任务关系不大。

直接影响就是体现在,睡觉时可以去最近的地方休息,买卖东西可以去最近的当铺。

但是,这个功能是其他的功能的基础,所以本身也比较重要。

部分任务,如 都府刺杀的第一部分,韩世宗的datan等只匹配房间名的,使用这个功能会比较快速。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:47:40 | 显示全部楼层
功能四

动态遍历

从这个功能开始,就是属于对GPS数据的深入应用了。

动态遍历指根据情况动态生成遍历路径。

比如,有些区域,部分房间需要长袖2进入,部分房间需要正气ID,部分房间男性可以进,部分房间女性可以进入,部分房间要一定的Dodge

如果事先生成遍历路径,那需要非常多的数量的路径,而且难以维护。

但如果有GPS的功能,可以根据不同的标签动态生成遍历路径,则完全没有这样的问题了。

具体算法有很多研究,我直接硬上,利用功能三多点行走,走到一个电去掉一个电的直到所有点都走广的形式,也能有不错的效果。

这个对于大部分需要遍历的任务都很有帮助。

同时这个功能可以引申为 动态遍历给定的房间名的功能。

这对于所有提示区域+房间名的任务都有帮助。

比如,纪晓芙任务,遍历建康府的江南小道,可以只遍历名字是江南小道的房间。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:51:41 | 显示全部楼层
功能五

房间膨胀

这个其实也是个常用功能

即获取某个房间周围N步内的房间的去重信息。

然后再对这些房间进行一次动态遍历

对于移动/会逃跑的目标十分有用,比再次遍历和深度遍历都高效,稳定很多。

对于慕容信件/孟之经/捉蛊/天珠等都十分有用,能极大的提高效率。

北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 22:54:05 | 显示全部楼层
本帖最后由 jarlyyn 于 2022-8-22 10:55 PM 编辑

功能六

区域膨胀

这个功能和房间膨胀有点类似。

就是把区域内所有符合条件(比如同名)的房间做一次N步的膨胀,再去重。

得出的结果再进行动态遍历。

这个任务适合那些 知道房间地点,NPC会乱跑的任务。

恩,就是慕容信件……
比如某些城市边缘的青石大道的家贼,甚至会跑到别的城市的那种,传统的遍历都不好用。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 23:00:23 | 显示全部楼层
功能七

全局共享

由于GPS给每个区域的每个房间都进行了编号,所以也就有了信息共享的可能。

对于一些全局NPC,所有用同一个套GPS的机器在移动和遍历时进行关注,发现就通过游戏内和游戏外的渠道进行信息共享,之间精确到点。

收到信息的机器可以通过一次房间膨胀,不行再跟一次区域遍历打到很好的效果。

比如,乔峰任务的npc,比如,你还在找线索已经知道慕容家贼在哪,比如,你刚收到老孟的秘信就知道对应区域有几个房间有大元NPC。

由于北侠有PP的存在,这个功能的价值有所弱化,但依旧是个十分有价值的功能。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2022-8-22 23:04:10 | 显示全部楼层
好了,对于GPS功能在北侠任务的作用就到此为止了。

很明显,除了定位功能时某些任务必须(血案,韩世宗,挖花)以外,其他的功能只是起到一个提速的功能。

固定点+遍历也能做剩下的任务。

北侠的任务有各种长短的CD,使得这种效率的提升没那么明显。

但是,追求同时让jq榜尽可能多的任务进入CD,也是一种做机器的玩法。

要追求这种极限的话,除了角色本身的强度,充分的利用好GPS进行提速也是必不可少的。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 04:37 PM , Processed in 0.011481 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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