北大侠客行MUD论坛

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

动态任务架构BETA版

[复制链接]
发表于 2010-10-4 20:55:30 | 显示全部楼层 |阅读模式
这个帖子怎么说呢是我的一个思想记录帖子。主要提供关于动态任务架构的一些初步想法。第一个beta版是国庆这几天的一些想法,和jason讨论了一个晚上,整合了他提供的一些事情,初步是动态任务按照事件驱动原则来实
现,第一个测试版准备通过少林入门任务系列的开发过程中实现。(这个巫师入门任务被我整的太大了,不过我
想着还是开发一个比较规范的版本比较好,以后做其他的时候慢慢修正提供,先让路子不要偏离太远。)
让我选个门派做入门任务,我想想还是少林吧,谁让我是他的fans呢,从13年前就是少林死忠,没法子。除了
少林就丐帮熟悉一点(丐帮是13年前的丐帮。)入门任务设想这里就不提了,如果做好了放上去我会写一个
说明的,现在八字还没有一撇就没啥好说了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-4 21:32:50 | 显示全部楼层
问个问题:一个动态任务的完成,到最后,到底是通过附着在物件上的命令,还是give smth to sb,还是 user command?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-4 21:36:38 | 显示全部楼层
seagate写的巫师入门教程?
别人看不懂,怎么办???
seagate的普通教程,我看的都头大,需要翻译一下的说.
期待 and 怕怕
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-10-4 22:04:34 | 显示全部楼层
肯定用任务物品上负载的命令来实现,否则怎么实现目标物和任务本身的剥离,我想的是如何让目的地和任务接受npc不受任务本身约束。从这点衍生出来就是目的地和任务接受npc本身就不能有和任务相关的代码(否则代码复制和维护的量太大了。)从这点衍生过来就需要一个中间承接点来让任务走下来,这里面北侠也有一些做法,比如慕容任务里面的玉玺,胡一刀任务里面的地图都是类似功能。
我的做法就是让这个做法更加极端,举个例子就是比如胡一刀任务的地图决定了如何产生胡一刀任务,如何结束胡一刀任务,胡一刀任务应该怎么奖励等等和任务相关一切共性属性,至于胡一刀本身反而不重要,他只是挑选出胡一刀这个任务并且初始化了相关目标物。
我这个文档不是教程,是一个设计文档,当教程看肯定看不懂。是我的一些想法,写多少就放多少,以后这个帖子会陆陆续续放后面更新后的文档。代码就不放了,代码等我测试通过以后给jason。

[ 本帖最后由 seagate 于 2010-10-4 10:06 PM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-4 22:11:22 | 显示全部楼层
原帖由 seagate 于 2010-10-4 08:55 PM 发表
这个帖子怎么说呢是我的一个思想记录帖子。主要提供关于动态任务架构的一些初步想法。第一个beta版是国庆这几天的一些想法,和jason讨论了一个晚上,整合了他提供的一些事情,初步是动态任务按照事件驱动原则来实
现 ...


  • 你是目前唯一能够进行这种思考的人,非常赞
  • 门派任务不要使用动态任务框架。动态任务框架的目的是为了提供大量的变化的任务,但是最好的任务永远是手动编写的。动态任务框架能做出hyd,但绝对做不出剿匪,保卫这样的任务。门派任务强调特色,创意是这里的主要成分,代码是其次的。
  • 关于动态任务框架,事件链的思路是对的,而任务的承载体不要限定为物体。你需要完整的定义“事件”。我初步设想的“事件”的属性包括:
    • 类别:npc/物体/房间
    • 名字
    • 位置:固定/随机
    • 触发条件:init/ask/give/action
    • 事件动作:消息/动作(kill,hit,follow,etc)
    • 结束条件:init/ask/give/action
    • 奖励/惩罚
    • 下一事件
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-4 22:12:33 | 显示全部楼层
原帖由 seagate 于 2010-10-4 10:04 PM 发表
肯定用任务物品上负载的命令来实现,否则怎么实现目标物和任务本身的剥离,我想的是如何让目的地和任务接受npc不受任务本身约束。从这点衍生出来就是目的地和任务接受npc本身就不能有和任务相关的代码(否则代码复制 ...


你的这个需求,可以参考bind这个函数,也许能帮到你。

mudnow曾经用过这个办法构件动态任务,虽然我不是很满意
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-4 22:15:52 | 显示全部楼层
我的做法就是让这个做法更加极端,


HOW?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-4 22:20:23 | 显示全部楼层
而任务的承载体不要限定为物体。你需要完整的定义“事件”。


不知道seagate对daemons的理解怎样?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-10-5 00:08:08 | 显示全部楼层
我现在还在熟悉阶段,能够bind就更好了。我熟悉熟悉。其实我入门任务就准备写4个小任务,简单剥离而已,不准备写出完整的动态任务,起个头够用就行。以后再想想更完善的东西。不过bind函数我现在还没想好怎么用。我觉得这么绑定适应场合没想好。现在还用不上那种做法,至少任务承接者-任务物品目前是合适的,动态任务实际上应该来说是一个模板,目前做一些简单模板,具体其他承接者还么想好,不行再进行代码注入。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-10-5 00:10:06 | 显示全部楼层
原帖由 seagate 于 2010-10-5 12:08 AM 发表
我现在还在熟悉阶段,能够bind就更好了。我熟悉熟悉。其实我入门任务就准备写4个小任务,简单剥离而已,不准备写出完整的动态任务,起个头够用就行。以后再想想更完善的东西。不过bind函数我现在还没想好怎么用。我觉 ...


切记门派任务不要用动态模板技术,否则可玩性不说,时间也很难保证。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 12:55 PM , Processed in 0.010157 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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