GameRes游资网

 找回密码
 立即注册
查看: 8689|回复: 5

[技术交流]通用型buff机制在实战中的运用

[复制链接]
发表于 2015-8-15 01:07:19 | 显示全部楼层 |阅读模式
  在知乎上发了一下这个buff机制,似乎还受到了一定程度的关注,于是我想还是应该把一些Buff机制在这些年中的提高,用一种实际运用的手段来再发一帖。其实这套buff机制是非常灵活的,使用它的时候有几个Key:

1,Buff在同一款游戏中并非只能有一套

  我们通常理解的buff,就是游戏中的角色,在战斗的时候影响战斗的一些状态。最早我思考这套buff机制的确也是为了解决这个问题,但是随着时间的推进,经历实战的项目越来越多,这套机制的使用已经有了很大的拓展——同一个游戏并非只能有一套buff机制。我下面简单举一个例子。假设游戏(这个游戏现实中也许并不存在,只是为了举例我临时拍脑袋想的)有3个核心模式:

  1)养成模式下菜单操作,类似《侠客风云传》逍遥谷中那样,玩家选择一个方案,消费一些体力然后播放一段动画,产生养成效果。但是玩家养成的不是一个角色,是一个小队,里面有战士、法师、盗贼等等好多职业。

  2)副本模式是大富翁模式,确切的说是小时候投骰子走棋的模式(先到终点的获胜的那种,飞行棋也算),玩家需要先组织好一个4人小队(当然是从自己培养的角色中选择),然后开始下副本。

  3)战斗模式,标准的ATB战斗模式(刀塔传奇嘛,你懂得)。

  在这3个模式下,都会有Buff,但是他们是不同类型的buff:

  1)养成模式下的buff是挂靠在玩家身上的,我随便总结几个buff回调点,包括:开始养成指令前、完成养成指令后。那么我们可以做的是什么?开始养成前,某buff的效果是“有一定几率使得本次养成指令不消耗任何体力”;完成养成后,某buff的效果是“如果本次养成的内容是修炼魔法,则获得的熟练度翻倍”。光这两个回调点,你就可以开脑洞去想很多buff。

  2)副本模式下,已然是挂在玩家身上的,回调点可以是:开始投骰子前,开始投骰子后,遭遇其他角色时。其实还能有很多,但我举例就说这3个:开始投骰子前,可以有“本次骰子结果一定是6”(你也许想到了让你做一个大富翁你怎么做了吧);投骰子完成后可以有”恢复所有角色生命值相当于骰子点数的10倍”;遇到其他角色时可以有“不发生战斗,而是将其他角色直接移动到起点”(飞行棋打回老家)。

  3)战斗模式下,每个buff却是挂在每个角色身上的(你当然也可以允许玩家身上还挂着影响战斗的buff),回调点包括:Tick时(ATB模式的每个Tick)、角色行动前、角色攻击命中、角色被攻击命中、角色被击毙、角色行动后等等回调点,这里就是通常最常用的了,不详细举例了。

  你可以看到,就这么一个游戏,其实已经用到了“3套不同的buff”,所以buff机制,并不是简简单单的解决游戏(甚至有人认为只有游戏的战斗)中角色的状态问题的,他更像是一个游戏的神经中枢。

2,Buff机制并非只能在ARPG中使用

  其实上面的例子已经说明了,他并不是只能用在ARPG中,因为上面的例子并不是一个ARPG游戏(我说的是传奇类的,因为最早我想到要设计这个是在Dota类游戏下,所以和ARPG是差不多的)。只要你回调点思考到位,那么完全可以用在其他游戏中,几个简单例子:1)在动作游戏(包括飞行射击游戏中):

  动作切换时:动作游戏中角色切换动作的时候,由A切换到B,我们可以利用它设计“连续出拳导致攻击力不断递增”(根据参数判断那些动作属于“出拳”);“受到伤害时一定几率获得额外怒气”(切换到受伤动作)。

  碰触时:包括子弹或者自身攻击的矩形碰触的时候,都可以有一个回调点,对于动作游戏来说,可以设计“命中时一定几率恢复生命”,对于飞机游戏来说,可以设计“导弹命中时散开成子母弹”。

  生命值变化时、怒气变化时等等:只要你能合理的想出有必要设计的效果,就可以去添加,但是一个原则就是“如果你一拍脑袋想不出游戏中2个利用点,那就不要这个回调点”。

  2)在桌面类游戏中(就拿炉石传说来举例):

  牌放到桌面时(落子):一切战吼效果皆是如此。

  卡牌移除(死亡)时:一切亡语效果。

  攻击命中时、被攻击命中时、每个回合(替换玩家时):这些就和回合制游戏是一样的。

  3)在体育类游戏中,相比动作游戏可以根据规则还能另设一些回调,例如足球游戏:

  得到球的时候:可以设计“得球的时候速度提高”,用以2过1很强的角色,如足球小将的立花兄弟。

  传球的时候:可以设计“传出的球被断率下降”,在处理断球的运算中,降低对方的抢断能力(fifa中的Tackle)

  同样的,球也可以有buff,和球员不同的buff:带刺(让碰球的受伤)、沉重(重量加大以至于感觉变化,变得像篮球一样了)

  其实buff机制之所以是一个思路,而不是一段具体的代码,正是因为这套思路可以巧妙的运用在任何类型的游戏当中,而未必是死板的一种类型的游戏甚至只是一个系统中。

3,现实生活中也有buff机制的落脚点

  如果一个策划想学习怎么样总结好回调点,那就要从生活中的各个细节出发,去观察和分析,抽象出各种事情的回调点,或者说可利用的回调点,但是并不是所有的回调点都是合适的,举个简单的例子。一次去饭店吃饭(已经通过手机预定好了):

  1)车停好了,下车:这两个点需要buff回调吗?理论上来说可以给出,但是毫无意义,因为这当中并没有发生什么,你的心情是否愉快,愉快给一个buff?那么给一个什么buff呢?你会多付钱么?不会。那么会发生什么呢?有一定几率捡到钱?那应该交给AOE机制不是吗?所以这里并不需要buff回调点,并不是说这个点不好,而是你运用不到,徒增这个点只是降低程序效率而已。

  2)接下来你开始吃饭了:和走路一样,你都可以设计buff回调点,但是你必须注意这个设计是否有意义,比如吃饭的时候有几率噎到(每3秒有一次10%几率噎到),走路有可能会摔倒。

  3)吃饭的每一口(相当于一个回合):可以有一个回调点,并且判断吃的东西,不同的东西会带来不同的buff,让吃饭这个过程看起来是一个更有趣的游戏,整个吃饭提高饱食度的同时提高欢快度,目标是在饱食度满的时候欢快度尽可能地高。因此每次吃一口东西,都可以给一个buff,用来记录当时的状态,同时由这些buff来工作控制你的心情,比如:前一口吃的是果汁、后一口吃牛奶,心情就会下降,甚至会导致腹泻(对于吃饭而言就是昏迷了);再比如:喝酒会增加醉酒buff层数,到达一定层数你会开始每隔一定时间随机乱说话,最后会导致昏迷。

  4)吃完饭以后还是有一个回调:但是正巧吃完后你要买单,没有一件事情在吃完后直到买单前会有很重大的区别,所以你可以把吃完和买单做同一个回调,寻找一个最合适的时间点来调。买单的时候,如果价格(传进来的参数)超过一定数额,可能获得一次抽奖,这是buff;买完单后,服务员给你一个票据,这也是个buff,这个票据在你开车离开饭店的时候有效,会被门卫吞噬掉,并且免除你的停车费。

  只要你能总结和思考,就能轻易的想到怎么去利用好这个Buff机制(或者说是思路)设计好你的游戏,思路要活跃,同时也要冷静判断,并不是每一个看似合适的回调点都有必要。至于是否需要、需要哪些,这就是策划要去设定的东西,当然既然策划设定了,那就没必要去争论,因为需要策划设定的东西一定是有争议的东西,没有争议的东西就不会需要设定,所以一旦策划设定了,道理上过得去(的确是合理的点,的确也有不少的用处)那就去执行就好。

发表于 2015-8-15 15:30:58 | 显示全部楼层
本帖最后由 herosone 于 2015-8-16 13:22 编辑

BUFF本质是角色附带的,
我方周围伤害的BUFF,是我这个角色附带的。
敌人受燃烧伤害的BUFF,是敌人附带的。
地板每X秒输出一次的BUFF,是地板附带的。
河流降低燃烧效果的BUFF。是河流附带的。
角色不一定就是人控制的,也可以是中立角色或者中立物品。
在做游戏的时候,角色就是能和玩家交互的东西。
例如提示未完成任务不能通过这里的角色,就是个隐形的框。
现在只是把角色换成可以人物可以走上去而已。(简单地说假如是动作游戏就是判定框)
发表于 2015-8-16 14:01:43 | 显示全部楼层
楼主说的回调点,到底是指什么?
发表于 2015-8-16 22:19:42 | 显示全部楼层

楼主说的回调点,到底是指什么?
+1
发表于 2015-8-17 11:53:56 | 显示全部楼层
这说的是脚本机制,并且可以用并不代表最适合。

回调点就是在这个点加入一些逻辑

点评

是的,这个解释了之前2层的提问,而且也强调了我的观点:怎么用好这个机制还是需要策划设计的,所以这套东西目前还不是最后成型的代码。  发表于 2015-8-17 12:07
发表于 2017-9-18 10:59:45 | 显示全部楼层
楼主,支持你呦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|稿件投递|广告合作|关于本站|GameRes游资网 ( 闽ICP备05005107-1 )

GMT+8, 2018-8-20 17:09

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