朋友玩开发者平台任务怎么玩

查看: 169|回复: 2
最后登录注册时间阅读权限50精华1帖子
咕噜, 积分 678, 距离下一级还需 522 积分
性别男幸福币0 经验649 帖子
法阵激活不了,主线任务根本就不见了怎么玩?
(0 Bytes, 下载次数: 0)
04:27 上传
点击文件名下载附件
法阵激活不了
(0 Bytes, 下载次数: 0)
04:27 上传
点击文件名下载附件
哪有65以下的主线任务
(0 Bytes, 下载次数: 0)
04:27 上传
点击文件名下载附件
最后登录注册时间阅读权限20精华0帖子
QQ野人, 积分 149, 距离下一级还需 1 积分
性别男幸福币0 经验129 帖子
我也和你同样的问题 希望官方给解决,80级开不了法阵
最后登录注册时间阅读权限100精华0帖子
性别男幸福币0 经验2766 帖子
亲爱的玩家您好,关于您反馈的问题,还请您联系我们的企业服务QQ:,给您带来不便请您谅解,感谢您对游戏的支持,祝您生活愉快。
Powered by4289人阅读
汇编(14)
本文为&x86汇编语言:从实模式到保护模式& 第15章笔记
&&&&& 由两种基本的任务切换方式, 一种是协同式额, 从一个任务切换到另一个任务, 需要当前任务主动地请求暂时放弃执行权, 或者在通过调用门请求操作系统服务时, 由操作系统&趁机&将控制转移到另一个任务. 这种方式依赖于每个任务的&自律&性, 当一个任务失控时, 其他任务可能得不到执行的机会. 另一种是抢占式的, 在这种方式下, 可以安装一个定时器中断, 并在中断服务程序中实施任务切换. 硬件中断信号总会定时出现, 不管处理器当时在做什么, 中断都会适时地发生, 而任务切换也就能够顺利进行. 在这种情况下,
每个任务都能获得平等的执行机会. 而且, 即使一个任务失控, 也不会导致其他任务没有机会执行.
任务切换概述
如上图所示( - -画的比较挫), 所有任务共享一个全局空间, 这是内核或者操作系统的, 包括了系统服务程序和数据; 同时, 每个任务还有自己的局部空间, 每个人物的功能都不一样, 所以, 局部空间包含的是一个任务区别于其他任务的私有代码和数据.
任务切换是以任务为单位的, 是指离开一个任务, 转到另一个任务中去执行. 要执行任务切换, 系统中必须至少有两个任务, 而且已经有一个正在执行中.
任务切换的方法
第一种任务切换的方法是借助中断, 这也是现代抢占式多任务的基础. 原因很简单, 只要中断没有被屏蔽, 它就能随时发生. 特别是定时器中断, 能够以准确的时间间隔发生, 可以用来强制实施任务切换. 毕竟, 没有哪个人物愿意交出处理器控制权, 也没有哪个任务能精确地把握交出控制权的时机.
在实模式下, 内存最低地址端1KB是中断向量表, 保存着256个中断处理程序的段地址和偏移地址. 当中断发生时, 处理器把中断号乘以4, 作为表内索引号访问中断向量表, 从相应的位置取出中断处理过程的段地址和偏移地址, 并转移到那里执行. 在保护模式下, 中断向量表不再使用, 取而代之的是中断描述符表. 它和GDT, LDT是一样的, 用于保存描述符. 唯一不同的地方是, 它保存的是门描述符, 包括中断门, 陷阱门和任务门. 当中断发生时, 处理器用中断号乘以8(因为每个描述符8字节), 作为索引访问中断描述符表,
取出门描述符. 门描述符中有中断处理过程的代码段选择子和段内偏移量, 这和调用门是一样的. 接着, 转移到相应的位置去执行.
一般的中断处理可以使用中断门和陷阱门. 回忆一下调用门的工作原理, 它只是从任务的局部空间转移到更高特权级的全局空间去执行, 本质上是一种任务内的控制转移行为. 与此相同, 中断门和陷阱门允许在任务内实施中断处理, 转到全局空间去执行一些系统级的管理工作, 本质上, 也是任务内的控制转移行为.
但是, 当中断发生时, 如果该中断号对应的门是任务门, 那么, 性质就截然不同了, 必须进行任务切换, 即, 要中断当前任务的执行, 保护当前任务的现场, 并转换到另一个任务去执行.
如上图所示, 这是任务门描述符的格式. 相对与其他描述符, 任务门描述符中的多数区域没有使用.
任务门描述符中的主要成分是任务的TSS选择子. 任务门用于在中断发生时执行任务切换, 而执行任务切换时必须找到新任务的任务状态段(TSS). 所以, 任务门应当指向任务的TSS. 为了指向任务的TSS, 只需要在任务门描述符中给出任务的TSS选择子就可以了.
任务门描述符的P位指示该门是否有效, 当P位为0时, 不允许通过门实施任务切换; DPL是任务门描述符的特权级, 但是对于因中断而发起的任务切换不起作用, 处理器不按特权级是假任何保护. 但是, 这并不意味着DPL字段没有用处, 当以非中断的方式通过任务门实施任务切换时, 它就有用了.
当中断发生时, 处理器用中断号乘以8作为索引访问中断描述符表. 当它发现这是一个任务门(描述符)时, 就知道应当发起任务切换. 于是, 它取出任务门描述符; 再从任务门描述符中取出新任务的TSS选择子; 接着, 再用TSS选择子访问GDT, 取出新任务的TSS描述符. 在转到新任务执行前, 处理器要先把当前任务的状态保存起来. 当前任务的TSS是由任务寄存器TR的当前内容指向的, 所以, 处理器把每个寄存器的&快照&保存到由TR指向的TSS中. 然后, 处理器访问新任务的TSS, 从中恢复各个寄存器的内容,
包括通用寄存器, 标志寄存器, 段寄存器, 指令指针寄存器EIP, 栈指针寄存器ESP, 以及局部描述符表寄存器LDTR等. 最终, 任务寄存器TR指向新任务的TSS, 而处理器随即开始执行新的任务. 一旦新任务开始执行, 处理器固件会自动将其TSS描述符的B位置1, 表示该任务的状态为忙.
中断发生时, 可以执行常规的中断处理过程, 也可以进行任务切换. 尽管性质不同, 但它们都要使用iret指令返回. 前者是返回到同一任务内的不同代码段; 后者是返回到被中断的那个任务. 处理器根据标志寄存器的NT位(位14)来区分, 意思是嵌套任务标志. 每个任务的TSS中都有一个任务链接域(指向前一个人物的指针), 可以填写为前一个任务的TSS描述符选择子. 如果当前任务EFLAGS寄存器的NT位是1, 则表示当前正在执行的任务嵌套与其他任务内, 并且能够通过TSS任务链接域的指针返回到前一个任务.
因中断而引发任务切换时, 取决于当前任务(旧任务)是否嵌套于其他任务内, 其EFLAGS的NT位可能是0, 也可能是1. 不过这无关紧要, 因为处理器不会改变它, 而是和其他寄存器一道, 写入TSS中保护起来. 另外, 当前任务(旧任务)肯定处于&忙&的状态, 其TSS描述符的B位一定是&1&, 在任务切换后同样保持不变.
对新任务的处理是, 要把老任务的TSS选择子填写到新任务TSS中的任务链接域, 同时, 将新任务EFLAGS的NT位置1, 以允许返回到前一个任务(老任务)继续执行, 同时, 还要把新任务TSS描述符的B位置1(忙).
可以使用iret指令从当前任务返回到前一个任务, 前提是EFLAGS的NT位为1. 无论任务处理器碰到iret指令, 它都要检查NT位, 如果为0, 表示是一般的中断过程, 按一般的中断返回处理, 即, 中断返回是任务内的(中断处理过程虽然属于操作系统, 但属于任务的全局空间); 如果此位为1, 则表明当前任务之所以能够正在执行, 是因为中断了别的任务. 因此, 应当返回原先被中断的任务继续执行. 此时, 由处理器固件把当前任务EFLAGS的NT位置0, 并把TSS描述符的B位置0(非忙). 在保存了当前任务的状态之后,
接着, 用新任务(被中断的任务)的TSS恢复现场.
除了中断引发的任务切换外, 还可以用远过程调用指令call, 或者远跳转指令jmp直接发起任务切换. 在这两种情况下, call和jmp指令的操作数是任务的TSS描述符选择子或任务门. 以下是两个例子
call 0x00000
jmp 0x00000当处理器执行这两条指令时, 首先用指令中给出的描述符选择子访问GDT, 分析他的描述符类型, 如果是一般的代码段描述符, 就按普通的段间转移规则执行; 如果是调用门, 按调用门的规则执行; 如果是TSS描述符, 或者任务门, 则执行任务切换. 此时指令中给出的32位偏移被忽略, 原因是执行任务切换时, 所有处理器的状态都可以从TSS中获得. 注意, 任务门描述符可以安装在中断描述符表中, 也可以安装在GDT或者LDT中.
如果用于发起任务切换, call指令和jmp指令也有不同之处. 使用call发起的任务切换类似于因中断发起的任务切换. 这就是, 由call发起的任务切换是嵌套的, 当前任务(旧任务)TSS描述符的B位保持原来的1不变, EFLAGS寄存器的NT位也不发生变化; 新任务TSS描述符的B位置1, EFLAGS的NT位也置1, 表示此任务嵌套与其他任务中. 同时, TSS任务链接域的内容改为旧任务的TSS描述符选择子.
如上图所示(- -画的较挫), 假设任务1是整个系统中的第一个任务. 当任务1开始执行时, 其TSS描述符的B位是1, EFLAGS的NT位是0, 不嵌套于其他任务. 当从任务1转换到任务2后, 任务1任然为忙, eflags的nt位不变(在其TSS中); 任务2也变为忙, eflags的nt位为1, 表示嵌套与任务1中, 同时, 任务1的TSS描述符选择子也被复制到任务2的TSS中(任务链接域). 最后是从任务2转换到任务3执行, 和从前一样, 任务2保持忙状态, eflags的nt位不变(在其TSS中);
任务3成为当前任务, 其TSS描述符的B位变成1, eflags寄存器的nt位也变成1, 同时, 其TSS的任务链接域指向任务2.
用call指令发起的任务切换, 可以通过iret返回前一个任务. 此时, 旧任务(当前任务)TSS描述符的B位, 以及eflags的nt位都被恢复到0, 并保存到它的TSS中.
用jmp指令发起的任务切换, 不会形成任务之间的嵌套关系. 执行任务切换时, 当前任务(旧任务)TSS的B位清0, eflags的nt位不变; 新任务TSS描述符的B位置1, 进入忙的状态, eflags的nt位保持从TSS中加载时的状态不变.
任务是不可重入的. 任务不可重入的本质是, 执行任务切换是, 新任务的状态不能为忙. 这里有两个典型的情形:
执行任务切换时, 新任务不能是当前任务自己. 试想一下, 如果允许这种情况发生, 处理器该如何执行现场保护和恢复操作?如上图所示, 不允许使用call指令从任务3切换到任务2和任务1上. 如果不禁止这种情况的话, 任务之间的嵌套关系将会因为TSS任务链接域的破坏而错乱.
处理器是通过TSS描述符的B位来检测重入的. 因中断, iret, call和jmp指令发起任务切换时, 处理器固件会检测新任务TSS描述符的B位, 如果为1, 则不允许执行这样的切换.
处理器在实施任务切换时的操作
处理器用一下4种方法将控制转移到其他任务:
当前程序, 任务或着过程执行一个将控制转移到GDT内某个TSS描述符的jmp或者call指令.当前程序, 任务或者过程执行一个将控制转移到GDT或者当前LDT内某个任务门描述符的jmp或者call指令.一个异常或者中断发生时, 中断号指向中断描述符表内的任务门.在EFLAGS寄存器的NT位置位的情况下, 当前任务执行了一个iret指令.
在任务切换是, 处理器执行以下操作:
从jmp或者call指令的操作数, 任务门或者当前任务的TSS任务链接域取的新任务的TSS描述符选择子. 最后一种方法适用于以iret发起的任务切换.检查是否允许从当前任务(旧任务)切换到新任务. 数据访问的特权级检查规则适用于jmp和call指令, 当前(旧)任务的CPL和新任务段选择子的RPL必须在数值上小于或者等于目标TSS或者任务门的DPL. 异常, 中断(除了int n指令引发的中断)和iret指令引起的任务切换忽略目标任务门或者TSS描述符的DPL. 对于以int n指令产生的中断, 要检查DPL.检查新任务的TSS描述符是否已经标记为有效(P = 1), 并且界限值也有效(大于过着等于0x67, 十进制103).检查新任务是否可用, 不忙(B = 0, 对于以call, jmp, 异常或者中断发起的任务切换)或者忙(B = 1, 对于以iret发起的任务切换).检查当前任务(旧任务)和新任务的TSS, 以及所有任务切换时用到的段描述符已经安拍到系统内存中.如果任务切换是由jmp或者iret发起的, 处理器清除当前(旧)任务的忙(B)标志; 如果是由call指令, 异常或者中断发起的, 忙标志保持原来的置为状态.如果任务切换是由iret指令发起的, 处理器建立eflags寄存器的一个临时副本并清除其NT标志; 如果是由call, jmp, 异常或者中断发起的, 副本中的NT标志不变.保存当前(旧)任务的状态到它的TSS中. 处理器从任务寄存器中找到当前TSS的基地址, 然后将一下寄存器的状态复制到它的TSS中: 所有通用寄存器, 段寄存器中的段选择子, 刚才那个eflags寄存器的副本, 以及指令指针寄存器EIP.如果任务切换是由call指令, 异常或者中断发起的, 处理器把从新任务加载的eflags的nt标志置位; 如果是由iret或者jmp指令发起的, nt标志位的状态对应着从新任务加载的eflags的nt位.如果任务切换是由call, jmp, 异常或者中断发起的, 处理器将新任务TSS描述符中的B位置位; 如果是由iret指令发起的, B位保持原先的置位状态不变.用新任务的TSS选择子和TSS描述符加载任务寄存器TR.新任务的TSS状态数据被加载到处理器. 者包括LDTR, PBDR(控制寄存器CR3), eflags, eip, 通过用寄存器, 以及段选择子. 载入状态期间只要发生一个故障, 架构状态就会被破坏(因为有些寄存器的内容已被改变, 而且无法撤销和回退). 所谓架构, 是指处理器对外公开的那一部分的规格和构造; 所谓架构状态, 是指处理器内部的各种构件, 在不同的条件下, 所建立起来的确定状态. 当处理器处于某种状态时, 再施加另一种确定的条件, 可以进入另一种确定的状态, 这应当是严格的, 众所周知的,
可预见的. 否则, 就意味着架构状态遭到破坏.与段选择子相对应的描述符在经过验证后也被加载. 与加载和验证新任务环境有关的任何错误都将破坏架构状态. 注意, 如果所有的检查和保护工作都已经成功实施, 处理器提交任务切换. 如果在第11步的过程中发生了不可恢复性的错误, 处理器不能完成任务切换, 并确保处理器返回到执行发起任务切换的那条指令前的状态. 如果在第12步发生了不可恢复的错误, 架构状态被破坏; 如果在提交点(第13步)之后发生了不可恢复性的错误, 处理器完成任务切换并在开始执行新任务之前产生一个相应的异常.开始执行新任务.
任务切换时, 当前任务的状态总要保存起来, 在恢复执行时, 处理器从eip寄存器的保存值所指向的那条指令开始执行, 这个寄存器的值是在当初任务切换被挂起时保存的.
任务切换时, 新任务的特权级并不是从那个被挂起的任务继承来的. 新任务的特权级别是由其段寄存器CS的低2位决定的.
任务状态段TSS的任务链接域和eflags的nt位用于返回前一个任务执行, 当前eflags寄存器的nt位是1表明当前任务嵌套与其他任务中. 无论如何, 新任务的TSS描述符的B位都会被置位, 旧任务的B位取决于任务切换的方法, 如下图所示
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场此页面上的内容需要较新版本的 Adobe Flash Player。
最新开发文章
最新信息推荐
上市公司专栏
实时股价每分更新
纳斯达克(美元)(市值:亿美元)
综指: 涨跌幅:
恒生指数(港币)(市值:亿港币)
综指: 涨跌幅:
综指: 涨跌幅:
任务系统设计思路
来源:互联网04-19-2010
  一.为什么要设计任务系统
  1. 体现世界观世界观
  指主线剧情,历史背景,塑造主角的成长历程。
  WOW中的任务虽然不是必须完成的,但是顺着部落主线的剧情延伸至南海镇的任务却是很明显的主线剧情,从亡灵新手村学会了如何和死尸打交道,并且如何与已故的亡灵战士沟通成了亡灵族的本能,那么下面任务就是完成赫尔库拉的复仇任务。
  //希尔斯布莱德丘陵的赫尔库拉的复仇任务,部落的做这个任务有点难度,因为目的地是联盟的城镇,很容易被卫兵和联盟的玩家追杀。经历N次复活的艰辛之后,努力终于有了回报,复活后的赫尔库拉召唤出一群骷髅兵攻击南海,虽然。。。最终还是难免被南海的卫兵围殴至死,不过咱心里还是爽了一把。
  2. 营造世界氛围
  指支线剧情,烘托世界营造世界环境,以及地区性特点的营造。这个任务是营造了烈日石居的地区特征,一个被污染的土地,那么崇尚自然的牛头族的希望是什么,是为这片不毛之地带来新的生机。
  //种植盖亚之种 将10枚盖亚之种种植在盖亚土堆中,然后与烈日石居的塔姆拉谈一谈。如你所见,盗贼,我纯净的心灵可以为这片不毛之地带来新的生机。你必须将这些种子种植在破坏之源中,在西边的焦炭谷里就是破坏大自然的源泉——这片被污染的土地上到处都是鹰身人和凶恶的火元素。邪恶狂风,拿着这些附有魔法的盖亚之种,把它们种植在盖亚土堆里。
  3. 角色扮演的真实体验
  模拟真实的事件流程以及所参与的人物。
  《驯服的科多兽》的任务便是让你体验如何驯服一头巨大的科多兽,既要避免成年科多兽的攻击,又要引诱老年的科多兽进入你的圈套。
  //带5头驯服的科多兽和科多兽诱引器给瑟卡布斯库营地的斯米德o瑟卡布斯库。比布莱认为他是凄凉之地唯一一个懂得赚钱的地精。好吧,想要让旅团闯过这块地方就要靠我了。因为我懂得利用我的科多兽诱引器控制年老的和濒死的科多兽,所以我和旅行队的主人科克,瑞格进行了合作。把科多兽诱引器拿去使用在任何年老的或者濒死的科多兽身上。然后那个野兽就会变成驯服的科多兽然后会跟着你。一旦你驯服了一头科多,那就把它带来给我吧。
  4. 系统关键点,功能开启。
  触发特殊系统功能的开启。WOW世界中的职业任务是系统功能的开启,任务完成之后将会获得本职业的特定技能或者特定的技能道具。以下是部落萨满的水图腾任务。
  //到南贫瘠之地去找到布瑞恩。关于水,有一点是你必须要了解的:水意味着重生。水流动着,消蚀和清洗一切事物。水的治疗和恢复能力是无与伦比的,但这只有在水是完全纯洁的情况下。如果水受到了污染,那么它将毁灭一切它接触到的东西。理解了这一点,你就应该能明白保证水源的纯洁性是多么的重要。如果你想要得到水之灵契,就到南贫瘠之地去找布瑞恩吧,她的家园最近时常受到野猪人的骚扰。
  5. 任务引导
  指引玩家操作和明确系统功能。例如WOW的任务《把受难药剂交给乌比》,这个是区域指导任务。
  //我得花一会儿时间把这些成分混合在一起,做成受难药剂。成功了!啊,还有什么能比给这个世界带来点灾难更让人愉快的呢?让我们看看这种药剂能不能达到预期的效果。让我的助手乌比瞧瞧黑暗女王为人类和天灾军团准备了什么样的礼物。当玩家接到这个任务的时候已经50级或以上了,那么这个任务完成之后,便引导玩家去西瘟疫之地的天灾军团了,那个地区是50级玩家的练功区。
  二.任务系统的基本规则
  一个完整的任务包含三块内容,触发任务——执行过程——完成任务。具备了这三个基本条件,就算是个完整的任务了,那么其中多种的形式变化以及内容表现的丰富性为任务体系增添了血肉。
  1. 任务的触发
  根据任务触发的形式不同,可以分为以下形式:
  o条件触发形式 当满足一定条件的情况下,自动产生或固定NPC领取任务。
  o固定领取形式 最常规的任务获得模式,通常情况下受一定范围条件的限制。
  o随机触发形式 在任何场景任何等级段随机获得任务。
  o连锁任务形式 由一部份人触发,完成后引发另一部分获得任务。
  根据任务触发的类型不同,可以分为以下类型:
  o物品触发。拾取或者使用特殊物品时触发任务。
  oNPC触发。指玩家从某个NPC处得到该任务。
  o区域触发。指玩家进入某个区域后即触发该任务。
  o时间触发。指玩家经过一段游戏时间后可以得到该任务。
  任务触发的情况可以是多种形式的组合,也可以是多种类型的组合,同时一个任务触发既满足条件触发形式、又满足了固定领取的形式。
  2. 任务完成过程
  任务完成过程会通过各种形式来进行,以下列举了其中8种最常用的任务完成形式,该形式库的内容将根据需要进行不断的扩充,仅供参考。
  1)战斗。
  程序实现难度最低,只要验证所杀的怪物(数量)即可。应该说,这种任务在WOW里所占比例最大,在其他网游的任务系统中也最常见。因为这种任务系统的实现没有很大难度,程序只要安排任务指定NPC、任务对话及任务完成检测,而且也是最容易安排剧情的任务类型。
  所需消灭的怪物分为两类,一是普通的怪物,一是BOSS类怪物。普通的怪物就不必多说了,BOSS类怪物有些还需要触发条件,例如十字路口的狂热的维罗格任务,消灭半人马一定数量后才会出现,还有十字路口的艾其亚基任务,要在它的巢穴附近吹响号角来召唤它。
  2)收集物品。
  收集的物品分以下四类:
  ⑴、 指定怪物必然掉落物品
  //WOW中十字路口的偷钱的迅猛龙任务,杀死迅猛龙会获得钱币
  ⑵、 指定怪物随机掉落物品
  //梦幻里的任务链系统,每环需要的物品可以通过杀死自己同等级的怪物有几率获得。
  ⑶、从地图上可见并可采集之物品
  //WOW十字路口的采集菌类孢子任务
  ⑶、 可以由玩家制作出来的物品
  //梦幻中的师门任务、修炼任务、任务链有很多是需要收集玩家制作的物品。
  3)对话任务。
  最简单的任务过程形式,与指定NPC对话。大多数MMPRPG最常用的任务过程形式。
  4)护送任务。
  保护目标NPC到达目的地,路上一定地点会刷新怪物,这时候要注意不能让目标NPC死亡,否则任务失败。最典型的是哀嚎洞穴的护送牛头德鲁伊任务。程序实现:固定地点刷新怪物,判断目标NPC是否死亡,死亡则转入任务失败,任务结尾若NPC仍存活,任务完成。
  5)探索任务。
  一般的要求是到达探索地点的规定区域内即可完成,供玩家熟悉地图用。有些任务还要求发现某特征事物,例如十字路口的遗忘之池任务,在池水中观察到有冒泡的地方,需足够接近方可完成。
  //很久以前,贫瘠之地曾是个郁郁葱葱、生机盎然的地方。但是战争与灾难接二连三地降临在这片土地上,最后就剩下了这一片干燥荒芜的不毛之地。事实就是这样,真让我伤心。不过,在过去的几年里,贫瘠之地出现了新的绿洲,生机又在这片土地上重现。我们德鲁伊感觉到了在很深的地下有一股试图冲出地面的力量。我们必须找到这股力量的源泉,请到十字路口西北边的遗忘之池去一趟,在那里的湖水中搜寻力量的源泉,然后回到这里来。
  6)捕捉
  这种形式的任务通常需要玩家利用特定的技能或道具去捕捉怪物,也因此可以产生与场景互动的小游戏,例如WOW中黑海岸的捕获白熊的任务,给玩家一个陷阱道具,玩家发现白熊后安放陷阱,之后引诱白熊进入陷阱,捕获成功后白熊会跟随玩家到达指定地点完成任务。
  7)摧毁
  摧毁某个特定物件,摧毁的执行需要一定时间才可以完成,并且在任务过程中会受到怪物的干扰。例如WOW中的摧毁巴尔莫丹的飞行器,然后向加恩o石塔回复。
  //按照卡兹戈姆的日记上所述的方法制造出来的炸药应该不会有问题。那么,我们开始吧。首先我有一项特殊的任务要交给你完成。拿上这只爆破筒,去炸掉巴尔莫丹的飞行器。这个飞行器不仅是巴尔莫丹军事设施的关键部分,也是一架可怕的杀戮机器。更重要的是,它是权力的象征,而它对我们的部族来说则代表着一段耻辱的回忆。我会为你的成功感到自豪,你也将得到丰厚的奖励。
  8)送物品
  这类物品一般是在完成收集形式的任务之后进行后续任务,玩家在上一个任务中收集物品之后,在本任务中将特定物品交个特定NPC或者将特定物品安放在某个地点。例如梦幻和大话中的跑镖任务,将镖送至特定NPC,中途会受到强盗的堵截,需要消灭强盗完成任务。
  以上只是列举的任务过程中最常见的几种任务过程形式,任务系统得设计中这些形式会不断创新与交织,形成更庞大的任务体系。
  3. 任务的完成
  任务的完成是对任务过程的一个体现,好比任务需要你获得10个飞鱼的鳍,那么在任务的执行过程中,你获得的累积数量达到10个,将鳍带给指定NPC,任务就是完成了。所以任务的完成和过程可以为一体,任务的执行也就是任务的完成。另一方面任务的完成也有可能是另一个任务开启的条件,那么完成和触发也可能是任务系统同步进行的事件。
  4. 任务的奖励
  1)任务的奖励内容
  物品 金钱 经验 称谓 积分
  2)任务奖励的形式
  随机 玩家随机获得某项内容奖励
  指定奖励 玩家完成任务之后一定会获得某项奖励
  可选奖励 玩家任务完成之后可以选择奖励内容,一般在任务链体系中玩家获得积分,当积分累积到一定程度,玩家可以换取所需要的奖励内容。
  3)任务的难度
  任务的难度可以通过以下几个方面进行综合控制,玩家任务需求等级、玩家任务完成时间、玩家需要杀死的怪物数量、玩家完成任务所需要的技能要求、玩家完成的风险程度。可以通过建立一张难度控制表来规划任务的难度需求。
  难度系数 玩家任务需求等级 玩家完成任务时间 玩家需要杀死的怪物数量 玩家完成任务所需要的技能要求 玩家完成的风险程度
  10 80 10分钟 20 熟练度1000 10
  9 70 6分钟 10 熟练度800 9
  8 60 5分钟 8 熟练度500 5
  …… 50 4分钟 7 熟练度100 4
  每一项内容都可以给与固定的分值,当所有需求项目的分数汇总后得出的难度系数就为任务的难度了,所有任务体系中涉及的内容都可归纳到本表中进行统一规划。
  //以下内容为玩家分析的WOW中的任务等级控制,仅供参考。
  先说单个任务的难度控制。在普通的链状结构任务中,难度都是循序渐进的。例如荆棘谷的摩克萨尔丁的魔法,任务的起始是从杀深喉猎豹(37---38级)开始的,第二步要获得的物品是从丛林捕猎者(39—41级)那里得到的,第三步成年大猩猩的肌腱所需杀的怪等级38---41,最后一步要从纳加的圣泉中取到圣泉之水(纳加等级43—44)。注意到这些任务能够单独完成所需等级是一步步慢慢增加的。所以链状任务设计的时候,切忌任务之间跨越等级太大,或者任务越后面难度越低。等级跨度太大,给玩家无所适从的感觉,再加上当前能力无法完成任务,造成放弃任务的几率大大增加;任务难度安排颠倒,越到后面越没挑战性,结果给玩家的成就感也就降低了。
  再说整个游戏的难度控制。仍以魔兽为例(副本也算做任务的一部分)。
  1-5级时,玩家在新手村活动,这时候的任务一般以杀怪、收集物品和探索为主,设计时就要注意把相关的任务难度调低,让新手在任务中快速熟悉游戏的玩法。例如杀怪任务可以减少完成任务所需怪物数量和削弱初级怪能力,收集物品任务所需物品必须大而显眼,探索任务目的地离新手村要近。而且关键是都要有详细的说明,指明任务所在地是必须的,让玩家在完成任务时不至于没有任何头绪。
  6-12级时,玩家一般会离开新手村到达第一个城镇,除了前面所述几种任务之外,还要适当加上消灭普通BOSS的任务,这种任务高级点的玩家可以单独挑战,低级点的玩家必须组队才能战胜。在一定程度上促进了玩家交流和组队,增加了游戏交互性。
  13-20级,这时候玩家已经对游戏玩法有足够的了解,所需的就是大量的任务来提高玩家的技巧(包括个人能力和团队配合能力),第一个需要配合的副本任务在这样的前提下诞生了(如奥格瑞玛的怒焰峡谷),在副本里强调团队的配合,一个人的失误都有可能带来团队的毁灭。不过做为第一个副本,难度一定要控制好,地图不能太复杂,怪物密度不能太高,BOSS能力不能太强。
  21-30级,基本同上,不过此时的任务考虑加入一些技巧或噱头,添加大量的隐藏要素,使不同的玩家在完成不同的任务时有不同的体验。这个时期的副本可以适当加大难度。(十字路口的哀嚎洞穴副本是这个时期必进的一个副本,在细节方面和难度方面都处理的很不错,不过唯一不足的是地图实在太复杂,去过两三次的人也未必会熟悉,至于我,在走了八遍以后才勉强记住。)
  31-40级,这个阶段玩家一般会在中立地区活动,与敌对阵营的摩擦也日益增加,组队完成任务的玩家会占很大一部分。所以可以增大团队才能完成的任务比例,还有一些需要良好操作控制的任务。副本中怪物的密度可以增大,考验团队处理突变状况的能力(如剃刀高地的2精英3普通怪和巡逻怪组合),BOSS的技能和AI增强,让玩家自行摸索战胜BOSS的技巧。(如诺莫瑞根的最终BOSS,打他的时候旁边的炸弹发射器会不停放出炸弹来攻击玩家,需要一个人去关炸弹开关。)
  41-50级,到这个级别的玩家一般都已经具有良好的操作和对自身职业足够的了解,单独完成任务的欲望强烈,可以考虑降低团队任务比例。副本难度大幅度增加,一些区域需要特定职业的技能才比较容易通过(如奥达曼的矮人群,范围魔法可以发挥的淋漓尽致),一些区域需要玩家消耗大量的药品(如马拉顿的毒水BOSS,滋补药剂和治疗药剂的应用),打BOSS需要技巧和运气(马拉顿的公主,战士积累足够仇恨,盗贼和法师、猎人主输出伤害,牧师照顾战士的同时又要注意不被公主盯上。对付公主的大范围毒气,近战的要轮流上阵。对付公主的打飞能力,战士要靠墙站。)
  51-60级,这个时候出现了全新的任务类型,大型团队任务(RAID队伍),需要5个以上、40个以下的玩家协同完成。这些任务也是对玩家的极大挑战,不仅普通小队无法完成,即使是RAID队也要良好的配合和正确的战略指导才有可能战胜。在丰厚的奖励和诱人的物品掉落面前,会有玩家不停的组织人手来击杀BOSS,如尘泥沼泽的黑龙公主、艾萨拉的蓝龙、熔火之心的火焰领主等。这个时期的副本,几乎每一波敌人都是一个挑战,一旦处理不慎,团队覆灭是很正常的,技巧+战略+运气,一个都不能少,才能完成高难度的副本任务。
  因此要随着游戏的进程的编排任务的方方面面,合理地估计玩家该阶段的能力,做出最佳的任务安排。
  5. 任务的互动模式
  任务的互动模式可分为两大类,合作模式与竞争模式。
  1) 合作模式
  是多个玩家为达到一个共同的目标进行合作完成一个任务模式。例如WOW世界中的开启安琪拉大门的任务,需要联盟与部落的玩家共同收集一定数量的物品,在特定的时间收集完毕后安琪拉副本大门便会开启。
  2) 竞争模式
  竞争模式是多个玩家为达到一个共同的目标之间进行博弈的一个任务模式,这个模式可以划分为良性竞争和恶性竞争两种情况。
  ? 恶性竞争
  大话2中的地星系统,高额奖励以及争夺目标是唯一的,经常引起帮派霸星,以及大规模的PK,也许有人会认为这也是玩家进行游戏的动力,但是这种刺激是短暂的,无论PK的双方哪一方赢得胜利,这都将以玩家离开而终结,这不是我们想看到的结果也不是我们提倡游戏环境。
  ? 良性竞争
  领取任务的玩家有自己独立的争夺目标,玩家之间不会相互干扰,并且胜负是以玩家的完成时间或是完成策略的优异性进行评定,例如梦幻中的游泳大赛,玩家各自组成一支队伍,其间需要和13个不同地点的NPC对话,并有几率触发战斗,最后成绩是看谁先完成13个NPC的对话,这种情况就不会引发玩家之间的恶性竞争。
  合作模式与竞争模式也会同步存在,例如梦幻中06年的暑期活动花妖任务,玩家杀死花妖后会有几率获得花妖的种子,将种子种植在特定的区域内,每个服务器都将固定时间段内计算玩家种植的种子总数,数量排名前十的服务器,玩家的双倍时间将会增加4小时。可以看出任务的前半部分是一种需要玩家合作的模式,而后半部分则是需要玩家服务器之间的竞争模式。
  三.任务设计的注意事项
  1. 引擎功能
  1) 阻挡
  通过地图阻挡产生的任务限制,通过地图上的阻挡区域来执行游戏规则,这个已经被单机游戏用到滚瓜烂熟了,但是作为网络游戏,以及我们游戏引擎的限制,通过阻挡实现游戏规则,这条非常的困难,目前程序是极力反对此种做法的。
  一是网络游戏中玩家的网速不同,网络延迟有极大可能造成动态阻挡区域的生成或信息传播,有些阻挡在网络延迟的情况下可能消失,所以通过阻挡产生的游戏规则目前受到网络环境的影响,还不成熟。
  二是我们的引擎的优势并非体现在动态阻挡上,因阻挡形成的游戏规则在引擎的执行力度上会大打折扣。
  2) 控制玩家
  我们的引擎尚不能支持系统控制玩家,所以对玩家的操作,以及与NPC对话时玩家的系统对话目前不能实现,但是我们可以先制定需求,以及其他的实现途径,根据最后的引擎实现力度进行调整。
  2. 网络游戏特性
  1) 网速
  网速一直是网络游戏实现的最大障碍,只要是网游那么都会存在网络延迟的问题,只是不同的ISP与用户之间延迟多少的问题,那么体现在我们的任务设计中就需要极力避免挑战网速的任务。
  任务长度拉的越长,网络迟延带来的负面影响则越小。例如科举任务,回答问题,考验玩家的知识量,问题越多则玩家越贴近任务设计的核心。
  2) 刷新
  网络游戏中存在刷新问题也是我们需要注意的地方,常规战斗中我们的遇敌方式是明雷,任务系统中也会遇到类似的设定,把握好刷新时间是一个尤为重要的问题
  3) 脚本播放时间
  脚本的播放时间也如同刷新一样需要把握时间问题,多长时间最合适。
  3. 任务表现形式
  1) 任务的文字信息量
  这里的任务文字信息量是指与NPC对话的文字信息,同一页的文字信息量超过四行,玩家阅读时将会产生烦躁感,另一方面,网游也区别于单机游戏,单机的RPG更多是在体现剧情的跌宕起伏,玩家可以花上更多时间反复体验一种剧情甚至忽视奖励的存在,但是网络游戏不同,玩家每分每秒都在支付的时间费用,如果不能在短时间内容给以丰富的刺激体验,那么玩家有极大可能会选择放弃这段冗长文字却感人至深的剧情。如果玩家选择跳过,那么文案辛苦修筑的华丽辞藻此刻被玩家一键搞定,同时剧情任务也失去了体现世界观、营造世界氛围的作用。
  2) 任务流程长度
  常规任务流程不宜过长,这很容易引起玩家对任务的厌恶感,梦幻中的剧情任务很多是让玩家在两个NPC之间来回奔波,极度引起疲劳,同时兴奋点拉长之后,玩家容易就陷入迷茫,针对一些上线时间不长的玩家,过长的任务流程将意味着将那些短时间上线的玩家拒之门外,这就如同WOW的高端副本,让很多休闲工会流失了不少玩家,以至于不能生存下去,并且对于单人来说,让低在线,高技巧型的玩家在服务器中处于中下水平。
  4. 任务玩法
  1) 任务设计中的小游戏
  任务设计中运用小游戏的手法,可以极大的丰富任务的形式,并且能给任务执行过程带来乐趣,但是任务中小游戏的加入强烈建议不要通过切图的方式进行,那将极大地破坏通过各种努力营造的游戏真实体验,切图进行小游戏只会让任务以及各种表现力降低。切图的不是不可以做,要做就放在固定的场景氛围之中,你大可在傲莱游乐场玩到你想玩的任何小游戏。WOW中的钓鱼、烹饪,都是在当前场景中直接进行的小游戏,并未切图,这就是为了给玩家带来真实体验。
  2) 玩家回答问题
  在任务的设计中我们会加入问题让玩家选择答案,那么这种设定我们就需要考虑到我们的出发点是什么,是让玩家获得更多的知识——在娱乐中学习,还是通过高难度的问题带给玩家焦虑,如果带给玩家的焦虑,我们是否有设计释放焦虑的玩法,让玩家产生快乐。《游戏的设计与开发中》提出游戏中焦虑的产生和释放就如同在交响乐作品中,作曲家通过反复重现一个旋律片段,使我们进入某种情感体验,但随着旋律重复的继续,我们开始期待着它的变化和完成,产生疑惑、焦虑的情绪,随着时间的流逝,听众的紧张度越来越大,迫切需要从这种精神状态中解脱出来,这时作曲家等待听众的紧张度达到承受的极限后,马上使用与上一个旋律截然对立的另一个旋律来打破上一个旋律,从而使听众从某一个感情的高点跌落下来,获得强烈的解脱感。
相关新闻:
相关专题:
<button style="border:2px solid #background-color:#margin-right:10" onclick='javascript:var _title=document.var _url=document.location.if( document.all ) {var _text=_title+" - "+ _clipboardData.setData("Text",_text);this.innerHTML="已经复制成功,请用 Ctrl+V 粘贴";}'>复制本文地址推荐给朋友
收藏这篇文章}

我要回帖

更多关于 拇指玩开发者平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信