北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
楼主: seagate

护镖:数据库版乱入算法

[复制链接]
发表于 2009-12-18 09:36:52 | 显示全部楼层
原帖由 jason 于 2009-12-18 09:20 AM 发表


你们付出了这么多努力,wiz是不是不应该取消乱入了?


我觉得fullme一出,全自动机器人只是多了一个1小时巡逻。

全自动机器人还是限制不了的。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-18 09:40:05 | 显示全部楼层
原帖由 cid 于 2009-12-18 09:36 AM 发表


我觉得fullme一出,全自动机器人只是多了一个1小时巡逻。

全自动机器人还是限制不了的。


一小时巡逻就是我们要的效果了。再提高要求就过分了
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-18 09:49:11 | 显示全部楼层
原帖由 jason 于 2009-12-18 09:40 AM 发表


一小时巡逻就是我们要的效果了。再提高要求就过分了


赞jason一个,这个尺度个人觉得不错.
我想wiz要灭的不是机器人,甚至也不是全自动机器人,只是想灭掉全年24小时无休拚命挂的那种机器人.
每个小时看一次,就算是全自动的,也是可以接受的.

个人觉得,可以分为2点
1 每个小时看一次,你肯定会做些调整呀什么的,至少,你还有可能跟MUD里大家聊下什么的.不会放上一挂就不管
2 只要不是24小时拚命挂那种,经验的上升应该还是在可以接受范围之内
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-18 10:02:58 | 显示全部楼层
原帖由 jason 于 2009-12-18 09:40 AM 发表


一小时巡逻就是我们要的效果了。再提高要求就过分了


嗯,俺赞同,那就降低做机器人的难度吧。开放全自动机器人最好。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-18 10:03:34 | 显示全部楼层
俺是一个上班族,挂挂机,一个小时看一次,灌灌水,挺适合我的。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-18 11:08:33 | 显示全部楼层
啥都看不懂得含泪飘过
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-12-18 13:14:35 | 显示全部楼层
偶就是上班的时候消遣消遣,写点机器人,其实有了乱入和随机行走以后机器人编写难度大了很多,比如护镖(这个我做的比较多,理解比较深一点,其他任务不太了解),现在我这个算法基本上解决了乱入问题(公开版有点小瑕疵,大家自己发现吧),但是要全自动还有一个问题就是路线根据任务目的地不一样的自动调整(用Map函数应该简单一点,我喜欢自己开发就麻烦一点),到达目的地以后怎么识别出战斗已经结束可以遍历了(从这一点看出来要全自动肯定有牺牲的,因为你很难识别出这个战斗结束是你自己的战斗结束还是别人的结束了,这个需要一些辅助手段,需要一些效率牺牲),目的地设定一定寻找深度(也就是说距离多少步范围内)下跨区域遍历(因为有几个任务目的点可能会跨区域,不做跨区域遍历肯定会有麻烦)。而且个人感觉要长时间不管不出错可能性比较低,除非按照Killunix采用双人模式,一个人负责遍历,一个人负责走任务,这样子遍历的那个人可以负担重一点,多遍历几个区域都没问题,还有就是常常出现的字符串被截断【如果给任务的任务信息被截断了就彻底完蛋了,我就碰过一次】有时候那种情况下就要手工处理。
这周进度还不错,完成了乱入算法,完成了二步深的路线遍历和任务线路自动调整算法,下周开发递归完成N步深的遍历和最近路线寻找算法,就可以自动寻找伙计了。我遍历想法就是从任务目的地开始寻找所有临近房间,找遍了没有,再找步深2的所有房间,没有找到,一直找到最大步深为N的房间为止,找到了根据步深0-N之间房间的所辖关系就自动得出最近路线了。只是这个在Zmud实现非常麻烦,原因就是没法很好采用二叉树之类或者说链表之类结构,用C语言习惯了,脚本语言还是有点束手束脚。自己用C语言写一个接口,然后用COM调用估计比直接在Zmud开发可能容易一点。
可惜源码会写,Windows编码环境不太熟悉,用了10年Unix我Windows编码全忘光了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-18 13:17:43 | 显示全部楼层
原帖由 seagate 于 2009-12-18 01:14 PM 发表
偶就是上班的时候消遣消遣,写点机器人,其实有了乱入和随机行走以后机器人编写难度大了很多,比如护镖(这个我做的比较多,理解比较深一点,其他任务不太了解),现在我这个算法基本上解决了乱入问题(公开版有点小 ...


不能不说,你是一个天才!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2009-12-18 13:36:35 | 显示全部楼层
实际上我觉得其他手段都有办法的,唯一厉害的就是Fullme,这个东西太厉害了,一弄以后基本上就没有全自动了。比如乱入,随机行走都是技术层面可以解决的小问题。只要有足够强劲的地图数据库,这些问题都是小问题。有PP开发HYD的自动机器人其实难度也很小,唯一的麻烦就是你对那些隐蔽房间怎么能够定义明白【比如迷宫、秘密房间等等】只要在数据库层面表述明白了,问题也就是一个用PP得出的房间名寻找到对应ID,然后起始ID和结束ID之间定义路径的问题,这个Zmud的Map函数就解决的很好,自己要开发也就是一个递归深度问题【实际上由于HYD一般圈定固定区域,递归的时候不用考虑跨区域问题,自己开发最近路线的递归深度不会超过10层】,每个区域先找到一个默认地点,然后一层一层递归,多少层找到目标地点,就是多少步距离。算法很清晰。
Task随机走动比较麻烦,就看你走的有多快了,只要你遍历速度足够快【比如每秒走10步】然后做好触发,伙计应该跑不了。其他就是小问题了。
萧峰的任务流程一点都不了解就不说了。WAT大家应该不会机器人吧?那会死人的!嘿嘿!机器人也可以,不怕死就行。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2009-12-24 10:11:01 | 显示全部楼层
原帖由 seagate 于 2009-12-18 01:14 PM 发表
偶就是上班的时候消遣消遣,写点机器人,其实有了乱入和随机行走以后机器人编写难度大了很多,比如护镖(这个我做的比较多,理解比较深一点,其他任务不太了解),现在我这个算法基本上解决了乱入问题(公开版有点小 ...


有的考虑的太复杂了,其实找伙计,我现在不用大米了,自己找,就是把镖车听到固定目标地点,然后定义一个搜索房间的路径,到了就自动去找,伙计不会跑的很远,一般30秒就找到了,找到了回到原来停车点,再过去。
如果用深度的话,我试过,太慢了。像全真的就难找。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 01:59 AM , Processed in 0.011633 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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