罗嗦社 ● the Lost Sheep

 Life is short, to be a poser!
文章 - 261,收藏 - , 评论 - 50, trackbacks - 2

导航

公告



点击此处给我发送即时消息


Creative Commons License
除注明出处者以外,本站作品均系原创,并使用
Creative Commons License(姓名标示-非商业性) 2.0。
您不得使用本站作品从事商业行为。
在转载本站作品或使用本站作品进行再创作时,您必须保留原作者姓名标示。

文章

收藏

    相册

      我的链接

      存档


      正在读取评论……

      一、引文

       

      略 

       

      二、设计要求

       

      1.任务框架需要贯穿玩家全部游戏过程,具有可成长性及难度阶梯;

      2.在任务框架内,基本任务需要具备可重复执行性,但非机械重复;

      3.在任务框架内,基本任务要体现出一定的随机性。以较少的工作量投入,实现尽可能丰富的内容量;

      4.基本任务尽可能限制于NK,物品收集,交谈等传统模式上。同时进行深度挖掘,同时兼顾资源消耗和玩家交互;

      5.对任务框架系统的程序需求及可行性评判作出一定描述;

      6.从可执行的角度,制作一些具备通用性的任务模版。

       

       

      二、概念描述

       

      1、  任务体系

      整个任务体系的概念接近于拼图:将任务框架作为负荷游戏剧情的容器,用若干个

      存在承接关系的随机基本任务来填充它。当然,由于随机性要素的存在,系统的复杂度要远高于拼图。例如,在同为“复仇”的由三个基本任务组成的任务框架中,玩家甲为NPC1提供了4个物品A,从而得知仇家对象为NPC2,杀死NPC2后任务框架结束,而玩家乙则按照NPC3的要求杀死了8只怪物B,从而得知与NPC4交谈可能获得线索,与NPC4交谈后发现此事为一个阴谋,NPC4即为仇家,杀死NPC4后任务框架结束。在上面这个例子里,虽然两位玩家选择了同样的任务框架(剧情背景),却随机出了两种截然不同的情况。同理,在例子中出现的NPC名称,物品种类,怪物种类,甚至基本模式的种类也都是随机产生的。

      任务框架的结构与基本任务间的承接关系,允许玩家在预设的若干种方案中进行选

      择,从而提供一定的系统自由度。例如,玩家角色在新手村生成后,提示“你既不知自己是谁,亦不明白为何会出现在此地”,玩家角色可以自由选择去发现“我是谁”,亦或选择去发现“我要做什么”。“我是谁”引导出“国仇”和“家恨”两个分支,“我要做什么”则引导出“暗杀”和“保护”两个分支。以上提供了四种预设方案,玩家进行选择即确立了角色的第一个任务框架,同时决定基本任务的承接关系。同理,在任务框架的关键性节点中亦可以提供若干种方案,在玩家选择的基础上,进一步确立下一步的承接任务或分支。

          此外,作为任务系统的增益补充,设置契约系统,允许玩家以一定条件交换,将某个基本任务交由其他玩家完成。例如,玩家甲通过名为“佣兵工会”的设施,发布名为“杀死NPC1或“取得8个物品A”,酬金为1虚拟币的请求,玩家乙接受该请求并完成后,获得酬金,玩家甲则获得完成任务必须的条件。契约系统的必要性与可行性将在下文予以具体说明。

      通过以上方式,游戏提供给玩家可在一定范围内定制的任务内容,同时将玩家间交互限制在基于玩家意愿与角色能力的范围内,实现兼具单机、联网两种特性的游戏体验,将网络游戏的“内容提供”予以纯粹化。

       

      2、  任务框架

      前面述及,任务框架是作为负荷游戏剧情的容器而存在着,其概念类似于玩家角色的一段人生:角色的背景,从何而来,为何而战,为何而去。由于填充用的基本任务结构简单且随机性极强,因此任务框架实际上只为剧情走向起到定性作用,并且只对框架内任务的起始点、终点及关键性节点的基本任务起约束作用。以前例来说,由三个基本任务组成的名为“复仇”的任务框架里,框架只约束以下要素:

      A.        玩家角色在完成该框架时,是以复仇作为剧情主线;

      B.        框架的起始NPC,即第一个基本任务Q1)的起始NPC,必然将在对话中交待清楚玩家角色复仇的背景,即为何而复仇;

      C.        在关键性节点任务Q2)中,基于玩家选择,决定剧情走向:整个复仇行为是抽丝剥茧发现真凶,或是受人操纵的圈套。同理,在框架结构多于一点关键性节点时亦然;

      D.       框架的终结NPC,即最后一个基本任务Q3)的终结NPC,必然终结整个框架,并且在对话中针对剧情中未解开的谜团释疑,并可能引用之前关键性节点任务所涉及的地点、NPC或物品;

      E.        在框架结构大于三个基本任务时,关键性节点QN1)之前的任务,必然将其结果引导至QN1)的起始NPC,最后一个基本任务QN2)亦然;

      F.        框架可能需要对框架内的基本任务类型范围和难度作出约束。

      除上述内容以外,位于起始点、关键性节点、终结点之间的其它基本任务,其随机

      性不受框架约束,亦可说仅作为环节存在,不与剧情发生联系。而在各基本任务中出现

      NPC角色ID,其随机性亦不受框架约束,包括起始点、关键性节点、终结点任务中

      的关键性NPC角色。

        基于关键性节点的框架控制,将有利于对框架内容进行控制。如根据任务脚本需要,

      增加关键性节点以加强故事性,或减少节点降低任务难度,或在某个阶段设置关键性节

      点强制扭转剧情走向等。

        此外,每达成一个任务框架,都将进一步确定玩家角色的虚拟关系网,如玩家所属

      阵营、玩家门派、玩家声望及针对某个NPC角色的好感度等。虚拟关系网的作用及说

      明参见下文。

      为避免框架内容无限膨胀,在设计时应注意以一个目标为框架的终结。同一玩家等级水平的若干个平行任务框架,以框架目标的实现难度及大致消耗时间作为衡量其对等关系的标准(对于标准的说明参见下文)。而这些平等任务框架,共同组成一个玩家任务阶段。不同的玩家任务阶段,形成明显的难度阶梯。

      整个游戏任务系统以足够基数,并可持续扩充的任务阶段(即平行任务框架的集)组成。在游戏需要制作资料片或后续版本时,任务系统只需提供更高难度的任务框架,并将新制作完成的NPC角色、物品资料等扩充进入随机任务生成池即可。

      原则上,玩家角色只允许接受一个任务阶段里平行发生的任务框架之一。在完成该框架后,根据完成结果,角色能力,虚拟关系网确定接合的若干个备选框架,基于玩家意愿进行选择。由于玩家无法获取任务框架结束的提示信息,因此,在玩家角度看来,所有任务应属于无缝接合。

       

      3、  基本任务元素

      将基本任务予以元素化,是实现随机生成池的必要条件。简单来说,随机任务生成池类似于一个庞大的数据库,储存着游戏所有涉及到任务或可能被任务使用到的要素,如NPC角色、物品等。任务生成时依据框架或前个基本任务赋予的限制,由服务器端抽取出符合条件的若干个元素集,并组合生成随机的基本任务。例如,框架要求某个基本任务提供“杀死N个等级为2025,且位于江南地区的怪物,并与位于华北某城市的,好感度为100以上的商人NPC对话完成任务”的要求,则服务器端从数据库中抽取所有匹配的对象,最终生成“杀死8个位于杭州野外的毒蜂,与北平府的道具商人吴三对话”的基本任务。

      由于基本任务的结构简单,其完成模式也已确定在一定范围内,因此可以较轻松地将其予以拆分,细分成组成一个完整基本任务所需的全部元素。值得注意的是,一个基本任务的生成,可能并不需要出现由下面列出的全部元素决定。

      A.        任务类型

      ü         杀死N1N2个等级为L1L2,位于区域A的随机怪物;

      ü         获取N1N2个等级为L1L2的物品;

      ü         携带物品X与随机NPC对话;

      ü         护送随机NPC到达区域A

      ü         与随机NPC的好感度达到N

      ü         加入某个阵营;

      ü         玩家角色学习门派A的技能S1,并达到等级L1

      ü         玩家角色声望达到R1

      ü         其它可能的任务类型。

      B.        起始NPC属性

      ü         所在位置等级需要;

      ü         所在位置距离;

      ü         所在阵营;

      ü         起始好感度;

      ü         目标好感度;

      ü         是否被强制为特定NPC

      ü         是否强制交待框架剧情;

      ü         其它可能的属性。

      C.        终结NPC属性

      ü         所在位置等级需要;

      ü         所在位置距离;

      ü         所在阵营;

      ü         是否被强制为特定NPC

      ü         是否强制交待框架剧情;

      ü         等级范围;

      ü         职业;

      ü         技能;

      ü         其它可能的属性。

      D.       物品属性

      ü         物品等级;

      ü         物品数量;

      ü         DROP物品NPC所在位置距离;

      ü         DROP物品NPC等级范围;

      ü         DROP物品NPC阵营;

      ü         物品DROP率;

      ü         物品由何种何等级的生活技能生成;

      ü         其它可能的属性。

      E.        区域属性

      ü         区域等级需要;

      ü         区域阵营;

      ü         区域野怪NPC等级;

      ü         区域距离;

      ü         其它可能的属性。

      F.        剧情战斗NPC属性

      ü         所在位置等级需要;

      ü         所在位置距离;

      ü         等级范围;

      ü         职业;

      ü         技能;

      ü         数量;

      ü         NPC DROP物品种类;

      ü         NPC DROP率;

      ü         其它可能的属性。

       

      4、  基本任务

      前面述及,填充任务框架的全部基本任务都是由服务器端抽取所有符合条件的任务

      元素,并随机组合而成。但是,由于框架本身所能提供的剧情深度有限,各基本任务间

      的联系又不宜过于生硬或牵强。因此,一些基本任务也必须负荷提供部分剧情的功能,

      即曾经提到过的关键性节点任务。

        根据剧情脚本需要,在关键性节点任务的类型选择上也有所限制。这里所说的任务

      类型与任务元素一节中的任务类型不同,不是指完成任务的步骤集合,而是指情节类型,

      在名为“复活”的框架中,必然要求某个关键性节点任务提供“深冤大白”或类似的情

      节。而任务的情节类型,最终将体现为NPC对话。因此,还需设定专用的模式化对话

      脚本,并在脚本中针对节点之前或之后需要引用的任务元素留白,其格式类似于“没错,当初我就是贪图了%I,才会设下连环计,将%P除掉!”

      此外,基本任务的触发和衔接,还将受到其它约束,试列举如下:

      A.当前任务框架对任务模式的限制;

      B.玩家角色必须完成某个任务框架;

      C.玩家角色必须位于某个阵营;

      D.玩家角色与起始NPC好感度达到一定值;

      E.玩家角色必须达到的等级;

      F.玩家角色必须加入的门派;

      G.玩家角色必须掌握的技能及技能等级;

      H.关键性节点任务的其它特定发生条件;

      I.关键性节点任务的其它特定终结条件;

      J.必须参与关键性节点任务的特定NPC

      K.必须参与关键性节点任务的特定物品;

      L.其它可能的限制。

       

      5、  虚拟关系网

      之所以在游戏系统中引入NPC好感度与阵营的概念,是出于随机任务系统剧情略

      显单薄,增加对立冲突的考虑。同时,由于阵营的存在,玩家在选择任务框架时,会受

      到范围的限制,达成“并非所有人都能完成所有任务”的设计目的。不同玩家的随机任

      务派生已经达到了足够的系统自由度,而框架间的衔接机制将进一步加深玩家对于“我

      的人生由我的行为决定”的感觉,满足其个性化需求。

      可以想见的是,每当玩家完成一个任务框架,其虚拟关系网将更为明确,选择范围相对初期将变窄。因此,在任务框架设计及之后可能的内容扩充中,应注意使其衔接尽可能向明晰、合理的单一方向发展。虽然网络游戏不存在绝对的终点,但就阶段性而言,则应尽可能使玩家对于其角色的“人生”有相对清楚的了解。

      此外,为避免可能的,由于虚拟关系造成的任务死锁情况发生,除了上面在任务元素中特意列出的好感度过滤条件外,还应提供增进NPC好感度的派生任务和功能,例打探NPC兴趣,送礼功能等。举例说,玩家了解到可能于NPC A处接到下一个框架任务,但与NPC A交谈后发现其态度冷淡且无法触发,在与该地区其它无关NPC交谈后了解到NPC A嗜好吃鱼,在选择赠送NPC A四个由钓鱼技能获得的武昌鱼后,NPC A好感度上升为100,可以触发任务。类似这样的设计,也可以同时达到增进“探索与发现”乐趣的效果。

       

      6、  契约系统

      契约系统作为任务框架系统的补充,其必要性如下:

      A.在出现剧情需要的好感度任务死锁时,提供费效比较高的可行解决方案。仍然以“复仇”框架为例,玩家角色为了获得真凶的线索选择加入某个阵营,然而最终发现真凶竟然就是己方阵营中的重要人物,如果选择自己复仇,则不可避免出现被阵营除名的情况,于是玩家选择于“佣兵工会”发布“杀死NPC A,酬金100金币”的要求,要求被完成后,玩家以相对较小的代价结束任务。这样,在不发生矛盾行为的情况,又保证了剧情冲突的可行性空间;

      B.在生成池产生不当难度的随机任务,或出现无法预计的错误时,提供可能的解决方案。例如,由于不可知的程序BUG,造成13级玩家接到了杀死33NPC的随机任务,此时,由于契约系统的存在,玩家将视其为剧情需要而选择契约完成;

      C.促进玩家角色间交互,特别是战斗技能与生活技能的交互。例如,玩家角色职业为火系法师,因此在任务需要杀死水系法师时,玩家选择通过契约系统邀请其他职业玩家组队完成。再如,玩家角色在任务需要提供四块铁锭而又不具备冶炼技能时,亦可通过契约系统,邀请其他玩家为自己加工铁矿石;

      D.在既往的游戏中,玩家间的交互关系较为松散,缺乏约束,互信力较低。引入契约系统后,交互关系被显性化且被系统承认和保护,在一方违反契约时,系统将予以惩罚。例如,玩家A接受了玩家B杀死某NPC的要求,则其必须在规定时限内完成该契约,否则在接受契约时交纳的保证金将被系统没收。推而广之,游戏中任何性质的玩家交互,如组队、结拜(婚姻)、交换、战斗等,都可将其归入契约系统,由于非本篇讨论范围,就不冗述了;

      E.设定契约完成需要双方提供相当于契约金额一定比率的保证金和契约手续费,随着游戏进程的加深,将可有效回收流通货币,作为控制通货膨胀的辅助手段;

      F.最后,也是最关键的一点,由于契约系统是基于双方玩家共同意愿发生的交互,因此,玩家可以自行控制交互的深度。如果玩家单纯钟情于游戏性本身,则可以选择不使用此系统,游戏提供丰富的任务框架,其深度已经足够满足其需要。

      一般来说,契约系统的流程大致如下:玩家角色进入佣兵工会,在请求界面中选择某个基本任务,设定契约酬金和时间约束,提交契约请求。服务器端将请求处理成由任务要素ID组成的数组,并予以解释和发布,同时预扣除酬金金额。其它玩家角色可以在工作界面中获得该请求信息,如对于条件表示满意,则提交接受请求。服务器端则自动为该玩家生成任务,同时扣除保证金。在规定期限内完成任务情况下,服务器端以醒目信息提示双方契约完成,扣除契约手续费后,请求方获得任务完成提示或物品,接受方获得酬金和保证金。在规定期限内未完成任务时,双方亦将获得服务器端醒目提示,返还请求方酬金,同时罚没接受方的保证金。

      服务器端应针对基本任务的难度(各任务要素难度合计)设定对应的最低价格标准,以防止玩家间私相授受。

      系统允许多人同时接受同个契约,并于工作界面给予接受人数量的醒目提示。在此种情况下,第一个在规定时限内完成契约的玩家获得酬金,其他玩家不视为违背契约,全额返还保证金。

       

      7、  无限挑战系统

      无限挑战系统是任务系统的最后补充功能,其概念类似于《鬼武者》的“魔空空间”,

      即在特定条件下将玩家角色移置于一个有限层次的封闭地图内,玩家需要逐层NK,逐

      层深入,直至最后层完成并获得奖励。

        在本方案中,无限挑战系统是于特定(或随机)NPC处触发,接受后进入有限层

      次的封闭地图,以NK方式完成挑战后获得奖励并触发下一个难度的无限挑战任务,失

      败即退出封闭地图并可再闪挑战。随无限挑战难度增加,奖励价值成非线性上升。

        同一难度的无限挑战不可重复完成,成功后即激活下一难度。

        无限挑战系统仅作为任务框架内容无法满足玩家需要时的补充方案存在。当然,亦

      可将其作为技能习得和等级提升的必要手段。

       

       

      四、程序需求及难点

       

      1、  程序需求

      程序制作方面主要的工作量集中在逻辑模块的代码方面。

      任务框架、虚拟关系网的数据建议以结构进行处理,而基本任务与奖励的生成则建立专门的生成池。

      当玩家角色从NPC处触发任务生成机制的时候,根据在任务框架所属的域和玩家与NPC的关系属性约束下随机生成一个基本任务于玩家,然后根据该任务完成时的传递数据来分配框架的下一个任务。任务可传递的数据包括且不限于,“该基本任务的结束NPC为下个任务的起始NPC”,或“判断剩余N个任务时进入关键性节点任务”等。

      具体的实现方案建议使用脚本解决。包括任务的逻辑,判断任务是否完成,以及分配下一个任务。而脚本的名称则作为任务类型的ID

      具体的实现过程需要考虑程序其它模块的接口等,本文不多做冗述。

       

      2、  实现难点

      实现难度集中在多元化任务的数据组织,及合理、智能化随机分配的算法设计上。具体难点包括且不限于:

      A。制作方便使用的任务类型编辑器;

      B。人物数据量大,加重了数据库负担和网络流量,必须提供一个完善的解决方案;

      C。虚拟关系网涉及到一个不可预计深度的图搜索。所以必须对这个图的大小作限制。程序部门必须提供一个限制标准供策划部门参考;

      D.由于虚拟关系网属于成长型结果,开始时不可预计,因此在调试上比较困难。需要在程序开发初期就考虑到成熟的调试和监控手段;

      E.数据库访问方面,上述应用将涉及到大量的数据随机访问,所以在数据库设计方面应事先考虑到。

       

       

      五、任务模板范例

       

      模板名称:    复仇

      基本任务数量:  9

      关键性节点数量: 1

      关键性节点位置: NO5

      基本任务类型限制:NK、收集物品类

      起始阵营:    无

      起始好感度:     

      基本任务传递数据:NEXT起始NPC,关键性节点距离

      补充说明:    新手村任务

      NPC生成:    全部随机(以%NPCid及编号表示)

       

      任务NO1

      NPC位置:新手村

      NPC阵营:无

      NPC等级:LV1

      触发方式:对话触发

       

      %NPCid1:年轻人,你终于醒来了?

      %NPCid1:什么?你完全不记得自己是谁了吗?

      %NPCid1:嗯,看来你得问问%NPCLocate2%NPCid2。是他把你从山里的野狗嘴下救出来的,也许他有关于你身份的线索。

       

      %NPCid2:抱歉,我只个普通%NPCjob,恐怕帮不了你。等等,这是我发现你时你手里紧紧抓住的一块破布,你看看能不能记起什么?

       

      ITEM书信:%PLAYERid吾爱,自你离家已有数月,甚念。吾爱,你走后家中不甚太平,出门常见陌生人影逡巡。初疑为小贼窥探,然财物皆完好。前日你同僚%NPCid3过来,问起此事,%NPCgender3说可能与你此行的“秘密任务”有关,并嘱我如有大变发生,可向%NPCLocate4%NPCid4求助。我甚忧之。吾爱,唯愿你平安归来,一家大小安康。

       

      任务NO2

      NPC位置:太原城

      NPC阵营:锦衣卫

      NPC等级:LV10

      触发方式:物品触发

      传递数据:距离关键性节点2个任务,%NPCid4

       

      任务NO3

      传递数据:距离关键性节点1个任务,%NPCid4

       

      任务NO4

      传递数据:下一个为关键性节点,%NPCid4

       

      任务NO5

      NPC位置:%NPCLocate4

      NPC等级:%NPCLevel4

      触发方式:预定义触发

       

      %NPCid4%PLAYERid,天幸你安然无恙!孩子,委屈你了。

      %NPCid4:怎么,孩子,以前的事你全忘了?好吧,你想知道什么,让我来告诉你。

      %PLAYERidA。我什么都不想知道!你告诉我,我的家人下落何方,他们怎么样了!

            B。我执行的究竟是什么样的秘密任务,为什么我的家人会卷入进来?

      %NPCid4A。混帐,身为“狙影”组织的一员,你应该早有牺牲一切的觉悟!更何况我们的对手是权倾朝野的%NPCid5!就是因为你这种软弱的个性,首领才会下令我断了你的退路!

             (战斗)

             B。罢罢罢,事到如今就全告诉你吧。三个月前收到细作报告,%NPCid5

      暗中与辽人勾结,意欲对我朝不利。组织密令你前去调查,谁知我们还

      是低估了他们的力量,累得你家人遇此横祸!

        

        %NPCid4:该知道的你已经知道了,其余的事你多知道无益,或者% NPCid6了解更多,看你的运数吧。我时日无多,就让我安静的死去吧,

       

        任务NO6  

      传递数据:距离终结点2个任务,%NPCid5

       

      任务NO7  

      传递数据:距离终结点1个任务,%NPCid5

       

      任务NO8  

      传递数据:下一个为终结点,%NPCid5

       

      任务NO9

      NPC位置:%NPCLocate4

      NPC等级:%NPCLevel4

      NPC阵营:辽人

      触发方式:预定义触发

       

      A分支

      %NPCid5:没错,我是勾结辽人,既然证据已经被你们拿到,我早就有一死的准备。可是你们为了所谓的正义,居然滥杀无辜,连自己人的家室也不放过。这样的正人君子,与我何异,哈哈哈哈!

      (战斗)

      B分支

      %NPCid5:辽人国事日盛,侵吞我朝只是旦夕之事,为了千千万万百姓少受些战火之苦,我一人承担罪名又有何不可!怎样,要不要弃暗投明,加入我这一方?

      (战斗)

       

        框架结束

         

       

       

       

       

       



      Trackback: http://tb.donews.net/TrackBack.aspx?PostId=485289


      [点击此处收藏本文]  发表于2005年07月28日 4:26 PM




      正在读取评论……

      发表评论

      大名
      网址
      验证码
      评论